#ifndef __SNDDLLentryPoint__H__ #define __SNDDLLentryPoint__H__ #include #include #ifdef __cplusplus extern "C" { #endif extern HMODULE SND_hWavModule; extern HMODULE SND_hCdModule; extern HMODULE SND_hMpegModule; extern HMODULE SND_hDbgModule; extern HMODULE SND_hAdpcmModule; extern HMODULE SND_hRecordModule; //-- Macros DeclarePointern(name,out,in1,in2...) // Déclare la macro qui permet de remplacer l'appel à la fonction name par // l'exploitation du pointeur de fonction homonyme. Cett macro // déclare un type de pointeur sur la fonction ainsi qu'une variable de ce type. // Type retourné par la fonction:out // Nombre de paramètres: N (types in1,in2....) FARPROC _GetProcAddress(HMODULE module,char* name); #define SND_DLL_GetProcAddress(function,module) \ if (module!=NULL) \ { \ SNDDLLpfn##function=(SNDDLLtdpfn##function)_GetProcAddress(module,cz##function); \ if (!SNDDLLpfn##function) \ SNDDLLpfn##function=Fake##function; \ } \ else \ SNDDLLpfn##function=Fake##function; #ifdef INCLUDE_FROM_SNDDLL_C #define SND_DeclarePointer0(FunctionName,ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(void); \ ret (WINAPI *SNDDLLpfn##FunctionName)(void)=NULL; \ ret WINAPI FunctionName(void) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(); \ } \ ret WINAPI Fake##FunctionName(void) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@0"; #define SND_DeclarePointer0_def(FunctionName,ret,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(void); \ ret (WINAPI *SNDDLLpfn##FunctionName)(void)=NULL; \ ret WINAPI FunctionName(void) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(); \ } \ ret WINAPI Fake##FunctionName(void) \ { \ ret fake=def_ret; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@0"; #define SND_DeclarePointer1(FunctionName,ret,typ1) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1)=NULL; \ ret WINAPI FunctionName(typ1 par1) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1); \ } \ ret WINAPI Fake##FunctionName(typ1 par1) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@4"; #define SND_DeclarePointer1_def(FunctionName,ret,typ1,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1)=NULL; \ ret WINAPI FunctionName(typ1 par1) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1); \ } \ ret WINAPI Fake##FunctionName(typ1 par1) \ { \ ret fake=def_ret; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@4"; #define SND_DeclarePointer2(FunctionName,ret,typ1,typ2) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return((*SNDDLLpfn##FunctionName)(par1,par2)); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@8"; #define SND_DeclarePointer2_def(FunctionName,ret,typ1,typ2,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return((*SNDDLLpfn##FunctionName)(par1,par2)); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2) \ { \ ret fake=(ret)def_ret; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@8"; #define SND_DeclarePointer3(FunctionName,ret,typ1,typ2,typ3) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@12"; #define SND_DeclarePointer3_def(FunctionName,ret,typ1,typ2,typ3,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ ret fake=def_ret; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@12"; #define SND_DeclarePointer4(FunctionName,ret,typ1,typ2,typ3,typ4) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@16"; #define SND_DeclarePointer4_def(FunctionName,ret,typ1,typ2,typ3,typ4,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ ret fake=def_ret; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@16"; #define SND_DeclarePointer5(FunctionName,ret,typ1,typ2,typ3,typ4,typ5) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5)\ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@20"; #define SND_DeclarePointer5_def(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5)\ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5) \ { \ ret fake=def_ret; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@20"; #define SND_DeclarePointer7(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,typ6,typ7) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5,par6,par7); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@28"; #define SND_DeclarePointer7_def(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,typ6,typ7,ret_def) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5,par6,par7); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \ { \ return ret_def; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@28"; #define SND_DeclarePointer_void0(FunctionName,ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(void); \ ret (WINAPI *SNDDLLpfn##FunctionName)(void)=NULL; \ ret WINAPI FunctionName(void) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(); \ } \ ret WINAPI Fake##FunctionName(void) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@0"; #define SND_DeclarePointer_void1(FunctionName,ret,typ1) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1)=NULL; \ ret WINAPI FunctionName(typ1 par1) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1); \ } \ ret WINAPI Fake##FunctionName(typ1 par1) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@4"; #define SND_DeclarePointer_void2(FunctionName,ret,typ1,typ2) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1,par2); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@8"; #define SND_DeclarePointer_void3(FunctionName,ret,typ1,typ2,typ3) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1,par2,par3); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@12"; #define SND_DeclarePointer_void4(FunctionName,ret,typ1,typ2,typ3,typ4) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@16"; #define SND_DeclarePointer_void5(FunctionName,ret,typ1,typ2,typ3,typ4,typ5) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5)\ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@20"; #define SND_DeclarePointer_void7(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,typ6,typ7) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5,par6,par7); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@28"; #else //INCLUDE_FROM_SNDDLL_C #define SND_DeclarePointer0(FunctionName,ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(void); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(void); \ extern ret WINAPI Fake##FunctionName(void); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(void); #define SND_DeclarePointer0_def(FunctionName,ret,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(void); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(void); \ extern ret WINAPI Fake##FunctionName(void); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(void); #define SND_DeclarePointer1(FunctionName,ret,typ1) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1); \ extern ret WINAPI Fake##FunctionName(typ1); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1); #define SND_DeclarePointer1_def(FunctionName,ret,typ1,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1); \ extern ret WINAPI Fake##FunctionName(typ1); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1); #define SND_DeclarePointer2(FunctionName,ret,typ1,typ2) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2); \ extern ret WINAPI Fake##FunctionName(typ1,typ2); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2); #define SND_DeclarePointer2_def(FunctionName,ret,typ1,typ2,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2); \ extern ret WINAPI Fake##FunctionName(typ1,typ2); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2); #define SND_DeclarePointer3(FunctionName,ret,typ1,typ2,typ3) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3); #define SND_DeclarePointer3_def(FunctionName,ret,typ1,typ2,typ3,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3); #define SND_DeclarePointer4(FunctionName,ret,typ1,typ2,typ3,typ4) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3,typ4); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3,typ4); #define SND_DeclarePointer4_def(FunctionName,ret,typ1,typ2,typ3,typ4,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3,typ4); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3,typ4); #define SND_DeclarePointer5(FunctionName,ret,typ1,typ2,typ3,typ4,typ5) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3,typ4,typ5); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3,typ4,typ5); #define SND_DeclarePointer5_def(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3,typ4,typ5); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3,typ4,typ5); #define SND_DeclarePointer7(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,typ6,typ7) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3,typ4,typ5,typ6,typ7); #define SND_DeclarePointer7_def(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,typ6,typ7,ret_def) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3,typ4,typ5,typ6,typ7); #define SND_DeclarePointer_void0(FunctionName,ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(void); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(void); \ extern ret WINAPI Fake##FunctionName(void); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(void); #define SND_DeclarePointer_void1(FunctionName,ret,typ1) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1); \ extern ret WINAPI Fake##FunctionName(typ1); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1); #define SND_DeclarePointer_void2(FunctionName,ret,typ1,typ2) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2); \ extern ret WINAPI Fake##FunctionName(typ1,typ2); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2); #define SND_DeclarePointer_void3(FunctionName,ret,typ1,typ2,typ3) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3); #define SND_DeclarePointer_void4(FunctionName,ret,typ1,typ2,typ3,typ4) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3,typ4); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3,typ4); #define SND_DeclarePointer_void5(FunctionName,ret,typ1,typ2,typ3,typ4,typ5) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ extern ret WINAPI Fake##FunctionName(typ1,typ2,typ3,typ4,typ5); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3,typ4,typ5); #define SND_DeclarePointer_void7(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,typ6,typ7) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ extern ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ ret WINAPI Fake##FunctionName(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ extern char cz##FunctionName##[]; \ ret WINAPI FunctionName(typ1,typ2,typ3,typ4,typ5,typ6,typ7); #endif //INCLUDE_FROM_SNDDLL_C #if defined(USE_STATIC_MODULE) /************************************************************************* ************************************************************************** Module static (exporté de la librairie statique) ************************************************************************** *************************************************************************/ /* HMODULEs */ SND_DeclarePointer0(SND_fn_vGetHModuleMpeg,HMODULE); SND_DeclarePointer0(SND_fn_vGetHModuleWav,HMODULE); SND_DeclarePointer0(SND_fn_vGetHModuleCd,HMODULE); SND_DeclarePointer0(SND_fn_vGetHModuleDbg,HMODULE); SND_DeclarePointer0(SND_fn_vGetHModuleAdpcm,HMODULE); SND_DeclarePointer0(SND_fn_vGetHModuleRecord,HMODULE); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Snderr.h DLL_IMPEXP void SND_fn_vDisplayError(unsigned short uwErrNum,char * message); DLL_IMPEXP int SND_fn_iErreurInit(int idErr); DLL_IMPEXP void _snd_assert(char* test,char* file,int line); DLL_IMPEXP int snd_erreur_init(int num_err); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #ifdef DEBUG_SON #define snd_assert(fct) if (!(fct)) _snd_assert(#fct, __FILE__, __LINE__) #else #define snd_assert(fct) #endif SND_DeclarePointer_void2(SND_fn_vDisplayError,void,unsigned short,char*); SND_DeclarePointer_void3(SND_fn_vDisplayErrorEx,void,unsigned short,char*,int); SND_DeclarePointer1(SND_fn_iErreurInit,int,int); SND_DeclarePointer_void3(_snd_assert,void,char*,char*,int); SND_DeclarePointer1(snd_erreur_init,int,int); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndmem.h DLL_IMPEXP CPA_EXPORT void SND_fn_vInitMallocSnd(); DLL_IMPEXP CPA_EXPORT void SND_fn_vDesInitMallocSnd(); DLL_IMPEXP CPA_EXPORT void* SND_fn_pvMallocSnd(unsigned long nb_octets); DLL_IMPEXP CPA_EXPORT void* SND_fn_pvReAllocSnd(void* ptr,unsigned long nb_octets); DLL_IMPEXP CPA_EXPORT void SND_fn_vFreeSnd(void* ptr); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer_void0(SND_fn_vInitMallocSnd,void); SND_DeclarePointer_void0(SND_fn_vDesInitMallocSnd,void); SND_DeclarePointer1(SND_fn_pvMallocSnd,void*,unsigned long); SND_DeclarePointer2(SND_fn_pvReAllocSnd,void*,void*,unsigned long); SND_DeclarePointer_void1(SND_fn_vFreeSnd,void,void*); SND_DeclarePointer2(SND_fn_pvMallocSndEx,void*,unsigned char,unsigned long); SND_DeclarePointer3(SND_fn_pvReAllocSndEx,void*,unsigned char,void*,unsigned long); SND_DeclarePointer_void2(SND_fn_vFreeSndEx,void,unsigned char,void*); SND_DeclarePointer_void2(SND_fn_vResizeMemoryBlockSnd,void,unsigned char,unsigned long); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndfile.h DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bLoadDataInMem(void* adr,unsigned long ulNbBytes,char* czFileName,unsigned long ulOffset); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bSetCurrentDirectory(char* czDir); DLL_IMPEXP CPA_EXPORT DWORD SND_fn_dwFileSndLength(tdhSndFile hSndFile); DLL_IMPEXP CPA_EXPORT DWORD SND_fn_dwWriteFileSnd(tdhSndFile hSndFile,DWORD dwNbBytes,void * ptr); DLL_IMPEXP CPA_EXPORT void SND_fn_vAddDataDirectory(char* czDir); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bGetOneDataDirectory(int id,char* czDir,int iMaxChar); DLL_IMPEXP CPA_EXPORT int SND_fn_iGetNumberOfDataDirectory(); DLL_IMPEXP CPA_EXPORT int SND_fn_iGetIdDataDirectory(char* szDir); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bIsDataDirectory(char* szDir); DLL_IMPEXP CPA_EXPORT void SND_fn_vResolveFileName(char* RelativeName,char* AbsoluteName); DLL_IMPEXP CPA_EXPORT DWORD SND_fn_dwReadFileSnd(tdhSndFile hSndFile,DWORD dwNbBytes,void * ptr); DLL_IMPEXP CPA_EXPORT DWORD SND_fn_dwSeekFileSnd(tdhSndFile hSndFile,DWORD dwOffset,DWORD dwOrigin); DLL_IMPEXP CPA_EXPORT tdhSndFile SND_fn_hOpenFileReadSnd(char * czFileName); DLL_IMPEXP CPA_EXPORT void SND_fn_vCloseFileSnd(tdhSndFile hSndFile); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer4(SND_fn_bLoadDataInMem,SndBool,void*,unsigned long,char*,unsigned long); SND_DeclarePointer5(SND_fn_bLoadDataInMemAndSwap,SndBool,void*,unsigned long,char*,unsigned long,SndBool); SND_DeclarePointer1(SND_fn_bSetCurrentDirectory,SndBool,char*); SND_DeclarePointer1(SND_fn_dwFileSndLength,unsigned long,tdhSndFile); SND_DeclarePointer3(SND_fn_dwWriteFileSnd,unsigned long,tdhSndFile,unsigned long,void*); SND_DeclarePointer_void1(SND_fn_vAddDataDirectory,void,const char*); SND_DeclarePointer_void1(SND_fn_vRemoveDataDirectory,void,const char*); SND_DeclarePointer_void0(SND_fn_vPurgeDataDirectory,void); SND_DeclarePointer3(SND_fn_bGetOneDataDirectory,SndBool,int,char*,int ); SND_DeclarePointer0(SND_fn_iGetNumberOfDataDirectory,int); SND_DeclarePointer1(SND_fn_iGetIdDataDirectory,int,const char*); SND_DeclarePointer1(SND_fn_bIsDataDirectory,SndBool,const char*); SND_DeclarePointer_void2(SND_fn_vResolveFileName,void,char*,char*); SND_DeclarePointer_void1(SND_fn_vSetSoftDirectory,void,char*); SND_DeclarePointer0_def(SND_fn_szGetSoftDirectory,char*,NULL); SND_DeclarePointer3(SND_fn_dwReadFileSnd,unsigned long,tdhSndFile,unsigned long,void*); SND_DeclarePointer3(SND_fn_dwSeekFileSnd,unsigned long,tdhSndFile,unsigned long,long); SND_DeclarePointer1(SND_fn_hOpenFileReadSnd,tdhSndFile,char*); SND_DeclarePointer_void1(SND_fn_vCloseFileSnd,void,tdhSndFile); //sndini SND_DeclarePointer0_def(SND_fn_bCanSetOptions,SndBool,FALSE); SND_DeclarePointer4_def(SND_fn_bGetOptions,SndBool,char* ,char* ,char* ,int ,FALSE); SND_DeclarePointer_void3(SND_fn_vSetOptions,void,char* ,char* ,char* ); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module sndldbin.h * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer0(SND_fn_iGetNumberOfBanks,int); SND_DeclarePointer1(SND_fn_iGetNumberOfEventInBank,int,int); SND_DeclarePointer0(SND_fn_bStartLoadBanks,SndBool); SND_DeclarePointer1(SND_fn_bStartLoadBanks2,SndBool,int); SND_DeclarePointer1(SND_fn_bInitBank,SndBool,int); SND_DeclarePointer2(SND_fn_bInitBank2,SndBool,int,int); SND_DeclarePointer0(SND_fn_bEndLoadBanks,SndBool); SND_DeclarePointer1(SND_fn_pGetBinEvent,SND_tdstBlockEvent*,unsigned long); SND_DeclarePointer1(SND_fn_pGetBinRes,tdstBlockResourceMem*,unsigned long); SND_DeclarePointer1(SND_fn_bLoadBinaryBank,SndBool,int); SND_DeclarePointer1(SND_fn_bUnLoadBinaryBank,SndBool,int); SND_DeclarePointer_void1(SND_fn_vInitBankSnd,void,char*); SND_DeclarePointer_void0(SND_fn_vDesInitBankSnd,void); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndspace.h DLL_IMPEXP unsigned char SND_fn_ucDistanceToVolume(SndReal dist); DLL_IMPEXP SndReal SND_fn_rDopplerPitch(SndVector *src_pos,SndVector *src_vit,SndVector *mic_pos,SndVector *mic_vit); DLL_IMPEXP unsigned char SND_fn_ucPositionToPan(SndVector *src,SndVector *mic,SndVector *mic_nor,SndVector *mic_tan); DLL_IMPEXP unsigned char SND_fn_ucPositionToDolby(SndVector *src,SndVector *mic,SndVector *mic_nor); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer1(SND_fn_ucDistanceToVolume,unsigned char,SndReal); SND_DeclarePointer2(SND_fn_ucDistanceToVolumeEx,unsigned char,SndReal,RollOffParam*); SND_DeclarePointer4(SND_fn_rDopplerPitch,SndReal,SndVector*,SndVector*,SndVector*,SndVector *); SND_DeclarePointer_void1(SND_fn_vSetDopplerFactor,void,SndReal ); SND_DeclarePointer0(SND_fn_rGetDopplerFactor,SndReal); SND_DeclarePointer4(SND_fn_ucPositionToPan,unsigned char,SndVector*,SndVector*,SndVector*,SndVector*); SND_DeclarePointer3(SND_fn_ucPositionToDolby,unsigned char,SndVector*,SndVector*,SndVector*); SND_DeclarePointer_void1(SND_fn_vSetDefaultRollOff,void,RollOffParam* ); SND_DeclarePointer_void1(SND_fn_vGetDefaultRollOff,void,RollOffParam* ); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndreal.h DLL_IMPEXP SndReal SND_fn_rMulRealRealSnd(SndReal r1,SndReal r2); DLL_IMPEXP SndReal SND_fn_rMulRealRealQuickSnd(SndReal r1,SndReal r2); DLL_IMPEXP SndReal SND_fn_rDivRealRealSnd(SndReal r1,SndReal r2); DLL_IMPEXP SndReal SND_fn_rSqrtRealSnd(SndReal r); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer2(SND_fn_rMulRealRealSnd,SndReal,SndReal,SndReal); SND_DeclarePointer2(SND_fn_rMulRealRealQuickSnd,SndReal,SndReal,SndReal); SND_DeclarePointer2(SND_fn_rDivRealRealSnd,SndReal,SndReal,SndReal); //SND_DeclarePointer1(SND_fn_rSqrtRealSnd,SndReal,SndReal); SND_DeclarePointer1(SND_fn_rAbsRealSnd,SndReal,SndReal); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndvect.h DLL_IMPEXP SndReal SND_fn_rNormeVectorSnd(SndVector *v); DLL_IMPEXP SndReal SND_fn_rPseudoNormeVectorSnd(SndVector *v); DLL_IMPEXP SndReal SND_fn_rScalaireVectorSnd(SndVector *v1,SndVector *v2); DLL_IMPEXP SndReal SND_fn_rPseudoScalaireNormeVectorSnd(SndVector *v1,SndVector *v2); DLL_IMPEXP void SND_fn_vProduitVectorSnd(SndVector *v1,SndVector *v2,SndVector *v); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer1(SND_fn_rNormeVectorSnd,SndReal,SndVector*); SND_DeclarePointer1(SND_fn_rPseudoNormeVectorSnd,SndReal,SndVector*); SND_DeclarePointer2(SND_fn_rScalaireVectorSnd,SndReal,SndVector*,SndVector*); SND_DeclarePointer2(SND_fn_rPseudoScalaireNormeVectorSnd,SndReal,SndVector*,SndVector*); SND_DeclarePointer_void3(SND_fn_vProduitVectorSnd,void,SndReal*,SndVector*,SndVector*); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndthrd.h DLL_IMPEXP void SND_fn_vInitThreadSnd(); DLL_IMPEXP void SND_fn_vDesInitThreadSnd(); DLL_IMPEXP void SND_fn_vEnterCriticalSectionThreadSnd_(); DLL_IMPEXP void SND_fn_vQuitCriticalSectionThreadSnd(); DLL_IMPEXP void SND_fn_vMouchardThreadsnd(char* file,int line); DLL_IMPEXP void SND_fn_vWaitForValueThreadSnd(long* ptr,long val); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer_void0(SND_fn_vInitThreadSnd,void); SND_DeclarePointer_void0(SND_fn_vDesInitThreadSnd,void); SND_DeclarePointer_void0(SND_fn_vEnterCriticalSectionThreadSnd_,void); SND_DeclarePointer_void0(SND_fn_vQuitCriticalSectionThreadSnd,void); SND_DeclarePointer_void2(SND_fn_vMouchardThreadsnd,void,char*,int); SND_DeclarePointer_void2(SND_fn_vWaitForValueThreadSnd,void,long*,long); //SND_DeclarePointer_void2(SND_fn_vStartCallbackThreadsnd,void,SND_td_pfn_vSoundCallback ,long ); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndtest.h BOOL SND_fn_bTestSnd_Pentium(void); BOOL SND_fn_bTestSnd_MMX(void); BOOL SND_fn_bTestSnd_WinMM(WAVEFORMATEX *format); BOOL SND_fn_bTestSnd_DX2D(void); BOOL SND_fn_bTestSnd_DX3D(void); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer0(SND_fn_bTestSnd_Pentium,BOOL); SND_DeclarePointer0(SND_fn_bTestSnd_MMX,BOOL); SND_DeclarePointer1(SND_fn_bTestSnd_WinMM,BOOL,WAVEFORMATEX*); SND_DeclarePointer0(SND_fn_bTestSnd_Win32,BOOL); SND_DeclarePointer0(SND_fn_bTestSnd_WinNT,BOOL); /************************************************************************* ************************************************************************** Module static pour DBG (exporté de la librairie statique uniquement pour SNDDBG.DLL) ************************************************************************** *************************************************************************/ //For SNDDBG SND_DeclarePointer2(dbgSND_fn_bGetAskedTheme,SndBool,tduRefRes*,SndBool*); SND_DeclarePointer3(dbgSND_fn_bGetThemePosition,SndBool,tduRefRes*,long* ,long* ); SND_DeclarePointer_void4(dbgSND_fn_vGetInfoForObjectSound,void,long ,long ,char* ,long ); SND_DeclarePointer1(dbgSND_fn_lGetSizeOfSoundParam,long,SoundParam* ); SND_DeclarePointer_void1(SND_fn_vSetResNameCallback,void,tdpfnResNameCallback); SND_DeclarePointer1(SND_fn_czGetResNameFromEdId,const char*,unsigned long); SND_DeclarePointer2_def(dbgSND_fn_bSetResourceStaticVolume,SndBool,unsigned long,unsigned char,FALSE); SND_DeclarePointer0_def(dbgSND_fn_rGetDopplerFactor, SndReal,C_SNDREAL_1); SND_DeclarePointer_void1(dbgSND_fn_vSendRequestSound, void,SND_tduRefEvt); #endif //USE_STATIC_MODULE #if defined(USE_MPEG_MODULE) //#include "sndmpeg.h" /************************************************************************* ************************************************************************** Module SNDMPEG (exporté de la DLL MPGmnuxy.DLL ************************************************************************** *************************************************************************/ #ifndef NO_ACP_LDBIN SND_DeclarePointer0(SND_fn_bCanFreeDataMPEG,SndBool); #endif #ifndef SNDDLL_MODULE //fonctions inutiles pour la LIB statiques SND_DeclarePointer5_def(SND_fn_lPlayMPEG,long ,tduRefRes ,SampleParam*,long ,SND_td_pfn_vSoundCallback ,long ,C_PLAY_FAILED); SND_DeclarePointer_void1(SND_fn_vRemoveCallbackMPEG,void ,long ); SND_DeclarePointer2(SND_fn_bSetParamMPEG,SndBool ,long ,SampleParam*); SND_DeclarePointer1(SND_fn_bTestIsPlayingMPEG,SndBool ,long ); SND_DeclarePointer_void1(SND_fn_vStopMPEG,void ,long); SND_DeclarePointer_void1(SND_fn_vPauseMPEG,void ,long); SND_DeclarePointer_void1(SND_fn_vResumeMPEG,void ,long); SND_DeclarePointer1(SND_fn_iInitMPEG,int ,SND_tdstInitStruct*); SND_DeclarePointer0(SND_fn_bTestInitMPEG,SndBool); SND_DeclarePointer_void0(SND_fn_vDesInitMPEG,void); SND_DeclarePointer_void0(SND_fn_vSynchroMPEG,void); SND_DeclarePointer1_def(SND_fn_tdGetResForVoiceMPEG,tduRefRes,long,SND_RES_FANTOME); //SND_DeclarePointer_void3(SND_fn_vConvertResDiskToMemMPEG,void,tdstBlockResourceDisk*,tdstBlockResourceMem*,void*); SND_DeclarePointer2(SND_fn_bLoadResScriptMPEG,SndBool ,tdstBlockResourceDisk*,tdstBlockResourceMem*); SND_DeclarePointer3(SND_fn_bLoadResBinaryMPEG,SndBool ,tdstBlockResourceDisk*,tdstBlockResourceMem*,char *); //SND_DeclarePointer_void2(SND_fn_vLoadResFromDiskMPEG,void ,tdstBlockResourceDisk*,tdstBlockResourceMem*); SND_DeclarePointer_void1(SND_fn_vUnLoadResMPEG,void ,tdstBlockResourceMem*); SND_DeclarePointer1(SND_fn_bIsResLoadedMPEG,SndBool ,tdstBlockResourceMem*); //SND_DeclarePointer_void1(SND_fn_vSetResUnloadedMPEG,void ,tdstBlockResourceMem*); SND_DeclarePointer1(SND_fn_rGetPosMPEG,SndReal,long); SND_DeclarePointer1(SND_fn_rGetLengthMPEG,SndReal,long); //---themes SND_DeclarePointer5_def(SND_fn_lPlayTransitionMPEG,long ,tduRefRes ,tduRefRes ,SND_td_pfn_vSoundCallback,long,SampleParam*,C_PLAY_FAILED); SND_DeclarePointer2(SND_fn_bSetParamTransitionMPEG,SndBool,long,SampleParam*); SND_DeclarePointer2(SND_fn_bSetNextTransitionMPEG,SndBool ,long ,tduRefRes ); SND_DeclarePointer2(SND_fn_bDoTransitionWithFadeMPEG,SndBool ,long ,tduRefRes ); SND_DeclarePointer3( SND_fn_bDoTransitionWithFadeMPEG2, SndBool ,long ,tduRefRes, SndReal ); SND_DeclarePointer_void1(SND_fn_vStopTransitionMPEG,void ,long ); SND_DeclarePointer_void1(SND_fn_vPauseTransitionMPEG,void,long ); SND_DeclarePointer_void1(SND_fn_vResumeTransitionMPEG,void,long ); SND_DeclarePointer_void0(SND_fn_vReleaseDriverMPEG,void); SND_DeclarePointer_void0(SND_fn_vRestoreDriverMPEG,void); SND_DeclarePointer4_def(SND_fn_lCreateNewBufferExMPEG,long,SND_tdstFormat*,SND_tdstCallback* ,SoundParam* ,long ,C_PLAY_FAILED); SND_DeclarePointer1(SND_fn_lGetPosBufferExMPEG,long,long ); SND_DeclarePointer2(SND_fn_lPushBufferExMPEG,long,long,SND_tdstStackBuffer* ); SND_DeclarePointer_void1(SND_fn_vSetDefaultRollOffMPEG,void,RollOffParam* ); SND_DeclarePointer1_def(SND_fn_bCheckVersionResourceMPEG,SndBool,tdstBlockResourceDisk*,TRUE); SND_DeclarePointer2_def(SND_fn_bSetResourceStaticVolumeMPEG,SndBool,tdstBlockResourceMem*,unsigned char,FALSE); #endif //SNDDLL_MODULE #endif //ifdef USE_MPEG_MODULE #if defined(USE_WAV_MODULE) //#include "sndxd.h" /************************************************************************* ************************************************************************** Module SNDXD (exporté de la DLL WAVmnuxy.DLL ************************************************************************** *************************************************************************/ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndxd.h DLL_IMPEXP CPA_EXPORT long SND_fn_lPlaySxd(tduRefRes res,SoundParam *par,long prio,SND_td_pfn_vSoundCallback fn_callback,long par_callback); DLL_IMPEXP CPA_EXPORT void SND_fn_vRemoveCallbackSxd(long voice); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bSetParamSxd(long voice,SoundParam *par); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bTestIsPlayingSxd(long voice); DLL_IMPEXP CPA_EXPORT void SND_fn_vStopSxd(long voice); DLL_IMPEXP CPA_EXPORT void SND_fn_vPauseSxd(long voice); DLL_IMPEXP CPA_EXPORT void SND_fn_vResumeSxd(long voice); DLL_IMPEXP CPA_EXPORT void SND_fn_vSetSoundVolumeSxd(unsigned char vol); DLL_IMPEXP CPA_EXPORT unsigned char SND_fn_ucGetSoundVolumeSxd(); DLL_IMPEXP CPA_EXPORT void SND_fn_vSetStereoSxd(SndBool active); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bGetStereoSxd(void); DLL_IMPEXP CPA_EXPORT int SND_fn_iInitSxd(SND_tdstInitStruct *pInitStruct); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bTestInitSxd(void); DLL_IMPEXP CPA_EXPORT void SND_fn_vDesInitSxd(void); DLL_IMPEXP CPA_EXPORT int SND_fn_iInitBnkSxd(long num); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bTestInitBnkSxd(long num); DLL_IMPEXP CPA_EXPORT void SND_fn_vDesInitBnkSxd(long num); DLL_IMPEXP CPA_EXPORT void SND_fn_vDesInitAllBnkSxd(void); DLL_IMPEXP CPA_EXPORT void SND_fn_vSetEffectSxd(long num); DLL_IMPEXP CPA_EXPORT long SND_fn_lCreateMicroSxd(MicroParam* par); DLL_IMPEXP CPA_EXPORT void SND_fn_vSetMicroParamSxd(long sxdId,MicroParam* par); DLL_IMPEXP CPA_EXPORT void SND_fn_vDestroyMicroSxd(long sxdId); //DLL_IMPEXP CPA_EXPORT tduRefRes SND_fn_tdGetResForVoiceSxd(long voice); //gestion de buffers DLL_IMPEXP CPA_EXPORT long SND_fn_lCreateNewBufferSxd(unsigned long nb_samples,unsigned short uwResolution,unsigned short uwNbChannels,unsigned long ulFreq,SoundParam* par,td_pfn_vRefreshBufferClient callback,long user_id); DLL_IMPEXP CPA_EXPORT void SND_fn_vSetParamBufferSxd(long id_buffer,SoundParam *par); DLL_IMPEXP CPA_EXPORT void SND_fn_vDeleteBufferSxd(long id_buffer); DLL_IMPEXP CPA_EXPORT void SND_fn_vPauseBufferSxd(long id_buffer); DLL_IMPEXP CPA_EXPORT void SND_fn_vResumeBufferSxd(long id_buffer); DLL_IMPEXP CPA_EXPORT void* SND_fn_pvGetPtrBufferSxd(long id_buffer); DLL_IMPEXP CPA_EXPORT void SND_fn_vConvertResDiskToMemSxd(tdstBlockResourceDisk *disk ,tdstBlockResourceMem *mem ,void* ptrBegin); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bLoadResScriptSxd(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bLoadResBinarySxd(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem,char *pDataBloc); DLL_IMPEXP CPA_EXPORT void SND_fn_vLoadResFromDiskSxd(tdstBlockResourceDisk* disk,tdstBlockResourceMem* mem); DLL_IMPEXP CPA_EXPORT void SND_fn_vUnLoadResSxd(tdstBlockResourceMem* mem); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bIsResLoadedSxd(tdstBlockResourceMem *mem); DLL_IMPEXP CPA_EXPORT void SND_fn_vSetResUnloadedSxd(tdstBlockResourceMem *pResMem); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bSetResourceStaticVolumeSxd(tdstBlockResourceMem* pstRes,unsigned char ucVolume); //---themes DLL_IMPEXP CPA_EXPORT long SND_fn_lPlayTransitionSxd(tduRefRes FirstRes,tduRefRes NextRes,SND_td_pfn_vSoundCallback transition_callback); DLL_IMPEXP CPA_EXPORT SndBool SND_fn_bSetNextTransitionSxd(long voice,tduRefRes new_res); DLL_IMPEXP CPA_EXPORT void SND_fn_vStopTransitionSxd(long voice); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer5_def(SND_fn_lPlaySxd,long,tduRefRes ,SoundParam*,long,SND_td_pfn_vSoundCallback,long ,C_PLAY_FAILED); SND_DeclarePointer_void1(SND_fn_vRemoveCallbackSxd,void,long ); SND_DeclarePointer2(SND_fn_bSetParamSxd,SndBool,long,SoundParam*); SND_DeclarePointer1(SND_fn_bTestIsPlayingSxd,SndBool,long ); SND_DeclarePointer_void1(SND_fn_vStopSxd,void,long ); SND_DeclarePointer_void1(SND_fn_vPauseSxd,void,long ); SND_DeclarePointer_void1(SND_fn_vResumeSxd,void,long ); SND_DeclarePointer_void1(SND_fn_vSetSoundVolumeSxd,void,unsigned char ); SND_DeclarePointer0(SND_fn_ucGetSoundVolumeSxd,unsigned char ); SND_DeclarePointer_void1(SND_fn_vSetStereoSxd,void,SndBool ); SND_DeclarePointer0(SND_fn_bGetStereoSxd,SndBool); SND_DeclarePointer_void1(SND_fn_vSetReverseStereoSxd,void,SndBool ); SND_DeclarePointer0(SND_fn_bGetReverseStereoSxd,SndBool); SND_DeclarePointer1(SND_fn_iInitSxd,int,SND_tdstInitStruct*); SND_DeclarePointer0(SND_fn_bTestInitSxd,SndBool); SND_DeclarePointer_void0(SND_fn_vDesInitSxd,void); SND_DeclarePointer_void1(SND_fn_vSetEffectSxd,void,long ); SND_DeclarePointer_void1(SND_fn_vSetDopplerFactorSxd,void,SndReal); SND_DeclarePointer1(SND_fn_lCreateMicroSxd,long,MicroParam* ); SND_DeclarePointer_void2(SND_fn_vSetMicroParamSxd,void,long,MicroParam* ); SND_DeclarePointer_void1(SND_fn_vDestroyMicroSxd,void,long ); SND_DeclarePointer_void0(SND_fn_vSynchroSxd,void); SND_DeclarePointer7_def(SND_fn_lCreateNewBufferSxd,long,unsigned long,unsigned short,unsigned short,unsigned long,SoundParam*,td_pfn_vRefreshBufferClient,long,C_PLAY_FAILED); SND_DeclarePointer_void2(SND_fn_vSetParamBufferSxd,void,long,SoundParam*); SND_DeclarePointer_void1(SND_fn_vDeleteBufferSxd,void,long ); SND_DeclarePointer_void1(SND_fn_vPauseBufferSxd,void,long ); SND_DeclarePointer_void1(SND_fn_vResumeBufferSxd,void,long ); SND_DeclarePointer1(SND_fn_pvGetPtrBufferSxd,void*,long ); SND_DeclarePointer1(SND_fn_rGetPosBufferSxd,SndReal,long); SND_DeclarePointer4_def(SND_fn_lCreateNewBufferExSxd,long,SND_tdstFormat* ,SND_tdstCallback* ,SoundParam* ,long ,C_PLAY_FAILED); SND_DeclarePointer1(SND_fn_lGetPosBufferExSxd,long,long ); SND_DeclarePointer2(SND_fn_lPushBufferExSxd,long,long,SND_tdstStackBuffer* ); SND_DeclarePointer_void3(SND_fn_vConvertResDiskToMemSxd,void,tdstBlockResourceDisk*,tdstBlockResourceMem*,void*); SND_DeclarePointer2(SND_fn_bLoadResScriptSxd,SndBool,tdstBlockResourceDisk*,tdstBlockResourceMem*); SND_DeclarePointer3(SND_fn_bLoadResBinarySxd,SndBool,tdstBlockResourceDisk*,tdstBlockResourceMem*,char *); SND_DeclarePointer_void1(SND_fn_vUnLoadResSxd,void,tdstBlockResourceMem* ); SND_DeclarePointer1(SND_fn_bIsResLoadedSxd,SndBool,tdstBlockResourceMem*); SND_DeclarePointer1(SND_fn_bIsResourceLoopingSxd,SndBool,tduRefRes); SND_DeclarePointer1(SND_fn_rGetPosSxd,SndReal,long); SND_DeclarePointer1(SND_fn_rGetLengthSxd,SndReal,long); //---themes SND_DeclarePointer5_def(SND_fn_lPlayTransitionExSxd,long,tduRefRes,tduRefRes,SND_td_pfn_vSoundCallback,long,SoundParam*,C_PLAY_FAILED); SND_DeclarePointer2(SND_fn_bSetParamTransitionSxd,SndBool,long,SoundParam*); SND_DeclarePointer2(SND_fn_bSetNextTransitionSxd,SndBool,long,tduRefRes ); SND_DeclarePointer2(SND_fn_bDoTransitionWithFadeSxd,SndBool,long,tduRefRes ); SND_DeclarePointer3( SND_fn_bDoTransitionWithFadeSxd2, SndBool, long, tduRefRes, SndReal ); SND_DeclarePointer_void1(SND_fn_vStopTransitionSxd,void,long ); SND_DeclarePointer_void1(SND_fn_vPauseTransitionSxd,void,long); SND_DeclarePointer_void1(SND_fn_vResumeTransitionSxd,void,long); SND_DeclarePointer_void0(SND_fn_vReleaseDriverSxd,void); SND_DeclarePointer_void0(SND_fn_vRestoreDriverSxd,void); SND_DeclarePointer_void0(SND_fn_vForceReleaseDriverSxd,void); SND_DeclarePointer_void0(SND_fn_vForceRestoreDriverSxd,void); //----target name SND_DeclarePointer_void2(SND_fn_vGetTargetLabelSxd,void,char*,int); SND_DeclarePointer_void0(SND_fn_vSetupTargetSxd,void); SND_DeclarePointer0(SND_fn_bCanSetupTargetSxd,SndBool); SND_DeclarePointer_void2(SND_fn_vParam3Dto2D,void,SoundParam*,SampleParam*); #ifndef NO_ACP_LDBIN SND_DeclarePointer0(SND_fn_bCanFreeDataSample,SndBool); #endif SND_DeclarePointer_void1(SND_fn_vSetDefaultRollOffSxd,void,RollOffParam*); //fonctions obsoletes: à garder pour compatibilité DLL SND_DeclarePointer1(SND_fn_iInitBnkSxd,int,long ); SND_DeclarePointer1(SND_fn_bTestInitBnkSxd,SndBool,long ); SND_DeclarePointer_void1(SND_fn_vDesInitBnkSxd,void,long ); SND_DeclarePointer_void0(SND_fn_vDesInitAllBnkSxd,void); SND_DeclarePointer4_def(SND_fn_lPlayTransitionSxd,long,tduRefRes,tduRefRes,SND_td_pfn_vSoundCallback,SoundParam*,C_PLAY_FAILED); SND_DeclarePointer1_def(SND_fn_bCheckVersionResourceSxd,SndBool,tdstBlockResourceDisk*,TRUE); SND_DeclarePointer_void2(SND_fn_vSetNbVoiceWishedSxd,void,tdeTypeZip,long); SND_DeclarePointer0(SND_fn_lGetNbVoiceWishedSxd,long); SND_DeclarePointer0(SND_fn_lGetNbVoiceOptimumSxd,long); SND_DeclarePointer0(SND_fn_eGetMainFormatSxd,tdeTypeZip); SND_DeclarePointer2_def(SND_fn_bSetResourceStaticVolumeSxd,SndBool,tdstBlockResourceMem* ,unsigned char ,FALSE); //SNDREC #endif //ifdef USE_WAV_MODULE #if defined(USE_RECORD_MODULE) //#include "sndrec.h" /************************************************************************* ************************************************************************** Module SNDREC (exporté de la DLL RECmnuxy.DLL ************************************************************************** *************************************************************************/ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndrec.h DLL_IMPEXP CPA_EXPORT SndBool SND_CALL SND_fn_bTestFormatRecord(SND_tdstFormat* pformat,int flags); DLL_IMPEXP CPA_EXPORT long SND_CALL SND_fn_lCreateBufferRecord(SND_tdstFormat* pformat,SND_tdstCallback* pCallback); DLL_IMPEXP CPA_EXPORT SndBool SND_CALL SND_fn_bIsBufferFullDuplexRecord(long id_buffer); DLL_IMPEXP CPA_EXPORT SndBool SND_CALL SND_fn_bStartRecord(long id_buffer); DLL_IMPEXP CPA_EXPORT void SND_CALL SND_fn_vStopRecord(long id_buffer); DLL_IMPEXP CPA_EXPORT SndBool SND_CALL SND_fn_bIsWorkingRecord(long id_buffer); DLL_IMPEXP CPA_EXPORT long SND_CALL SND_fn_lPushBufferToRecord(long id_buffer,void* ptr,int size_ptr); DLL_IMPEXP CPA_EXPORT SndBool SND_CALL SND_fn_bManageMsgForRecord(long p_msg); DLL_IMPEXP CPA_EXPORT int SND_CALL SND_fn_iInitRecord(SND_tdstInitStruct *pInitStruct); DLL_IMPEXP CPA_EXPORT void SND_CALL SND_fn_vDesInitRecord(void); DLL_IMPEXP CPA_EXPORT unsigned char SND_CALL SND_fn_ucGetInstantVuMeterRecord(void); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer2(SND_fn_bTestFormatRecord,SndBool,SND_tdstFormat* ,int ); SND_DeclarePointer2(SND_fn_lCreateBufferRecord,long,SND_tdstFormat* ,SND_tdstCallback* ); SND_DeclarePointer1(SND_fn_bIsBufferFullDuplexRecord,SndBool,long ); SND_DeclarePointer1(SND_fn_bStartRecord,SndBool,long ); SND_DeclarePointer_void1(SND_fn_vStopRecord,void,long ); SND_DeclarePointer1(SND_fn_bIsWorkingRecord,SndBool,long ); SND_DeclarePointer3(SND_fn_lPushBufferToRecord,long,long ,void* ,int ); SND_DeclarePointer1(SND_fn_bManageMsgForRecord,SndBool,long ); SND_DeclarePointer1(SND_fn_iInitRecord,int,SND_tdstInitStruct*); SND_DeclarePointer_void0(SND_fn_vDesInitRecord,void); SND_DeclarePointer0(SND_fn_ucGetInstantVuMeterRecord,unsigned char); #endif //ifdef USE_WAV_MODULE #if defined(USE_CD_MODULE) //#include "sndcd.h" //#include "sndmidi.h" /************************************************************************* ************************************************************************** Module SNDMIDI (exporté de la DLL CD_mnuxy.DLL ************************************************************************** *************************************************************************/ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndmidi.h DLL_IMPEXP SndBool SND_fn_bLoadResScriptMidi(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem); DLL_IMPEXP SndBool SND_fn_bLoadResBinaryMidi(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem,char *pDataBloc); DLL_IMPEXP SndBool SND_fn_bIsResLoadedMidi(tdstBlockResourceMem* _pBRMem); DLL_IMPEXP SndBool SND_fn_bSetParamMidi(long voice,SoundParam *par); DLL_IMPEXP SndBool SND_fn_bTestInitMidi(void); DLL_IMPEXP SndBool SND_fn_bTestIsPlayingMidi(long voice); //DLL_IMPEXP SndBool SND_fn_bUnloadMidiRes(tduRefRes RR); DLL_IMPEXP int SND_fn_iInitMidi(SND_tdstInitStruct *pInitStruct); DLL_IMPEXP long SND_fn_lPlayMidi(tduRefRes res,SoundParam *par,long prio,SND_td_pfn_vSoundCallback fn_callback,long par_callback); DLL_IMPEXP long SND_fn_lPlayMidiWithFade(tduRefRes res,SoundParam *par,long prio,SND_td_pfn_vSoundCallback fn_callback,long par_callback,unsigned long ulFadeIn,unsigned long ulFadeOut); DLL_IMPEXP void SND_fn_vConvertResDiskToMemMidi(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem,void* ptrBegin); DLL_IMPEXP void SND_fn_vDesInitMidi(void); DLL_IMPEXP void SND_fn_vLoadResFromDiskMidi(tdstBlockResourceDisk* disk,tdstBlockResourceMem* mem); DLL_IMPEXP void SND_fn_vPauseMidi(long voice); DLL_IMPEXP void SND_fn_vResumeMidi(long voice); DLL_IMPEXP void SND_fn_vRemoveCallbackMidi(long voice); DLL_IMPEXP void SND_fn_vSetResUnloadedMidi(tdstBlockResourceMem *pResMem); DLL_IMPEXP void SND_fn_vStopMidi(long voice); DLL_IMPEXP void SND_fn_vUnLoadResMidi(tdstBlockResourceMem* mem); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer2(SND_fn_bLoadResScriptMidi,SndBool,tdstBlockResourceDisk*,tdstBlockResourceMem*); SND_DeclarePointer3(SND_fn_bLoadResBinaryMidi,SndBool,tdstBlockResourceDisk*,tdstBlockResourceMem*,char *); SND_DeclarePointer1(SND_fn_bIsResLoadedMidi,SndBool,tdstBlockResourceMem*); SND_DeclarePointer2(SND_fn_bSetParamMidi,SndBool,long ,SoundParam*); SND_DeclarePointer0(SND_fn_bTestInitMidi,SndBool ); SND_DeclarePointer1(SND_fn_bTestIsPlayingMidi,SndBool ,long ); //SND_DeclarePointer1(SND_fn_bUnloadMidiRes,SndBool ,tduRefRes ); SND_DeclarePointer1(SND_fn_iInitMidi,int,SND_tdstInitStruct*); SND_DeclarePointer5_def(SND_fn_lPlayMidi,long,tduRefRes ,SoundParam*,long ,SND_td_pfn_vSoundCallback ,long ,C_PLAY_FAILED); SND_DeclarePointer7(SND_fn_lPlayMidiWithFade,long,tduRefRes ,SoundParam*,long ,SND_td_pfn_vSoundCallback ,long ,unsigned long ,unsigned long ); //SND_DeclarePointer_void3(SND_fn_vConvertResDiskToMemMidi,void,tdstBlockResourceDisk*,tdstBlockResourceMem*,void* ); SND_DeclarePointer_void0(SND_fn_vDesInitMidi,void); //SND_DeclarePointer_void2(SND_fn_vLoadResFromDiskMidi,void,tdstBlockResourceDisk* ,tdstBlockResourceMem*); SND_DeclarePointer_void1(SND_fn_vPauseMidi,void,long ); SND_DeclarePointer_void1(SND_fn_vResumeMidi,void ,long ); SND_DeclarePointer_void1(SND_fn_vRemoveCallbackMidi,void,long ); //SND_DeclarePointer_void1(SND_fn_vSetResUnloadedMidi,void,tdstBlockResourceMem*); SND_DeclarePointer_void1(SND_fn_vStopMidi,void,long ); SND_DeclarePointer_void1(SND_fn_vUnLoadResMidi,void,tdstBlockResourceMem* ); SND_DeclarePointer_void0(SND_fn_vReleaseDriverMidi,void); SND_DeclarePointer_void0(SND_fn_vRestoreDriverMidi,void); SND_DeclarePointer1(SND_fn_rGetPosMidi,SndReal,long); SND_DeclarePointer1(SND_fn_rGetLengthMidi,SndReal,long); SND_DeclarePointer_void0(SND_fn_vSynchroMidi,void); SND_DeclarePointer5_def(SND_fn_lPlayTransitionMidi,long,tduRefRes ,tduRefRes ,SND_td_pfn_vSoundCallback ,long,SoundParam* ,C_PLAY_FAILED); SND_DeclarePointer2(SND_fn_bSetParamTransitionMidi,SndBool,long ,SoundParam* ); SND_DeclarePointer2(SND_fn_bSetNextTransitionMidi,SndBool,long ,tduRefRes ); SND_DeclarePointer_void1(SND_fn_vStopTransitionMidi,void,long ); SND_DeclarePointer_void1(SND_fn_vResumeTransitionMidi,void,long ); SND_DeclarePointer_void1(SND_fn_vPauseTransitionMidi,void,long ); SND_DeclarePointer2(SND_fn_bDoTransitionWithFadeMidi,SndBool,long ,tduRefRes ); SND_DeclarePointer3( SND_fn_bDoTransitionWithFadeMidi2, SndBool, long, tduRefRes, SndReal ); SND_DeclarePointer1_def(SND_fn_bCheckVersionResourceMidi,SndBool,tdstBlockResourceDisk*,TRUE); #ifndef NO_ACP_LDBIN SND_DeclarePointer0( SND_fn_bCanFreeDataMidi,SndBool); #endif SND_DeclarePointer2_def(SND_fn_bSetResourceStaticVolumeMidi,SndBool,tdstBlockResourceMem* ,unsigned char ,FALSE); /************************************************************************* ************************************************************************** Module SNDCD (exporté de la DLL CD_mnuxy.DLL ************************************************************************** *************************************************************************/ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Module Sndcd.h DLL_IMPEXP SndBool SND_fn_bLoadResScriptCd(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem); DLL_IMPEXP SndBool SND_fn_bLoadResBinaryCd(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem,char *pDataBloc); DLL_IMPEXP SndBool SND_fn_bSetParamCD(long voice,SoundParam *par); DLL_IMPEXP SndBool SND_fn_bTestInitCD(void); DLL_IMPEXP SndBool SND_fn_bTestIsPlayingCD(long voice); DLL_IMPEXP int SND_fn_iInitCD(SND_tdstInitStruct *pInitStruct); DLL_IMPEXP long SND_fn_lNextCDTrack(); DLL_IMPEXP long SND_fn_lPlayCD(tduRefRes res,SoundParam *par,long prio,SND_td_pfn_vSoundCallback fn_callback,long par_callback); DLL_IMPEXP long SND_fn_lPlayCDWithFade(tduRefRes res,SoundParam *par,long prio,SND_td_pfn_vSoundCallback fn_callback,long par_callback,unsigned long ulFadeIn,unsigned long ulFadeOut); DLL_IMPEXP void SND_fn_vConvertResDiskToMemCD(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem,void* ptrBegin); DLL_IMPEXP void SND_fn_vDesInitCD(void); DLL_IMPEXP void SND_fn_vPauseCD(long voice); DLL_IMPEXP void SND_fn_vRemoveCallbackCD(long voice); DLL_IMPEXP void SND_fn_vResumeCD(long voice); DLL_IMPEXP void SND_fn_vStopCD(long voice); DLL_IMPEXP void SND_fn_vStopCDWithFade(long voice,unsigned long ulFadeOutDuration); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ SND_DeclarePointer2(SND_fn_bLoadResScriptCd,SndBool ,tdstBlockResourceDisk*,tdstBlockResourceMem*); SND_DeclarePointer3(SND_fn_bLoadResBinaryCd,SndBool ,tdstBlockResourceDisk*,tdstBlockResourceMem*,char *); SND_DeclarePointer2(SND_fn_bSetParamCD,SndBool ,long ,SoundParam*); SND_DeclarePointer0(SND_fn_bTestInitCD,SndBool); SND_DeclarePointer1(SND_fn_bTestIsPlayingCD,SndBool ,long ); SND_DeclarePointer1(SND_fn_iInitCD,int,SND_tdstInitStruct*); SND_DeclarePointer0(SND_fn_lNextCDTrack,long ); SND_DeclarePointer5_def(SND_fn_lPlayCD,long,tduRefRes ,SoundParam*,long ,SND_td_pfn_vSoundCallback ,long ,C_PLAY_FAILED); SND_DeclarePointer7(SND_fn_lPlayCDWithFade,long ,tduRefRes ,SoundParam*,long ,SND_td_pfn_vSoundCallback ,long ,unsigned long ,unsigned long ); //SND_DeclarePointer_void3(SND_fn_vConvertResDiskToMemCD,void ,tdstBlockResourceDisk*,tdstBlockResourceMem*,void* ); SND_DeclarePointer_void0(SND_fn_vDesInitCD,void); SND_DeclarePointer_void1(SND_fn_vPauseCD,void,long ); SND_DeclarePointer_void1(SND_fn_vRemoveCallbackCD,void,long ); SND_DeclarePointer_void1(SND_fn_vResumeCD,void ,long); SND_DeclarePointer_void1(SND_fn_vStopCD,void ,long ); SND_DeclarePointer_void2(SND_fn_vStopCDWithFade,void,long ,unsigned long ); SND_DeclarePointer_void0(SND_fn_vReleaseDriverCD,void); SND_DeclarePointer_void0(SND_fn_vRestoreDriverCD,void); SND_DeclarePointer1(SND_fn_rGetPosCD,SndReal,long); SND_DeclarePointer1(SND_fn_rGetLengthCD,SndReal,long); SND_DeclarePointer_void0(SND_fn_vSynchroCD,void); SND_DeclarePointer1_def(SND_fn_bCheckVersionResourceCD,SndBool,tdstBlockResourceDisk*,TRUE); SND_DeclarePointer2_def(SND_fn_bSetResourceStaticVolumeCD,SndBool,tdstBlockResourceMem* ,unsigned char,FALSE ); #endif #if defined(USE_DBG_MODULE) /************************************************************************* ************************************************************************** Module SNDDBG (exporté de la DLL snddbg.DLL) ************************************************************************** *************************************************************************/ SND_DeclarePointer_void1(SND_fn_vLaunchSupervisater,void,SND_tdstInitStruct*); SND_DeclarePointer_void0(SND_fn_vKillSupervisater,void); SND_DeclarePointer_void0(SND_fn_vSetSupervisaterActive,void); SND_DeclarePointer0_def(SND_fn_bIsSupervisaterActive,SndBool,FALSE); SND_DeclarePointer_void1(dbgSND_fn_vSetProjectTitleForSuperVisater,void,char*); //suivi des objets SND_DeclarePointer_void4(dbgSND_fn_vAddEventToObject,void,long ,long ,long ,SND_tduRefEvt ); SND_DeclarePointer_void2(dbgSND_fn_vKillEventToObject,void,long ,long ); SND_DeclarePointer_void2(dbgSND_fn_vSetPosObject,void,long ,SoundParam* ); //suivi des micros SND_DeclarePointer_void1(dbgSND_fn_vAddMicro,void,long ); SND_DeclarePointer_void1(dbgSND_fn_vKillMicro,void,long ); SND_DeclarePointer_void2(dbgSND_fn_vSetPosMicro,void,long ,MicroParam* ); //historique des events SND_DeclarePointer_void5(dbgSND_fn_vAddHistoric,void,SND_tduRefEvt ,long ,long ,long ,tdstBlockResourceMem* ); //ligne de volume SND_DeclarePointer_void1(dbgSND_fn_vKillVolumeLine,void,long ); SND_DeclarePointer_void1(dbgSND_fn_vAddVolumeLine,void,long ); SND_DeclarePointer_void2(dbgSND_fn_vSetVolumeLine,void,long ,long ); //bank SND_DeclarePointer_void1(dbgSND_fn_vLoadBank,void,int ); SND_DeclarePointer_void1(dbgSND_fn_vUnLoadBank,void,int ); SND_DeclarePointer_void3(dbgSND_fn_vAddVoiceSample,void,long ,tduRefRes ,SampleParam*); SND_DeclarePointer_void2(dbgSND_fn_vSetParVoiceSample,void,long ,SampleParam*); SND_DeclarePointer_void1(dbgSND_fn_vDelVoiceSample,void,long ); SND_DeclarePointer_void1(dbgSND_fn_vPauseVoiceSample,void,long ); SND_DeclarePointer_void1(dbgSND_fn_vResumeVoiceSample,void,long ); SND_DeclarePointer_void1(dbgSND_fn_vSetProcessTimeSample,void,float ); SND_DeclarePointer0_def(dbgSND_fn_pstGetSelectedResource,tdstBlockResourceMem*,NULL); SND_DeclarePointer0_def(dbgSND_fn_bDoesSupervisaterSelectResource,SndBool,FALSE); //SND_DeclarePointer_void3(dbgSND_fn_vRajListesSxdVirtual,void,virtual_voice_list*,audible_voice_list*,dead_voice_list* ); SND_DeclarePointer_void1(dbgSND_fn_vRajListesSxdVirtual2,void,SND_tdhVirtualModule); SND_DeclarePointer_void2(dbgSND_fn_vInitListesSxdVirtual,void,long,char*); SND_DeclarePointer_void0(dbgSND_fn_vRefreshSupervisater,void); #endif #if defined(USE_ADPCM_MODULE) && !defined(DISABLE_ADPCM) /************************************************************************* ************************************************************************** Module SNDxdAPM (exporté de la DLL APMxyuw.DLL) ************************************************************************** *************************************************************************/ #ifndef NO_ACP_LDBIN SND_DeclarePointer0(SND_fn_bCanFreeDataADPCM,SndBool); #endif #ifndef SNDDLL_MODULE //fonctions inutiles pour la LIB statiques SND_DeclarePointer5_def(SND_fn_lPlaySxdADPCM,long,tduRefRes ,SoundParam*,long ,SND_td_pfn_vSoundCallback ,long ,C_PLAY_FAILED); SND_DeclarePointer_void1(SND_fn_vRemoveCallbackSxdADPCM,void,long ); SND_DeclarePointer2(SND_fn_bSetParamSxdADPCM,SndBool,long ,SoundParam*); SND_DeclarePointer1(SND_fn_bTestIsPlayingSxdADPCM,SndBool,long ); SND_DeclarePointer_void1(SND_fn_vStopSxdADPCM,void,long ); SND_DeclarePointer_void1(SND_fn_vPauseSxdADPCM,void,long ); SND_DeclarePointer_void1(SND_fn_vResumeSxdADPCM,void,long ); SND_DeclarePointer1(SND_fn_bIsResourceLoopingSxdADPCM,SndBool,tduRefRes); SND_DeclarePointer1(SND_fn_rGetPosSxdADPCM,SndReal,long ); SND_DeclarePointer1(SND_fn_rGetLengthSxdADPCM,SndReal,long ); SND_DeclarePointer_void1(SND_fn_vSetSoundVolumeSxdADPCM,void,unsigned char ); SND_DeclarePointer0(SND_fn_ucGetSoundVolumeSxdADPCM,unsigned char); SND_DeclarePointer_void1(SND_fn_vSetStereoSxdADPCM,void,SndBool ); SND_DeclarePointer0(SND_fn_bGetStereoSxdADPCM,SndBool); SND_DeclarePointer_void1(SND_fn_vSetReverseStereoSxdADPCM,void,SndBool ); SND_DeclarePointer0(SND_fn_bGetReverseStereoSxdADPCM,SndBool); SND_DeclarePointer1(SND_fn_iInitSxdADPCM,int,SND_tdstInitStruct*); SND_DeclarePointer0(SND_fn_bTestInitSxdADPCM,SndBool); SND_DeclarePointer_void0(SND_fn_vDesInitSxdADPCM,void); SND_DeclarePointer_void1(SND_fn_vSetEffectSxdADPCM,void,long ); SND_DeclarePointer_void2(SND_fn_vCreateMicroSxdADPCM,void,MicroParam* ,long ); SND_DeclarePointer_void2(SND_fn_vSetMicroParamSxdADPCM,void,long ,MicroParam* ); SND_DeclarePointer_void1(SND_fn_vDestroyMicroSxdADPCM,void,long ); //gestion de buffers SND_DeclarePointer7_def(SND_fn_lCreateNewBufferSxdADPCM,long,unsigned long ,unsigned short ,unsigned short ,unsigned long ,SoundParam* ,td_pfn_vRefreshBufferClient ,long ,C_PLAY_FAILED); SND_DeclarePointer_void2(SND_fn_vSetParamBufferSxdADPCM,void,long ,SoundParam*); SND_DeclarePointer_void1(SND_fn_vDeleteBufferSxdADPCM,void,long ); SND_DeclarePointer_void1(SND_fn_vPauseBufferSxdADPCM,void,long ); SND_DeclarePointer_void1(SND_fn_vResumeBufferSxdADPCM,void,long ); SND_DeclarePointer1(SND_fn_pvGetPtrBufferSxdADPCM,void*,long ); SND_DeclarePointer1(SND_fn_rGetPosBufferSxdADPCM,SndReal,long ); SND_DeclarePointer2( SND_fn_bLoadResScriptSxdADPCM,SndBool,tdstBlockResourceDisk*,tdstBlockResourceMem*); SND_DeclarePointer3( SND_fn_bLoadResBinarySxdADPCM,SndBool,tdstBlockResourceDisk*,tdstBlockResourceMem*,char*); SND_DeclarePointer2( SND_fn_bLoadResScriptAndConvertToWAVSxdADPCM,SndBool,tdstBlockResourceDisk*,tdstBlockResourceMem*); SND_DeclarePointer3( SND_fn_bLoadResBinaryAndConvertToWAVSxdADPCM,SndBool,tdstBlockResourceDisk*,tdstBlockResourceMem*,char*); SND_DeclarePointer_void1( SND_fn_vUnLoadResSxdADPCM,void,tdstBlockResourceMem* ); SND_DeclarePointer1( SND_fn_bIsResLoadedSxdADPCM,SndBool,tdstBlockResourceMem*); //---themes SND_DeclarePointer5_def( SND_fn_lPlayTransitionSxdADPCM,long,tduRefRes ,tduRefRes ,SND_td_pfn_vSoundCallback ,long ,SoundParam* ,C_PLAY_FAILED); SND_DeclarePointer2( SND_fn_bSetParamTransitionSxdADPCM,SndBool,long ,SoundParam*); SND_DeclarePointer2(SND_fn_bSetNextTransitionSxdADPCM,SndBool,long ,tduRefRes ); SND_DeclarePointer2(SND_fn_bDoTransitionWithFadeSxdADPCM,SndBool,long ,tduRefRes ); SND_DeclarePointer3( SND_fn_bDoTransitionWithFadeSxdADPCM2, SndBool, long, tduRefRes, SndReal ); SND_DeclarePointer_void1(SND_fn_vStopTransitionSxdADPCM,void,long ); SND_DeclarePointer_void1(SND_fn_vPauseTransitionSxdADPCM,void,long ); SND_DeclarePointer_void1(SND_fn_vResumeTransitionSxdADPCM,void,long ); //--relache-reprise a chaud des drives SND_DeclarePointer_void0(SND_fn_vReleaseDriverSxdADPCM,void); SND_DeclarePointer_void0(SND_fn_vRestoreDriverSxdADPCM,void); SND_DeclarePointer_void2(SND_fn_vGetTargetLabelSxdADPCM,void,char* ,int ); SND_DeclarePointer_void0(SND_fn_vSetupTargetSxdADPCM,void); SND_DeclarePointer0(SND_fn_bCanSetupTargetSxdADPCM,SndBool); SND_DeclarePointer_void0(SND_fn_vSynchroSxdADPCM,void); SND_DeclarePointer4_def(SND_fn_lCreateNewBufferExSxdADPCM,long,SND_tdstFormat* ,SND_tdstCallback* ,SoundParam* ,long ,C_PLAY_FAILED); SND_DeclarePointer1(SND_fn_lGetPosBufferExSxdADPCM,long,long ); SND_DeclarePointer2(SND_fn_lPushBufferExSxdADPCM,long,long ,SND_tdstStackBuffer* ); SND_DeclarePointer_void1(SND_fn_vSetDefaultRollOffSxdADPCM,void,RollOffParam* ); SND_DeclarePointer1_def(SND_fn_bCheckVersionResourceSxdADPCM,SndBool,tdstBlockResourceDisk*,TRUE); SND_DeclarePointer0(SND_fn_lGetNbVoiceWishedSxdADPCM,long); SND_DeclarePointer0_def(SND_fn_bIsLibActiveSxdADPCM,SndBool,FALSE); SND_DeclarePointer2_def(SND_fn_bSetResourceStaticVolumeSxdADPCM,SndBool,tdstBlockResourceMem* ,unsigned char ,FALSE); #endif//SNDDLL_MODULE #endif //USE_ADPCM /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Variables privées * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ void SND_DllInitEntryPoints_StaticFunctions(HMODULE hDLLModule); void SND_DllInitEntryPoints_MpegFunctions(HMODULE hDLLModule); void SND_DllInitEntryPoints_CdFunctions(HMODULE hDLLModule); void SND_DllInitEntryPoints_WavFunctions(HMODULE hDLLModule); void SND_DllInitEntryPoints_DbgFunctions(HMODULE hDLLModule); void SND_DllInitEntryPoints_AdpcmFunctions(HMODULE hDLLModule); void SND_DllInitEntryPoints_RecordFunctions(HMODULE hDLLModule); /* HWND hwndMainSnd; HINSTANCE SND_g_hResourceHandle; HINSTANCE SND_hGlobalInst; */ //cado bonux #define SND_DefinePointer0(FunctionName,ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(void); \ ret (WINAPI *SNDDLLpfn##FunctionName)(void)=NULL; \ ret WINAPI FunctionName(void) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(); \ } \ ret WINAPI Fake##FunctionName(void) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@0"; #define SND_DefinePointer1(FunctionName,ret,typ1) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1)=NULL; \ ret WINAPI FunctionName(typ1 par1) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1); \ } \ ret WINAPI Fake##FunctionName(typ1 par1) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@4"; #define SND_DefinePointer1_def(FunctionName,ret,typ1,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1)=NULL; \ ret WINAPI FunctionName(typ1 par1) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1); \ } \ ret WINAPI Fake##FunctionName(typ1 par1) \ { \ ret fake=def_ret; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@4"; #define SND_DefinePointer2(FunctionName,ret,typ1,typ2) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return((*SNDDLLpfn##FunctionName)(par1,par2)); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@8"; #define SND_DefinePointer3(FunctionName,ret,typ1,typ2,typ3) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@12"; #define SND_DefinePointer3_def(FunctionName,ret,typ1,typ2,typ3,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ ret fake=def_ret; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@12"; #define SND_DefinePointer4(FunctionName,ret,typ1,typ2,typ3,typ4) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@16"; #define SND_DefinePointer4_def(FunctionName,ret,typ1,typ2,typ3,typ4,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ ret fake=def_ret; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@16"; #define SND_DefinePointer5(FunctionName,ret,typ1,typ2,typ3,typ4,typ5) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5)\ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@20"; #define SND_DefinePointer5_def(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,def_ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5)\ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5) \ { \ ret fake=def_ret; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@20"; #define SND_DefinePointer7(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,typ6,typ7) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ return (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5,par6,par7); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \ { \ ret fake=(ret)0; \ return fake; \ } \ char cz##FunctionName##[] = "_" #FunctionName "@28"; #define SND_DefinePointer_void0(FunctionName,ret) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(void); \ ret (WINAPI *SNDDLLpfn##FunctionName)(void)=NULL; \ ret WINAPI FunctionName(void) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(); \ } \ ret WINAPI Fake##FunctionName(void) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@0"; #define SND_DefinePointer_void1(FunctionName,ret,typ1) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1)=NULL; \ ret WINAPI FunctionName(typ1 par1) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1); \ } \ ret WINAPI Fake##FunctionName(typ1 par1) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@4"; #define SND_DefinePointer_void2(FunctionName,ret,typ1,typ2) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1,par2); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@8"; #define SND_DefinePointer_void3(FunctionName,ret,typ1,typ2,typ3) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1,par2,par3); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@12"; #define SND_DefinePointer_void4(FunctionName,ret,typ1,typ2,typ3,typ4) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@16"; #define SND_DefinePointer_void5(FunctionName,ret,typ1,typ2,typ3,typ4,typ5) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5)\ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@20"; #define SND_DefinePointer_void7(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,typ6,typ7) \ typedef ret (WINAPI *SNDDLLtdpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \ ret (WINAPI *SNDDLLpfn##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7)=NULL; \ ret WINAPI FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \ { \ if (!SNDDLLpfn##FunctionName) DebugBreak(); \ (*SNDDLLpfn##FunctionName)(par1,par2,par3,par4,par5,par6,par7); \ } \ ret WINAPI Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \ { \ } \ char cz##FunctionName##[] = "_" #FunctionName "@28"; #ifdef __cplusplus } #endif #endif //__SNDDLLentryPoint__H__