|
|
| version 1.15, 2006/12/16 09:51:46 | version 1.16, 2006/12/16 12:11:07 |
|---|---|
| Line 2 | Line 2 |
| #include "midiout.h" | #include "midiout.h" |
| #define MIDIOUT_VERSION 0x115 | #define MIDIOUT_VERSION 0x116 |
| #define MIDIOUT_VERSTRING "VERMOUTH 1.15" | #define MIDIOUT_VERSTRING "VERMOUTH 1.16" |
| static const char vermouthver[] = MIDIOUT_VERSTRING; | static const char vermouthver[] = MIDIOUT_VERSTRING; |
| Line 15 static const int gaintbl[24+1] = | Line 15 static const int gaintbl[24+1] = |
| // ---- voice | // ---- voice |
| static void voice_volupdate(VOICE v) { | static void VERMOUTHCL voice_volupdate(VOICE v) { |
| CHANNEL ch; | CHANNEL ch; |
| int vol; | int vol; |
| Line 63 static void voice_volupdate(VOICE v) { | Line 63 static void voice_volupdate(VOICE v) { |
| #endif | #endif |
| } | } |
| static INSTLAYER selectlayer(VOICE v, INSTRUMENT inst) { | static INSTLAYER VERMOUTHCL selectlayer(VOICE v, INSTRUMENT inst) { |
| int layers; | int layers; |
| INSTLAYER layer; | INSTLAYER layer; |
| Line 110 static INSTLAYER selectlayer(VOICE v, IN | Line 110 static INSTLAYER selectlayer(VOICE v, IN |
| return(layersel); | return(layersel); |
| } | } |
| static void freq_update(VOICE v) { | static void VERMOUTHCL freq_update(VOICE v) { |
| CHANNEL ch; | CHANNEL ch; |
| float step; | float step; |
| Line 134 static void freq_update(VOICE v) { | Line 134 static void freq_update(VOICE v) { |
| v->sampstep = (int)step; | v->sampstep = (int)step; |
| } | } |
| static void voice_on(MIDIHDL midi, CHANNEL ch, VOICE v, int key, int vel) { | static void VERMOUTHCL voice_on(MIDIHDL midi, CHANNEL ch, VOICE v, int key, |
| int vel) { | |
| INSTRUMENT inst; | INSTRUMENT inst; |
| INSTLAYER layer; | INSTLAYER layer; |
| Line 255 static void voice_on(MIDIHDL midi, CHANN | Line 256 static void voice_on(MIDIHDL midi, CHANN |
| envelope_updates(v); | envelope_updates(v); |
| } | } |
| static void voice_off(VOICE v) { | static void VERMOUTHCL voice_off(VOICE v) { |
| voice_setphase(v, VOICE_OFF); | voice_setphase(v, VOICE_OFF); |
| if (v->sample->mode & MODE_ENVELOPE) { | if (v->sample->mode & MODE_ENVELOPE) { |
| Line 265 static void voice_off(VOICE v) { | Line 266 static void voice_off(VOICE v) { |
| } | } |
| } | } |
| static void allresetvoices(MIDIHDL midi) { | static void VERMOUTHCL allresetvoices(MIDIHDL midi) { |
| VOICE v; | VOICE v; |
| VOICE vterm; | VOICE vterm; |
| Line 281 static void allresetvoices(MIDIHDL midi) | Line 282 static void allresetvoices(MIDIHDL midi) |
| // ---- key | // ---- key |
| static void key_on(MIDIHDL midi, CHANNEL ch, int key, int vel) { | static void VERMOUTHCL key_on(MIDIHDL midi, CHANNEL ch, int key, int vel) { |
| VOICE v; | VOICE v; |
| VOICE v1; | VOICE v1; |
| Line 331 static void key_on(MIDIHDL midi, CHANNEL | Line 332 static void key_on(MIDIHDL midi, CHANNEL |
| } | } |
| } | } |
| static void key_off(MIDIHDL midi, CHANNEL ch, int key) { | static void VERMOUTHCL key_off(MIDIHDL midi, CHANNEL ch, int key) { |
| VOICE v; | VOICE v; |
| VOICE vterm; | VOICE vterm; |
| Line 353 static void key_off(MIDIHDL midi, CHANNE | Line 354 static void key_off(MIDIHDL midi, CHANNE |
| } while(v < vterm); | } while(v < vterm); |
| } | } |
| static void key_pressure(MIDIHDL midi, CHANNEL ch, int key, int vel) { | static void VERMOUTHCL key_pressure(MIDIHDL midi, CHANNEL ch, int key, |
| int vel) { | |
| VOICE v; | VOICE v; |
| VOICE vterm; | VOICE vterm; |
| Line 375 static void key_pressure(MIDIHDL midi, C | Line 377 static void key_pressure(MIDIHDL midi, C |
| // ---- control | // ---- control |
| static void volumeupdate(MIDIHDL midi, CHANNEL ch) { | static void VERMOUTHCL volumeupdate(MIDIHDL midi, CHANNEL ch) { |
| VOICE v; | VOICE v; |
| VOICE vterm; | VOICE vterm; |
| Line 396 static void volumeupdate(MIDIHDL midi, C | Line 398 static void volumeupdate(MIDIHDL midi, C |
| } while(v < vterm); | } while(v < vterm); |
| } | } |
| static void pedaloff(MIDIHDL midi, CHANNEL ch) { | static void VERMOUTHCL pedaloff(MIDIHDL midi, CHANNEL ch) { |
| VOICE v; | VOICE v; |
| VOICE vterm; | VOICE vterm; |
| Line 411 static void pedaloff(MIDIHDL midi, CHANN | Line 413 static void pedaloff(MIDIHDL midi, CHANN |
| } while(v < vterm); | } while(v < vterm); |
| } | } |
| static void allsoundsoff(MIDIHDL midi, CHANNEL ch) { | static void VERMOUTHCL allsoundsoff(MIDIHDL midi, CHANNEL ch) { |
| VOICE v; | VOICE v; |
| VOICE vterm; | VOICE vterm; |
| Line 427 static void allsoundsoff(MIDIHDL midi, C | Line 429 static void allsoundsoff(MIDIHDL midi, C |
| } while(v < vterm); | } while(v < vterm); |
| } | } |
| static void resetallcontrollers(CHANNEL ch) { | static void VERMOUTHCL resetallcontrollers(CHANNEL ch) { |
| ch->flag &= CHANNEL_MASK; | ch->flag &= CHANNEL_MASK; |
| if (ch->flag == 9) { | if (ch->flag == 9) { |
| Line 439 static void resetallcontrollers(CHANNEL | Line 441 static void resetallcontrollers(CHANNEL |
| ch->pitchfactor = 1.0; | ch->pitchfactor = 1.0; |
| } | } |
| static void allnotesoff(MIDIHDL midi, CHANNEL ch) { | static void VERMOUTHCL allnotesoff(MIDIHDL midi, CHANNEL ch) { |
| VOICE v; | VOICE v; |
| VOICE vterm; | VOICE vterm; |
| Line 465 static void allnotesoff(MIDIHDL midi, CH | Line 467 static void allnotesoff(MIDIHDL midi, CH |
| } while(v < vterm); | } while(v < vterm); |
| } | } |
| static void ctrlchange(MIDIHDL midi, CHANNEL ch, int ctrl, int val) { | static void VERMOUTHCL ctrlchange(MIDIHDL midi, CHANNEL ch, int ctrl, |
| int val) { | |
| val &= 0x7f; | val &= 0x7f; |
| switch(ctrl & 0x7f) { | switch(ctrl & 0x7f) { |
| Line 548 static void ctrlchange(MIDIHDL midi, CHA | Line 551 static void ctrlchange(MIDIHDL midi, CHA |
| } | } |
| } | } |
| static void progchange(MIDIHDL midi, CHANNEL ch, int val) { | static void VERMOUTHCL progchange(MIDIHDL midi, CHANNEL ch, int val) { |
| #if !defined(MIDI_GMONLY) | #if !defined(MIDI_GMONLY) |
| MIDIMOD module; | MIDIMOD module; |
| Line 583 static void progchange(MIDIHDL midi, CHA | Line 586 static void progchange(MIDIHDL midi, CHA |
| ch->program = val; | ch->program = val; |
| } | } |
| static void chpressure(MIDIHDL midi, CHANNEL ch, int vel) { | static void VERMOUTHCL chpressure(MIDIHDL midi, CHANNEL ch, int vel) { |
| VOICE v; | VOICE v; |
| VOICE vterm; | VOICE vterm; |
| Line 601 static void chpressure(MIDIHDL midi, CHA | Line 604 static void chpressure(MIDIHDL midi, CHA |
| } while(v < vterm); | } while(v < vterm); |
| } | } |
| static void pitchbendor(MIDIHDL midi, CHANNEL ch, int val1, int val2) { | static void VERMOUTHCL pitchbendor(MIDIHDL midi, CHANNEL ch, int val1, |
| int val2) { | |
| VOICE v; | VOICE v; |
| VOICE vterm; | VOICE vterm; |
| Line 630 static void pitchbendor(MIDIHDL midi, CH | Line 634 static void pitchbendor(MIDIHDL midi, CH |
| } | } |
| } | } |
| static void allvolupdate(MIDIHDL midi) { | static void VERMOUTHCL allvolupdate(MIDIHDL midi) { |
| int level; | int level; |
| CHANNEL ch; | CHANNEL ch; |
| Line 659 static void allvolupdate(MIDIHDL midi) { | Line 663 static void allvolupdate(MIDIHDL midi) { |
| } | } |
| #if defined(ENABLE_GSRX) | #if defined(ENABLE_GSRX) |
| static void allresetmidi(MIDIHDL midi, BOOL gs) | static void VERMOUTHCL allresetmidi(MIDIHDL midi, BOOL gs) |
| #else | #else |
| #define allresetmidi(m, g) _allresetmidi(m) | #define allresetmidi(m, g) _allresetmidi(m) |
| static void _allresetmidi(MIDIHDL midi) | static void VERMOUTHCL _allresetmidi(MIDIHDL midi) |
| #endif | #endif |
| { | { |
| CHANNEL ch; | CHANNEL ch; |
| Line 808 VEXTERN void VEXPORT midiout_shortmsg(MI | Line 812 VEXTERN void VEXPORT midiout_shortmsg(MI |
| } | } |
| } | } |
| static void longmsg_uni(MIDIHDL hdl, const UINT8 *msg, UINT size) { | static void VERMOUTHCL longmsg_uni(MIDIHDL hdl, const UINT8 *msg, UINT size) { |
| if ((size >= 6) && (msg[2] == 0x7f)) { | if ((size >= 6) && (msg[2] == 0x7f)) { |
| switch(msg[3]) { | switch(msg[3]) { |
| Line 822 static void longmsg_uni(MIDIHDL hdl, con | Line 826 static void longmsg_uni(MIDIHDL hdl, con |
| } | } |
| } | } |
| static void longmsg_gm(MIDIHDL hdl, const UINT8 *msg, UINT size) { | static void VERMOUTHCL longmsg_gm(MIDIHDL hdl, const UINT8 *msg, UINT size) { |
| if ((size >= 6) && (msg[2] == 0x7f)) { | if ((size >= 6) && (msg[2] == 0x7f)) { |
| switch(msg[3]) { | switch(msg[3]) { |
| Line 842 static void longmsg_gm(MIDIHDL hdl, cons | Line 846 static void longmsg_gm(MIDIHDL hdl, cons |
| } | } |
| } | } |
| static void rolandcmd4(MIDIHDL hdl, UINT addr, UINT8 data) { | static void VERMOUTHCL rolandcmd4(MIDIHDL hdl, UINT addr, UINT8 data) { |
| UINT part; | UINT part; |
| CHANNEL ch; | CHANNEL ch; |
| Line 998 static void rolandcmd4(MIDIHDL hdl, UINT | Line 1002 static void rolandcmd4(MIDIHDL hdl, UINT |
| } | } |
| } | } |
| static void longmsg_roland(MIDIHDL hdl, const UINT8 *msg, UINT size) { | static void VERMOUTHCL longmsg_roland(MIDIHDL hdl, const UINT8 *msg, |
| UINT size) { | |
| UINT addr; | UINT addr; |
| UINT8 data; | UINT8 data; |