| version 1.5, 2003/11/30 12:32:04 | version 1.15, 2011/02/04 01:59:32 | 
| Line 5 | Line 5 | 
 | #else | #else | 
 | #define MIDI_GMONLY | #define MIDI_GMONLY | 
 | #endif | #endif | 
 |  | #define ENABLE_GSRX | 
 |  | #define PANPOT_REVA | 
 |  | // #define      VOLUME_ACURVE | 
 |  | #define ENABLE_PORTB | 
 |  |  | 
 |  | #ifndef VERMOUTHCL | 
 |  | #define VERMOUTHCL | 
 |  | #endif | 
 |  |  | 
 | struct _midimodule; | struct _midimodule; | 
 | typedef struct _midimodule      _MIDIMOD; | typedef struct _midimodule      _MIDIMOD; | 
| Line 16  typedef struct _midictrl *MIDIHDL; | Line 24  typedef struct _midictrl *MIDIHDL; | 
 |  |  | 
 | enum { | enum { | 
 | MIDIOUT_SUCCESS         = 0, | MIDIOUT_SUCCESS         = 0, | 
| MIDIOUT_FAILURE         = -1 | MIDIOUT_FAILURE         = -1, | 
|  | MIDIOUT_ABORT           = -2 | 
 | }; | }; | 
 |  |  | 
 |  | #define CHANNEL_MAX             16 | 
 | #define VOICE_MAX               24 | #define VOICE_MAX               24 | 
 |  |  | 
 | #define SAMP_SHIFT              12 | #define SAMP_SHIFT              12 | 
| Line 49  enum { | Line 59  enum { | 
 | #define MIDI_BANKS      128 | #define MIDI_BANKS      128 | 
 | #endif | #endif | 
 |  |  | 
 |  |  | 
 | #include        "midimod.h" | #include        "midimod.h" | 
 | #include        "midinst.h" | #include        "midinst.h" | 
 | #include        "midvoice.h" | #include        "midvoice.h" | 
 | #include        "midtable.h" | #include        "midtable.h" | 
 |  |  | 
 |  |  | 
 | struct _midimodule { | struct _midimodule { | 
 | UINT            samprate; | UINT            samprate; | 
 |  | UINT            lockcount; | 
 | INSTRUMENT      *tone[MIDI_BANKS * 2]; | INSTRUMENT      *tone[MIDI_BANKS * 2]; | 
 | TONECFG         tonecfg[MIDI_BANKS * 2]; | TONECFG         tonecfg[MIDI_BANKS * 2]; | 
 |  |  | 
| Line 64  struct _midimodule { | Line 77  struct _midimodule { | 
 | LISTARRAY       namelist; | LISTARRAY       namelist; | 
 | }; | }; | 
 |  |  | 
 |  |  | 
 | struct _midictrl { | struct _midictrl { | 
 | UINT            samprate; | UINT            samprate; | 
 | UINT            worksize; | UINT            worksize; | 
 | int                     level; | int                     level; | 
| BYTE            status; | UINT8           status; | 
 | SINT8           gain; | SINT8           gain; | 
| BYTE            master; | UINT8           master; | 
|  | UINT8           moduleid; | 
 |  |  | 
 | MIDIMOD         module; | MIDIMOD         module; | 
 | INSTRUMENT      *bank0[2]; | INSTRUMENT      *bank0[2]; | 
| Line 79  struct _midictrl { | Line 92  struct _midictrl { | 
 | SINT32          *sampbuf; | SINT32          *sampbuf; | 
 | SAMPLE          resampbuf; | SAMPLE          resampbuf; | 
 |  |  | 
| _CHANNEL        channel[16]; | #if defined(ENABLE_PORTB) | 
|  | MIDIHDL         portb; | 
|  | #endif  // defined(ENABLE_PORTB); | 
|  |  | 
|  | _CHANNEL        channel[CHANNEL_MAX]; | 
 | _VOICE          voice[VOICE_MAX]; | _VOICE          voice[VOICE_MAX]; | 
 | }; | }; | 
 |  |  | 
| #ifndef VERMOUTH_OVL_EXPORTS | struct _miditoneloadparam { | 
| #define AEXTERN | void    *userdata; | 
| #define AEXPORT | UINT    totaltones; | 
|  | UINT    progress; | 
|  | UINT    bank; | 
|  | UINT    num; | 
|  | }; | 
|  |  | 
|  |  | 
|  | #ifndef VERMOUTH_EXPORTS | 
|  | #define VEXTERN | 
|  | #define VEXPORT         VERMOUTHCL | 
 | #else | #else | 
| #define AEXTERN         __declspec(dllexport) | #define VEXTERN         __declspec(dllexport) | 
| #define AEXPORT         WINAPI | #define VEXPORT         WINAPI | 
 | #endif | #endif | 
 |  |  | 
 | #ifdef __cplusplus | #ifdef __cplusplus | 
 | extern "C" { | extern "C" { | 
 | #endif | #endif | 
 |  |  | 
| AEXTERN UINT AEXPORT midiout_getver(char *string, int leng); | VEXTERN UINT VEXPORT midiout_getver(char *string, int leng); | 
|  | VEXTERN _MIDIHDL * VEXPORT midiout_create(MIDIMOD mod, UINT worksize); | 
| AEXTERN _MIDIMOD AEXPORT * midimod_create(UINT samprate); | VEXTERN void VEXPORT midiout_destroy(MIDIHDL hdl); | 
| AEXTERN void AEXPORT midimod_destroy(MIDIMOD hdl); | VEXTERN void VEXPORT midiout_shortmsg(MIDIHDL hdl, UINT32 msg); | 
| AEXTERN void AEXPORT midimod_loadprogram(MIDIMOD hdl, UINT num); | VEXTERN void VEXPORT midiout_longmsg(MIDIHDL hdl, const UINT8 *msg, UINT size); | 
| AEXTERN void AEXPORT midimod_loadrhythm(MIDIMOD hdl, UINT num); | VEXTERN const SINT32 * VEXPORT midiout_get(MIDIHDL hdl, UINT *samples); | 
| AEXTERN void AEXPORT midimod_loadgm(MIDIMOD hdl); | VEXTERN UINT VEXPORT midiout_get16(MIDIHDL hdl, SINT16 *pcm, UINT size); | 
| AEXTERN void AEXPORT midimod_loadall(MIDIMOD hdl); | VEXTERN UINT VEXPORT midiout_get32(MIDIHDL hdl, SINT32 *pcm, UINT size); | 
|  | VEXTERN void VEXPORT midiout_setgain(MIDIHDL hdl, int gain); | 
| AEXTERN _MIDIHDL AEXPORT * midiout_create(MIDIMOD module, UINT worksize); | VEXTERN void VEXPORT midiout_setmoduleid(MIDIHDL hdl, UINT8 moduleid); | 
| AEXTERN void AEXPORT midiout_destroy(MIDIHDL hdl); | VEXTERN void VEXPORT midiout_setportb(MIDIHDL hdl, MIDIHDL portb); | 
| AEXTERN void AEXPORT midiout_shortmsg(MIDIHDL hdl, UINT32 msg); |  | 
| AEXTERN void AEXPORT midiout_longmsg(MIDIHDL hdl, const BYTE *msg, UINT size); | VEXTERN _MIDIMOD * VEXPORT midimod_create(UINT samprate); | 
| AEXTERN const SINT32 AEXPORT * midiout_get(MIDIHDL hdl, UINT *samples); | VEXTERN void VEXPORT midimod_destroy(MIDIMOD mod); | 
| AEXTERN UINT AEXPORT midiout_get32(MIDIHDL hdl, SINT32 *pcm, UINT size); | VEXTERN BRESULT VEXPORT midimod_cfgload(MIDIMOD mod, const OEMCHAR *filename); | 
| AEXTERN void AEXPORT midiout_setgain(MIDIHDL hdl, int gain); | VEXTERN void VEXPORT midimod_loadprogram(MIDIMOD mod, UINT num); | 
|  | VEXTERN void VEXPORT midimod_loadrhythm(MIDIMOD mod, UINT num); | 
|  | VEXTERN void VEXPORT midimod_loadgm(MIDIMOD mod); | 
|  | VEXTERN void VEXPORT midimod_loadall(MIDIMOD mod); | 
|  | VEXTERN int VEXPORT midimod_loadallex(MIDIMOD mod, FNMIDIOUTLAEXCB cb, | 
|  | void *userdata); | 
 |  |  | 
 | #ifdef __cplusplus | #ifdef __cplusplus | 
 | } | } |