27 #include "deviceman.h"
34 extern int MT32toGM[128];
40 for (
int chn=0;chn<16;chn++)
43 chn_bender[chn]=0x4000;
44 chn_pressure[chn]=127;
46 chn_controller[chn][i]=0;
47 chn_controller[chn][CTL_MAIN_VOLUME]=127;
48 chn_controller[chn][11]=127;
49 chn_controller[chn][0x4a]=127;
50 chn_lastisvolumeev[chn]=1;
68 chn_pressure[chn]=vel;
73 chn_bender[chn]=((int)msb<<8|lsb);
78 if (ctl==7) chn_lastisvolumeev[chn]=1;
79 else if (ctl==11) chn_lastisvolumeev[chn]=0;
81 chn_controller[chn][ctl]=v;
91 for (
int chn=0;chn<16;chn++)
94 printf(
"Restoring channel %d\n",chn);
97 (gm==1)?(chn_patch[chn]):(MT32toGM[chn_patch[chn]]));
100 if (chn_lastisvolumeev[chn])
103 midi->
chnController(chn,CTL_MAIN_VOLUME,chn_controller[chn][CTL_MAIN_VOLUME]);
105 midi->
chnController(chn,CTL_MAIN_VOLUME,chn_controller[chn][CTL_MAIN_VOLUME]);