gusout.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
00025 #ifndef _GUSOUT_H
00026 #define _GUSOUT_H
00027
00028 #include <libkmid/midiout.h>
00029 #include <libkmid/voiceman.h>
00030
00045 class GUSOut : public MidiOut
00046 {
00047 private:
00048 class GUSOutPrivate;
00049 GUSOutPrivate *di;
00050
00051 int patchloaded[256];
00052 int nvoices;
00053
00054 int use8bit;
00055 VoiceManager *vm;
00056
00057 int totalmemory;
00058 int freememory;
00059
00060
00061 void patchesLoadingOrder(int *patchesused,int *patchesordered);
00062 char *patchName(int pgm);
00063
00064 public:
00068 GUSOut(int d=0,int total =12);
00069
00073 ~GUSOut();
00074
00078 virtual void openDev (int sqfd);
00079
00083 virtual void closeDev (void);
00084
00088 virtual void initDev (void);
00089
00093 virtual void noteOn ( uchar chn, uchar note, uchar vel );
00094
00098 virtual void noteOff ( uchar chn, uchar note, uchar vel );
00099
00103 virtual void keyPressure ( uchar chn, uchar note, uchar vel );
00104
00108 virtual void chnPatchChange ( uchar chn, uchar patch );
00109
00113 virtual void chnPressure ( uchar chn, uchar vel );
00114
00118 virtual void chnPitchBender ( uchar chn, uchar lsb, uchar msb );
00119
00123 virtual void chnController ( uchar chn, uchar ctl , uchar v );
00124
00129 virtual void sysex ( uchar *data,ulong size);
00130
00140 void setPatchesToUse(int *patchesused);
00141
00152 int loadPatch (int pgm);
00153
00162 int patch(int p);
00163
00164 private:
00165 static const char *GUS_patches_directory;
00166 static int delete_GUS_patches_directory;
00167
00168 public:
00176 static void setGUSPatchesDirectory(const char *dir);
00177
00178 };
00179
00180 #endif
This file is part of the documentation for kdelibs Version 3.1.5.