libkmid Library API Documentation

MidiMapper Class Reference

A Midi Mapper class which defines the way MIDI events are translated (or "mapped") to different ones. Midi Mapper. More...

#include <midimapper.h>

List of all members.

Public Member Functions

 MidiMapper (const char *name)
 Constructor.

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

const char * filename (void)
 Returns the path and name of the file which the object loaded the mapper from.


Detailed Description

A Midi Mapper class which defines the way MIDI events are translated (or "mapped") to different ones. Midi Mapper.

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

Version:
0.9.5 17/01/2000
Author:
Antonio Larrosa Jimenez <larrosa@kde.org>

Definition at line 58 of file midimapper.h.


Constructor & Destructor Documentation

MidiMapper::MidiMapper const char *  name  ) 
 

Constructor.

Loads a MIDI Mapper definition from a file.

See also:
filename()

Definition at line 34 of file midimapper.cc.

References loadFile(), and KStdAccel::name().

MidiMapper::~MidiMapper  ) 
 

Destructor.

Definition at line 56 of file midimapper.cc.


Member Function Documentation

void MidiMapper::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).

Definition at line 143 of file midimapper.cc.

References KStdAccel::name().

Referenced by MidiMapper().

int MidiMapper::ok void   )  [inline]
 

Returns the status of the object.

Definition at line 171 of file midimapper.h.

uchar MidiMapper::channel uchar  chn  )  [inline]
 

Returns the channel which chn should be mapped to.

Definition at line 176 of file midimapper.h.

Referenced by SynthOut::chnController(), MidiOut::chnController(), AlsaOut::chnController(), SynthOut::chnPatchChange(), MidiOut::chnPatchChange(), AlsaOut::chnPatchChange(), SynthOut::chnPitchBender(), MidiOut::chnPitchBender(), AlsaOut::chnPitchBender(), SynthOut::chnPressure(), MidiOut::chnPressure(), AlsaOut::chnPressure(), SynthOut::keyPressure(), MidiOut::keyPressure(), AlsaOut::keyPressure(), SynthOut::noteOff(), MidiOut::noteOff(), AlsaOut::noteOff(), SynthOut::noteOn(), MidiOut::noteOn(), and AlsaOut::noteOn().

uchar MidiMapper::patch uchar  chn,
uchar  pgm
 

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

Definition at line 431 of file midimapper.cc.

Referenced by SynthOut::chnPatchChange(), MidiOut::chnPatchChange(), GUSOut::chnPatchChange(), FMOut::chnPatchChange(), AlsaOut::chnPatchChange(), GUSOut::noteOn(), and FMOut::noteOn().

uchar MidiMapper::key uchar  chn,
uchar  pgm,
uchar  note
 

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

Definition at line 423 of file midimapper.cc.

Referenced by SynthOut::keyPressure(), MidiOut::keyPressure(), AlsaOut::keyPressure(), SynthOut::noteOff(), MidiOut::noteOff(), AlsaOut::noteOff(), SynthOut::noteOn(), MidiOut::noteOn(), and AlsaOut::noteOn().

void MidiMapper::pitchBender uchar  chn,
uchar lsb,
uchar msb
 

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

Definition at line 437 of file midimapper.cc.

Referenced by MidiOut::chnPitchBender(), and AlsaOut::chnPitchBender().

void MidiMapper::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.

Definition at line 453 of file midimapper.cc.

Referenced by MidiOut::chnController(), and AlsaOut::chnController().

const char * MidiMapper::filename void   ) 
 

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

Definition at line 418 of file midimapper.cc.

Referenced by MidiOut::midiMapFilename().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.4.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Sun Feb 27 22:16:00 2005 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001