--- np2/sound/vermouth/vermouth.h 2003/11/28 08:01:33 1.3 +++ np2/sound/vermouth/vermouth.h 2011/02/04 01:59:32 1.10 @@ -2,6 +2,18 @@ #ifndef __VERMOUTH_H #define __VERMOUTH_H +#ifndef VERMOUTHCL +#define VERMOUTHCL +#endif + +#ifndef VERMOUTH_EXPORTS +#define VEXTERN +#define VEXPORT VERMOUTHCL +#else +#define VEXTERN __declspec(dllexport) +#define VEXPORT WINAPI +#endif + typedef struct { UINT samprate; } *MIDIMOD; @@ -11,27 +23,41 @@ typedef struct { UINT worksize; } *MIDIHDL; +typedef struct { + void *userdata; + UINT totaltones; + UINT progress; + UINT bank; + UINT num; +} MIDIOUTLAEXPARAM; +typedef BRESULT (*FNMIDIOUTLAEXCB)(MIDIOUTLAEXPARAM *param); + #ifdef __cplusplus extern "C" { #endif -UINT midiout_getver(char *string, int leng); - -MIDIMOD midimod_create(UINT samprate); -void midimod_destroy(MIDIMOD hdl); -void midimod_loadprogram(MIDIMOD hdl, UINT num); -void midimod_loadrhythm(MIDIMOD hdl, UINT num); -void midimod_loadgm(MIDIMOD hdl); -void midimod_loadall(MIDIMOD hdl); - -MIDIHDL midiout_create(MIDIMOD module, UINT worksize); -void midiout_destroy(MIDIHDL hdl); -void midiout_shortmsg(MIDIHDL hdl, UINT32 msg); -void midiout_longmsg(MIDIHDL hdl, const void *msg, UINT size); -const SINT32 *midiout_get(MIDIHDL hdl, UINT *samples); -UINT midiout_get32(MIDIHDL hdl, SINT32 *pcm, UINT size); -void midiout_setgain(MIDIHDL hdl, int gain); +VEXTERN UINT VEXPORT midiout_getver(char *string, int leng); +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 void *msg, UINT size); +VEXTERN const SINT32 * VEXPORT midiout_get(MIDIHDL hdl, UINT *samples); +VEXTERN UINT VEXPORT midiout_get16(MIDIHDL hdl, SINT16 *pcm, UINT size); +VEXTERN UINT VEXPORT midiout_get32(MIDIHDL hdl, SINT32 *pcm, UINT size); +VEXTERN void VEXPORT midiout_setgain(MIDIHDL hdl, int gain); +VEXTERN void VEXPORT midiout_setmoduleid(MIDIHDL hdl, UINT8 moduleid); +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_destroy(MIDIMOD hdl); +VEXTERN BRESULT VEXPORT midimod_cfgload(MIDIMOD mod, const OEMCHAR *filename); +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 int VEXPORT midimod_loadallex(MIDIMOD hdl, FNMIDIOUTLAEXCB cb, void *userdata); #ifdef __cplusplus }