|
|
A Midi Mapper class which defines the way MIDI events are translated (or "mapped") to different ones. This way, when two MIDI devices "talk" in a somehow different way, they can still communicate.
When the user has an external keyboard that is not compatible with the General Midi standard, he can use a MIDI mapper file to play files as if the synthesizer was GM compatible.
Please see the KMid documentation ( http://www.arrakis.es/~rlarrosa/kmid.html ) for information on the format of a MIDI mapper definition file, and how they work.
I created this class because I had one of those non-GM keyboards, so it can do everything I needed it to do for my keyboard to work exactly as a GM synth, and a few more things. Currently, it's the most featured MIDI mapper available.
The usage of this class is quite simple, just create an object with a correct filename in the constructor and then use this object as parameter for DeviceManager::setMidiMap().
|
Constructor. Loads a MIDI Mapper definition from a file.
~ |
Destructor.
void |
Loads a MIDI Mapper definition file (you don't need to use this if you used a correct filename in constructor).
int |
Returns the status of the object.
uchar |
Returns the channel which chn should be mapped to.
uchar |
Returns the patch which pgm used on channel chn should be mapped to.
uchar |
Returns the key that key note playing a pgm patch on channel chn should be mapped to.
void |
Returns the value which the pitch bender on channel chn should be mapped to.
void |
Returns the value which a given controller and its value should be mapped to when played on channel chn.
char * |
Returns the path and name of the file which the object loaded the mapper from.