--- np2/sound/vermouth/vermouth.h 2003/10/16 17:58:09 1.1.1.1 +++ np2/sound/vermouth/vermouth.h 2006/12/16 12:11:07 1.6 @@ -1,4 +1,19 @@ +#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; @@ -8,27 +23,45 @@ typedef struct { UINT worksize; } *MIDIHDL; +typedef struct { + void *userdata; + UINT totaltones; + UINT progress; + UINT bank; + UINT num; +} MIDIOUTLAEXPARAM; +typedef int (*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); - -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 module, 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 void VEXPORT midimod_loadallex(MIDIMOD hdl, FNMIDIOUTLAEXCB cb, void *userdata); #ifdef __cplusplus } #endif +#endif +