| version 1.1.1.1, 2003/10/16 17:58:10 | version 1.2, 2003/10/25 09:08:24 | 
| Line 2 | Line 2 | 
 | #include        "midiout.h" | #include        "midiout.h" | 
 |  |  | 
 |  |  | 
| #define MIDIOUT_VERSION         0x101 | #define MIDIOUT_VERSION         0x102 | 
| #define MIDIOUT_VERSTRING       "VERMOUTH 1.01" | #define MIDIOUT_VERSTRING       "VERMOUTH 1.02" | 
 |  |  | 
 |  |  | 
 | static const char vermouthver[] = MIDIOUT_VERSTRING; | static const char vermouthver[] = MIDIOUT_VERSTRING; | 
| Line 406  static void allnotesoff(MIDIHDL midi, CH | Line 406  static void allnotesoff(MIDIHDL midi, CH | 
 | v = midi->voice; | v = midi->voice; | 
 | vterm = v + VOICE_MAX; | vterm = v + VOICE_MAX; | 
 | do { | do { | 
 |  | #if 1 | 
 |  | if ((v->phase & (VOICE_ON | VOICE_SUSTAIN)) && (v->channel == ch)) { | 
 |  | voice_off(v); | 
 |  | } | 
 |  | #else | 
 | if ((v->phase & VOICE_ON) && (v->channel == ch)) { | if ((v->phase & VOICE_ON) && (v->channel == ch)) { | 
 | if (ch->flag & CHANNEL_SUSTAIN) { | if (ch->flag & CHANNEL_SUSTAIN) { | 
 | voice_setphase(v, VOICE_SUSTAIN); | voice_setphase(v, VOICE_SUSTAIN); | 
| Line 414  static void allnotesoff(MIDIHDL midi, CH | Line 419  static void allnotesoff(MIDIHDL midi, CH | 
 | voice_off(v); | voice_off(v); | 
 | } | } | 
 | } | } | 
 |  | #endif | 
 | v++; | v++; | 
 | } while(v < vterm); | } while(v < vterm); | 
 | } | } | 
| Line 647  MIDIHDL midiout_create(MIDIMOD module, U | Line 653  MIDIHDL midiout_create(MIDIMOD module, U | 
 | worksize = min(worksize, 512); | worksize = min(worksize, 512); | 
 | worksize = max(worksize, 16384); | worksize = max(worksize, 16384); | 
 | size = sizeof(_MIDIHDL); | size = sizeof(_MIDIHDL); | 
| size += sizeof(SINT32) * worksize; | size += sizeof(SINT32) * 2 * worksize; | 
 | size += sizeof(_SAMPLE) * worksize; | size += sizeof(_SAMPLE) * worksize; | 
 | ret = (MIDIHDL)_MALLOC(size, "MIDIHDL"); | ret = (MIDIHDL)_MALLOC(size, "MIDIHDL"); | 
 | if (ret) { | if (ret) { | 
| Line 659  MIDIHDL midiout_create(MIDIMOD module, U | Line 665  MIDIHDL midiout_create(MIDIMOD module, U | 
 | ret->bank0[0] = module->tone[0]; | ret->bank0[0] = module->tone[0]; | 
 | ret->bank0[1] = module->tone[1]; | ret->bank0[1] = module->tone[1]; | 
 | ret->sampbuf = (SINT32 *)(ret + 1); | ret->sampbuf = (SINT32 *)(ret + 1); | 
| ret->resampbuf = (SAMPLE)(ret->sampbuf + worksize); | ret->resampbuf = (SAMPLE)(ret->sampbuf + worksize * 2); | 
 | allresetmidi(ret); | allresetmidi(ret); | 
 | } | } | 
 | return(ret); | return(ret); |