Help - Search - Members - Calendar
Full Version: Concerning: foo_midi
Hydrogenaudio Forums > Hosted Forums > foobar2000 > 3rd Party Plugins - (fb2k)
Fiend Angelical
Right, I've downloaded foo_midi from Kode54's page, and it states that I need "a GM-compatible DXi, such as Edirol Sound Canvas DXi or Hyper Canvas."

I've searched for these, and found they were retail products.

What are is a sound canvas/GM-compatible DXi and is there a free equivalent?
Lyx
a "DXi!" is a Direct-X Software-Synthesizer

So, basically Sofware-MIDI through Direct-X.

- Lyx
Zurman
Why do we need a "Dxi" to make this plugin work with foobar while nothing is needed with the in_midi plugin for Winamp? And where can a Dxi be found?
ep0ch
Yeah, any reason why the plugin doesn't appear to work with the standard Midi devices e.g. the Microsoft Software Synthesizer that's the default on everyone's windows installation?
Garf
There's no way to get the output of those in the audio processing pipeline - DSP's, ReplayGain, sample-accurate seeking and whatever else would not work. You could just as well use Winamp without those features wink.gif
ep0ch
OK, so were can i find a compatible plugin for foo_midi?
Fiend Angelical
QUOTE(Garf @ May 5 2004, 05:20 AM)
There's no way to get the output of those in the audio processing pipeline  - DSP's, ReplayGain, sample-accurate seeking and whatever else would not work. You could just as well use Winamp without those features wink.gif

I don't mind having not having those snazzy features for .midi's. I just want to play them on my favourite audio player, 'tis all.
foosion
QUOTE(Fiend Angelical @ May 5 2004, 06:21 PM)
I don't mind having not having those snazzy features for .midi's. I just want to play them on my favourite audio player, 'tis all.

Unfortunately for you, your favorite player requires proper input plugins to support those features to fit in with the rest of the architecture. This is unlikely to change.
Fiend Angelical
Beh, so there won't be a free midi plugin for foo_midi in the near future..

A question: I stumbled across this thing while searching for "DXI MIDI" in google.

http://www.directxfiles.com/developers.htm < Would this be what I need?
bluenet
I want to know why not VSTi? Many people said that VSTi is better than DXi.
kode54
For one, VSTi does not support System Exclusive messages. Actually, it was because I already had experience using DXi synthesizers and found an example host in the SDK.

I have never actually used any VSTi host sequencers. Plus, the idea of having to install the same plug-in in multiple directories, or guess which common directory the user has their plug-ins installed in would be a minor pain.
Zurman
Kode54 please explain me how to make this plugin work. What exactley must I download (or buy) ?? dry.gif
ep0ch
QUOTE
Kode54 please explain me how to make this plugin work. What exactley must I download (or buy) ??


I second this.
kode54
For now, you must acquire a proper DXi synthesizer. Either Virtual Sound Canvas DXi, or Hyper Canvas. As far as I know, only the former supports GS MIDI, including SysEx messages for activating multiple drum channels.

I decided not to support the synthesizer properties dialog just yet, as each instance of the synthesizer would need its own dialog. I've also found that most of them don't remember preferences across sessions, unless I happen to support saving the performance data. I found that performance data is usually around 300KB, and includes a LOT of data specific to the synthesizer state for the current or most recently played sequence data, including current instruments, volume levels, reverb levels, (which can only be changed by standard SysEx with VSC DXi... damn you Hyper Canvas for not being GS.) possibly even lots of internal state variables such as the last used volume envelopes and whatnot. Too much song specific data to store just to remember a polyphony level higher than the default.

There's also the LiveSynth Pro DXi, but it has some annoying deficiencies:

1) It cannot load more than one SoundFont to each bank number. You cannot load a GM bank to bank 0 and then overlay a GS add-on bank starting at bank 0.
2) It cannot be configured to load a certain preset or bank at startup. It will always have to be reconfigured for every single instance. Modifying foo_midi to always keep one instance running and reset it between songs is too stupid for me to consider.

Maybe, with luck, someone will write a DXi interface into TiMidity++. That is, if TiMidity++ supports multiple instances in one process. Even though (I think I remember) it's C++, it might use static variables and such...

Writing a frontend to the TiMidity++ executable is not a good idea. For one, the process contains no mechanism for triggering a "clean" shutdown without modification, such as what zdoom requires. Terminating the task is probably not the cleanest way to shut it down.

Plus, each instance will then load its own copy of the current instrument bank. It will not be able to keep the bank resident for the session, with the option to unload it at any time. Start up, reload instrument bank, render until terminated, unload set, shut down. Every time.

I suppose the same problem of reloading exists for the current DXi's, but at least they share the instrument bank across instances. No, I am not modifying it to keep one instance running. Resetting it between songs would probably be flaky at best.
Adie
QUOTE(kode54 @ May 7 2004, 05:00 PM)
I decided not to support the synthesizer properties dialog just yet, as each instance of the synthesizer would need its own dialog.

When shall we expect config dialog support (even without saving)? How many synth instances are initialized during average foobar session?
kode54
One instance is created every time you play a file, and then destroyed when you stop. How do you like the idea of reconfiguring every time that happens? No, I do not like the idea of keeping one instance running the whole time and somehow resetting it properly and starting a new MIDI stream through the same graph.
vasya_pupkin
QUOTE(kode54 @ May 10 2004, 02:05 AM)
How do you like the idea of reconfiguring every time that happens?
*


I like this idea smile.gif So if there's no real dificulties in implementing command to popup configuration, it would be nice to have it. wink.gif
vasya_pupkin
I guess I found a bug.. When I try to load .rmi file, foobar says "Reaing info" and stops responding, taking all CPU power.

Also, it would be nice if .mid and .rmi extentions could be associated with foobar using foo_assoc.exe.
kode54
Please upload the problem file and I will fix it soon. As for DXi config, I have no intention of making a resident DXi instance. I may make a system for popping up the properties dialog on a fresh instance from configuration just for setting the defaults, but complain to the developers of those expensive plug-ins for not supporting a global system or per user default somewhere in the registry or under your user profile directory. Even in sequencer software, it has to be a rather a pain just to save an empty file with their plug-ins inside or save a huge performance data file on disk just to restore your basic defaults every time you start a new project.

LiveSynth Pro is the most annoying example because it doesn't load any preset on startup and probably doesn't support performance data to store presets either. The only option is to manually load a preset every time you start an instance, so forget about ReplayGain scanning your files while you play them.
vasya_pupkin
QUOTE(kode54 @ Sep 26 2004, 07:08 AM)
Please upload the problem file and I will fix it soon.
*

It happens to me with any midi file with RIFF header (*.rmi). I'll upload it later, when I'll be at home again smile.gif

QUOTE
As for DXi config, I have no intention of making a resident DXi instance.

I know it smile.gif All I wanted is just some config dialog popping up every time a new song loads, so I'd be able to adjust volumes of each instrument. Of course this should be configured, coz not everyone would be happy with such dialog popping up every time smile.gif

PS: Maybe I don't understand something.. I'm sorry, if so..
R2D2
Kode54: Couldn't you include a button for the dxi's settings dialog?

I have got a midi out vsti (you never told us that the plugin handles vsti), which basicly outputs the same as a plain midi plugin would. This means that the files would sound the same as in my midi composing program, and my software keyboard.
But when I enable it, it gives no sound, probloby because it isn't set up.
vasya_pupkin
Uploaded example RMI file. Here it is: fureli~1.rmi

Edit: Seems like it's fixed in new version. Thanks, Kode54 smile.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.