/*
 *  
 * 	ARGWSND.H
 */

#ifndef __DSIF
#define __DSIF

#ifdef __cplusplus
extern "C" {
#endif

#if !defined(__DSIFDLL)
#define DSIFAPI __declspec(dllimport) 
#else
#define DSIFAPI __declspec(dllexport) 
#endif

// defines
#define LOAD_NO_MORE_ROOM   -1
#define LOAD_FILE_FAILED    -2
#define LOAD_SOUND_NOT_INIT -3
#define DUPILCATION_FAILED  -4
#define DUPLICATE_BAD_SRC   -5

#define PAN_MID         0
#define PAN_FULL_LEFT   -10000
#define PAN_FULL_RIGHT  10000

#define MAX_VOL   0
#define MIN_VOL   -10000

DSIFAPI
BOOL  WINAPI InitialiseSound(HWND hwnd);

DSIFAPI
void  WINAPI  ShutdownSound(void);

DSIFAPI
int   WINAPI  LoadSample(char *WavFile);

DSIFAPI
void  WINAPI  FreeSample(int SampleId);

DSIFAPI
void  WINAPI FreeAllSamples(void);

// Play Management
DSIFAPI
int  WINAPI PlaySample(int SampleId,int Volume);	// returns slot

DSIFAPI
void WINAPI  StopSample(int slot);

DSIFAPI
void WINAPI  StopAllSamples(void);

DSIFAPI
void WINAPI  PauseSample(int slot);

DSIFAPI
void WINAPI  ResumeSample(int slot);

DSIFAPI
void WINAPI  SetSampleVolume(int slot, int Volume);

DSIFAPI
void WINAPI  SetSamplePan(int slot, int Pan);


#ifdef __cplusplus
}
#endif

#endif // __DSIF
