reman3/Rayman_X/cpa/tempgrp/SND/inc/Win95/snddll.h

1576 lines
75 KiB
C

#ifndef __SNDDLLentryPoint__H__
#define __SNDDLLentryPoint__H__
#include <windef.h>
#include <mmsystem.h>
#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__