--- np2/sound/vermouth/vermouth.h 2005/03/18 09:23:11 1.4 +++ np2/sound/vermouth/vermouth.h 2006/12/10 11:14:31 1.5 @@ -2,6 +2,14 @@ #ifndef __VERMOUTH_H #define __VERMOUTH_H +#ifndef VERMOUTH_EXPORTS +#define VEXTERN +#define VEXPORT +#else +#define VEXTERN __declspec(dllexport) +#define VEXPORT WINAPI +#endif + typedef struct { UINT samprate; } *MIDIMOD; @@ -11,27 +19,39 @@ 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(OEMCHAR *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 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_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 }