The Midi File Player is a CORBA server written in C. It uses OSS/Free for MIDI output and ORBit 0.5.x as the CORBA implementation.
First, test that your /dev/sequencer2 is working by enter the following commands:
cd /usr/src/doors-0.1.1/midifileplayer/src/doorsx/midifileplayer/server/adamlib make seq2test ./seq2test |
You should now hear a rising scale. Press CTRL-C to stop it.
If it's not working, look for help in the MIDI-HOWTO. I hope to add more help here later.
This an implementation of CORBA in C, which the Midi File Player uses to communicate with the Controller.
There is a bug in the Java VM, which returns an invalid CORBA header. I believe most versions of ORBit will hang at startup as described in this troubleshooting item. If this happens to you, then you must install a patched version of ORBit 0.5.12 as described below. |
Type 'locate orbit | grep bin' to see if you have ORBit already. If so, skip to installing cURL below, but be aware that the Midi File Player will probably hang on startup as described above. If you are successful, please tell me which versions of the Java VM (java -version) and ORBit (orbit-config --version) you have.
Install the patched version of ORBit 0.5.12 by entering the following commands:
cd /usr/src/ tar xfz /your/path/to/ORBit-0.5.12.tar.gz patch ORBit-0.5.12/src/IIOP/giop-msg-buffer.c /usr/src/doors-0.1.1.tar.gz/ORBit-0.5.12.patch cd ORBit-0.5.12/ ./configure make install |
Type 'locate curl | grep bin' to see if you have it already. If so, skip to installing the Midi File Player. Install cURL by entering the following commands:
cd /usr/src/ tar xfj /your/path/to/curl-7.9.1.tar.bz2 cd curl-7.9.1/ ./configure make install |
Install the Doors Midi File Player by entering the following commands:
cd /usr/src/doors-0.1.1/midifileplayer/src/doorsx/midifileplayer/server make dist cd /usr/src/doors-0.1.1/bin |
The Midi File Player reads a config file on startup to see which interfaces it's MIDI hardware implements. generalmidi.config is a default config file which everyone can use. Use one of the other config files, if you have one of these devices, or create your own by using eg. awe32.config as a template.
Run the Midi File Player by entering:
./midifileplayer.sh generalmidi.config |
You should see the following output:
Using config file generalmidi.config Searching for Controller... ...found Controller! Registering devices Ready... Type 'quit' to exit |
The Controller should output the following:
Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/PercussiveGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) Controller: registerDevice(hostname/MelodicGeneralMidiFilePlayer) |
Where hostname is the name of the machine the MIDI File Player was started on.
If you run into problems, look at the Troubleshooting section.