/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
////																					 ////
////																					 ////
////								   - SCOLSound.h -									 ////
////																					 ////
////																					 ////
////				Implémentation des fonctions SCOL de la librairie sonore			 ////
////									 Version  1.0									 ////
////																					 ////
////								  Hilaire Verschuere								 ////
////																					 ////
////																					 ////
/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////


#ifndef _SCOLSOUND_H_
#define _SCOLSOUND_H_


// fun [Chn I] AsSnd
int asSndCreate(mmachine m) ;

// fun [AsSnd] I
int asSndDestroy(mmachine m) ;
int destroyAsSnd(mmachine m,int handsys,int objSound) ;

// fun [AsSnd I I I] AsSnd
int asSndInit(mmachine m) ;

// fun [AsSnd S I] AsSnd
int asSndFeed(mmachine m) ;

// fun [AsSnd P I] AsSnd
int asSndLoad(mmachine m) ;

// fun [AsSnd I] AsSnd
int asSndPlay(mmachine m) ;

// fun [AsSnd] AsSnd
int asSndStop(mmachine m) ;

// fun [] I
int asEnableAllSnd(mmachine m) ;

// fun [] I
int asDisableAllSnd(mmachine m) ;

// fun [AsSnd] AsSnd
int asSndReset(mmachine m) ;

// fun [AsSnd] I
int asSndGetSize (mmachine m) ;

// fun [AsSnd I I] AsSnd
int asSndSetTime (mmachine m) ;

// fun [AsSnd] I
int asSndGetTime (mmachine m) ;

// fun [I] I
int asSetVolume (mmachine m) ;

// fun [] I
int asGetVolume (mmachine m) ;

// fun [AsSnd I] AsSnd
int asSndSetVolume (mmachine m) ;

// fun [AsSnd] I
int asSndGetVolume (mmachine m) ;

// fun [AsSnd I] AsSnd
int asSndSetPan (mmachine m) ;

// fun [AsSnd] I
int asSndGetPan (mmachine m) ;

// fun [AsSnd I] AsSnd
int asSndSetFrequency(mmachine m) ;

// fun [AsSnd] I
int asSndGetFrequency(mmachine m) ;

// fun [AsSnd fun [AsSnd u0] u1 u0 [I r1]] AsSnd
int asSndSetCallbackTime(mmachine m) ;

// fun [S3d AsSnd] H3d
int as3dSndCreate(mmachine m) ;

// fun [S3d H3d I I] H3d
int as3dSndSetDistance(mmachine m) ;

// fun [S3d H3d] [I I]
int as3dSndGetDistance(mmachine m) ;

// fun [S3d H3d [I I] I] H3d
int as3dSndSetCone(mmachine m) ;

// fun [S3d H3d] [I I I]
int as3dSndGetCone (mmachine m) ;

// fun [S3d H3d] H3d
int as3dSndEnable(mmachine m) ;

// fun [S3d H3d] H3d
int as3dSndDisable(mmachine m) ;

// fun [S3d] H3d
int as3dListenerCreate (mmachine m) ;

// fun [S3d H3d] H3d
int al3dListenerSetActive (mmachine m) ;

// fun [S3d H3d I] I
int al3dListenerSetRollOff(mmachine m) ;

// fun [S3d H3d] I
int al3dListenerGetRollOff (mmachine m) ;

// fun [Chn] AsRecorder
int asRecorderCreate(mmachine m) ;

// fun [AsRecorder] I
int asRecorderDestroy(mmachine m) ;
int destroyAsRecorder(mmachine m,int handsys,int AsRecorder) ;

// fun [AsRecorder fun [AsSnd u0 S] u1 u0 I I I I I I] AsRecorder
int asRecorderInit(mmachine m) ;

// fun [AsRecorder] AsRecorder
int asRecorderStart(mmachine m) ;

// fun [AsRecorder] AsRecorder
int asRecorderStop(mmachine m) ;

//fun [Chn P] Wave
int asWaveCreate(mmachine m) ;

//fun [AsWave I I] AsWave
int asWaveSeek(mmachine m) ;

//fun [Wave] I
int asWaveDestroy(mmachine m) ;
int destroyAsWave(mmachine m,int handsys,int wave) ;

//fun [P] [I I I I]
int asWaveGetInfo(mmachine m) ;

//fun [Wave I I I] S
int asWaveRead(mmachine m) ;

//fun [Chn] MP3
int asMp3Create(mmachine m) ;

//fun [MP3] I
int asMp3Destroy(mmachine m) ;

//fun [S] [I I I I]
int asMp3GetFrameInfo(mmachine m) ;

//fun [MP3 S] S
int asMp3Decode(mmachine m) ;


bool initDirectSound() ;

int SCOLloadSound(mmachine m,cbmachine w) ;
int SCOLfreeSound() ;

int SCOLload3dSound(mmachine m,cbmachine w) ;
int SCOLfree3dSound() ;

int SCOLloadRecorder(mmachine m,cbmachine w) ;
int SCOLfreeRecorder() ;

int SCOLloadSDSound(mmachine m,cbmachine w) ;
int SCOLfreeSDSound() ;

int SCOLloadEasySound(mmachine m,cbmachine w) ;
int SCOLfreeEasySound() ;


int SCOLloadWave(mmachine m,cbmachine w) ;
int SCOLfreeWave() ;

int SCOLloadMP3(mmachine m,cbmachine w) ;
int SCOLfreeMP3() ;


#endif






