fmout.h
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 _FMOUT_H
00025
#define _FMOUT_H
00026
00027
#include <libkmid/midiout.h>
00028
#include <libkmid/voiceman.h>
00029
00043 class FMOut :
public MidiOut
00044 {
00045
private:
00046
class FMOutPrivate;
00047 FMOutPrivate *di;
00048
00049
int patchloaded[256];
00053
int opl;
00054
int nvoices;
00055
00056 VoiceManager *vm;
00057
00058
void modifyPatch(
char *buf,
int key);
00059
void loadFMPatches (
void);
00060
00061
public:
00065
FMOut (
int d=0,
int total =12 );
00066
00070
~FMOut ();
00071
00075
virtual void openDev (
int sqfd );
00076
00080
virtual void closeDev (
void );
00081
00085
virtual void initDev (
void );
00086
00090
virtual void noteOn ( uchar chn, uchar note, uchar vel );
00091
00095
virtual void noteOff ( uchar chn, uchar note, uchar vel );
00096
00100
virtual void keyPressure ( uchar chn, uchar note, uchar vel );
00101
00105
virtual void chnPatchChange ( uchar chn, uchar
patch );
00106
00110
virtual void chnPressure ( uchar chn, uchar vel );
00111
00115
virtual void chnPitchBender ( uchar chn, uchar lsb, uchar msb );
00116
00120
virtual void chnController ( uchar chn, uchar ctl , uchar v );
00121
00126
virtual void sysex ( uchar *data,ulong size);
00127
00131
virtual void setVolumePercentage (
int i );
00132
00137
int patch(
int p);
00138
00139
private:
00140
static const char *FMPatchesDirectory;
00141
static int deleteFMPatchesDirectory;
00142
00143
public:
00151
static void setFMPatchesDirectory(
const char *dir);
00152
00153 };
00154
00155
#endif
This file is part of the documentation for libkmid Library Version 3.3.1.