class MidiMapper

Midi Mapper. More...

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

Public Methods


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)

MidiMapper

Constructor. Loads a MIDI Mapper definition from a file.

See also: filename()

 ~MidiMapper ()

~MidiMapper

Destructor.

void  loadFile (const char *name)

loadFile

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

int  ok (void)

ok

Returns the status of the object.

uchar  channel (uchar chn)

channel

Returns the channel which chn should be mapped to.

uchar  patch (uchar chn,uchar pgm)

patch

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

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

key

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)

pitchBender

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

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

controller

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

const char * filename (void)

filename

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