class MidiMapper

# class MidiMapper | Midi Mapper. More...
Definition | `#include <midimapper.h>`
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- MidiMapper (const char *name)
- ~MidiMapper ()
- void loadFile (const char *name)
- int ok (void)
- uchar channel (uchar chn)
- uchar patch (uchar chn,uchar pgm)
- uchar key (uchar chn,uchar pgm, uchar note)
- void pitchBender (uchar chn,uchar &lsb,uchar &msb)
- void controller (uchar chn,uchar &ctl,uchar &v)
- const char * filename (void)

## 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.

- Version: 0.9.5 17/01/2000
- Author: Antonio Larrosa Jimenez
- Generated: root on macppc.ports.openbsd.org on Sat Sep 6 10:38:06 2003, using kdoc 2.0a54.