class MidiMapper

Midi Mapper. More...

Definition#include <midimapper.h>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Members


Detailed Description

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().

MidiMapper (const char *name)

Constructor. Loads a MIDI Mapper definition from a file.

See also: filename()

~MidiMapper ()

Destructor.

void loadFile (const char *name)

Loads a MIDI Mapper definition file (you don't need to use this if you used a correct filename in constructor).

int ok (void)

Returns the status of the object.

uchar channel (uchar chn)

Returns the channel which chn should be mapped to.

uchar patch (uchar chn,uchar pgm)

Returns the patch which pgm used on channel chn should be mapped to.

uchar key (uchar chn,uchar pgm, uchar note)

Returns the key that key note playing a pgm patch on channel chn should be mapped to.

void pitchBender (uchar chn,uchar &lsb,uchar &msb)

Returns the value which the pitch bender on channel chn should be mapped to.

void controller (uchar chn,uchar &ctl,uchar &v)

Returns the value which a given controller and its value should be mapped to when played on channel chn.

char * filename (void)

Returns the path and name of the file which the object loaded the mapper from.