00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00026
00027
00028 typedef int BOOL;
00029 #ifndef TRUE
00030 # define TRUE (1)
00031 #endif
00032 #ifndef FALSE
00033 # define FALSE (0)
00034 #endif
00035
00036 typedef struct {
00037 OPDS h;
00038 MYFLT *r;
00039 } REL;
00040
00041 typedef struct {
00042 OPDS h;
00043 MYFLT *extradur;
00044 } XTRADUR;
00045
00046 typedef struct {
00047 OPDS h;
00048 MYFLT *freq;
00049 MYFLT period, clock_tics;
00050 int beginning_flag;
00051 } MCLOCK;
00052
00053 typedef struct {
00054 OPDS h;
00055 MYFLT *message;
00056 } MRT;
00057
00058 typedef struct {
00059 OPDS h;
00060 MYFLT *ichn,*inum,*ivel;
00061 } OUT_ON;
00062
00063 typedef struct {
00064 OPDS h;
00065 MYFLT *ichn,*inum,*ivel,*idur;
00066 MYFLT istart_time;
00067 int chn, num, vel;
00068 BOOL fl_expired, fl_extra_dur;
00069 } OUT_ON_DUR;
00070
00071 typedef struct {
00072 OPDS h;
00073 MYFLT *kchn,*knum,*kvel,*kdur,*kpause;
00074 MYFLT istart_time;
00075 int last_chn, last_num, last_vel;
00076 MYFLT last_dur, last_pause;
00077 BOOL fl_note_expired, fl_first_note, fl_end_note;
00078 } MOSCIL;
00079
00080 typedef struct {
00081 OPDS h;
00082 MYFLT *kchn,*knum,*kvel;
00083 int last_chn, last_num, last_vel;
00084 BOOL fl_note_expired, fl_first_note;
00085 } KOUT_ON;
00086
00087 typedef struct {
00088 OPDS h;
00089 MYFLT *chn,*num, *value, *min, *max;
00090 int last_value;
00091 } OUT_CONTR;
00092
00093 typedef struct {
00094 OPDS h;
00095 MYFLT *chn, *msb_num, *lsb_num, *value, *min, *max;
00096 int last_value;
00097 } OUT_CONTR14;
00098
00099 typedef struct {
00100 OPDS h;
00101 MYFLT *chn, *value, *min, *max;
00102 int last_value;
00103 } OUT_PB;
00104
00105 typedef struct {
00106 OPDS h;
00107 MYFLT *chn, *value, *min, *max;
00108 int last_value;
00109 } OUT_ATOUCH;
00110
00111 typedef struct {
00112 OPDS h;
00113 MYFLT *chn, *prog_num, *min, *max;
00114 int last_prog_num;
00115 } OUT_PCHG;
00116
00117 typedef struct {
00118 OPDS h;
00119 MYFLT *chn, *num, *value, *min, *max;
00120 int last_value;
00121 } OUT_POLYATOUCH;
00122
00123 typedef struct {
00124 OPDS h;
00125 MYFLT *kchn,*knum,*kvel,*ktrig;
00126 int last_chn, last_num, last_vel;
00127 BOOL fl_note_expired;
00128 } KON2;
00129
00130 typedef struct {
00131 OPDS h;
00132 MYFLT *in_type, *in_chan, *in_dat1, *in_dat2;
00133 } MIDIOUT;
00134
00135 typedef struct {
00136 OPDS h;
00137 MYFLT *chan, *parm_num, *parm_value;
00138 int old_chan, old_parm, old_value;
00139 } NRPN;
00140
00141 typedef struct {
00142 unsigned char status;
00143 unsigned char dat1;
00144 unsigned char dat2;
00145 MYFLT delay;
00146 } DELTAB;
00147
00148 #define DELTAB_LENGTH 1000
00149
00150 typedef struct {
00151 OPDS h;
00152 MYFLT *in_status, *in_chan, *in_dat1, *in_dat2, *kdelay;
00153 unsigned char status[DELTAB_LENGTH];
00154 unsigned char chan[DELTAB_LENGTH];
00155 unsigned char dat1[DELTAB_LENGTH];
00156 unsigned char dat2[DELTAB_LENGTH];
00157 MYFLT time[DELTAB_LENGTH];
00158 unsigned int write_index, read_index;
00159 } MDELAY;