--- np2/sound/vermouth/midiout.h 2006/12/10 11:14:31 1.9 +++ np2/sound/vermouth/midiout.h 2011/02/04 01:59:32 1.15 @@ -10,6 +10,10 @@ // #define VOLUME_ACURVE #define ENABLE_PORTB +#ifndef VERMOUTHCL +#define VERMOUTHCL +#endif + struct _midimodule; typedef struct _midimodule _MIDIMOD; typedef struct _midimodule *MIDIMOD; @@ -24,6 +28,7 @@ enum { MIDIOUT_ABORT = -2 }; +#define CHANNEL_MAX 16 #define VOICE_MAX 24 #define SAMP_SHIFT 12 @@ -54,13 +59,16 @@ enum { #define MIDI_BANKS 128 #endif + #include "midimod.h" #include "midinst.h" #include "midvoice.h" #include "midtable.h" + struct _midimodule { UINT samprate; + UINT lockcount; INSTRUMENT *tone[MIDI_BANKS * 2]; TONECFG tonecfg[MIDI_BANKS * 2]; @@ -69,7 +77,6 @@ struct _midimodule { LISTARRAY namelist; }; - struct _midictrl { UINT samprate; UINT worksize; @@ -89,7 +96,7 @@ struct _midictrl { MIDIHDL portb; #endif // defined(ENABLE_PORTB); - _CHANNEL channel[16]; + _CHANNEL channel[CHANNEL_MAX]; _VOICE voice[VOICE_MAX]; }; @@ -100,12 +107,11 @@ struct _miditoneloadparam { UINT bank; UINT num; }; -typedef struct _miditoneloadparam MIDIOUTLAEXPARAM; -typedef int (*FNMIDIOUTLAEXCB)(MIDIOUTLAEXPARAM *param); + #ifndef VERMOUTH_EXPORTS #define VEXTERN -#define VEXPORT +#define VEXPORT VERMOUTHCL #else #define VEXTERN __declspec(dllexport) #define VEXPORT WINAPI @@ -116,7 +122,7 @@ extern "C" { #endif VEXTERN UINT VEXPORT midiout_getver(char *string, int leng); -VEXTERN _MIDIHDL * VEXPORT midiout_create(MIDIMOD module, UINT worksize); +VEXTERN _MIDIHDL * VEXPORT midiout_create(MIDIMOD mod, UINT worksize); VEXTERN void VEXPORT midiout_destroy(MIDIHDL hdl); VEXTERN void VEXPORT midiout_shortmsg(MIDIHDL hdl, UINT32 msg); VEXTERN void VEXPORT midiout_longmsg(MIDIHDL hdl, const UINT8 *msg, UINT size); @@ -128,12 +134,14 @@ VEXTERN void VEXPORT midiout_setmoduleid VEXTERN void VEXPORT midiout_setportb(MIDIHDL hdl, MIDIHDL portb); VEXTERN _MIDIMOD * VEXPORT midimod_create(UINT samprate); -VEXTERN void VEXPORT midimod_destroy(MIDIMOD hdl); -VEXTERN void VEXPORT midimod_loadprogram(MIDIMOD hdl, UINT num); -VEXTERN void VEXPORT midimod_loadrhythm(MIDIMOD hdl, UINT num); -VEXTERN void VEXPORT midimod_loadgm(MIDIMOD hdl); -VEXTERN void VEXPORT midimod_loadall(MIDIMOD hdl); -VEXTERN void VEXPORT midimod_loadallex(MIDIMOD hdl, FNMIDIOUTLAEXCB cb, void *userdata); +VEXTERN void VEXPORT midimod_destroy(MIDIMOD mod); +VEXTERN BRESULT VEXPORT midimod_cfgload(MIDIMOD mod, const OEMCHAR *filename); +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 }