00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef _MIDISTAT_H
00025
#define _MIDISTAT_H
00026
00027
#include <libkmid/dattypes.h>
00028
00040 class MidiStatus
00041 {
00042
private:
00043
class MidiStatusPrivate;
00044 MidiStatusPrivate *d;
00045
00046 ulong tempo;
00047
00048
unsigned char chn_patch [16];
00049
int chn_bender [16];
00050
unsigned char chn_pressure[16];
00051
unsigned char chn_controller[16][256];
00052
00053
int chn_lastisvolumeev[16];
00054
00055
public:
00059
MidiStatus();
00060
00064
~MidiStatus();
00065
00066
00067
00068
00069
00074
void keyPressure ( uchar chn, uchar note, uchar vel );
00075
00081
void chnPatchChange ( uchar chn, uchar patch );
00082
00086 uchar
chnPatch ( uchar chn ) {
return chn_patch[chn]; };
00087
00092
void chnPressure ( uchar chn, uchar vel );
00093
00097 uchar chnPressure ( uchar chn ) {
return chn_pressure[chn]; };
00098
00102
void chnPitchBender ( uchar chn, uchar lsb, uchar msb );
00103
00107 int chnPitchBender ( uchar chn) {
return chn_bender[chn]; };
00108
00112
void chnController ( uchar chn, uchar ctl , uchar v );
00113
00117 uchar chnController ( uchar chn, uchar ctl )
00118 {
return chn_controller[chn][ctl]; };
00119
00123
void sysex ( uchar *data, ulong size);
00124
00130
void tmrSetTempo (
int v );
00131
00132
00140
void sendData (
class DeviceManager *midi,
int gm=1 );
00141 };
00142
00143
#endif