#include "snd.h"

//-----------------------------------------------------------
//	ConvertRsvDiskToMem
//
//	But			: Convertir un BlockResourceDisk en Mem
//	Entrées : reference au structs ressources mem et disk
//	Sorties : neant
//------------------------------------------------------------
void SND_fn_vConvertResDiskToMemCD(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem,void * ptrBegin)
{	
}

//-----------------------------------------------------------
//	SND_fn_iInitCd
//
//	But			: Realiser l'init bas niveau du driver midi
//	Entrées : neant
//	Sorties : C_INIT_OK ou C_INIT_FAILED
//------------------------------------------------------------
int SND_fn_iInitCD(SND_tdstInitStruct *pInitStruct)
{
				return C_INIT_FAILED;
}
//-----------------------------------------------------------
//	SND_fn_iTestInitCd
//
//	But			: Verifier l'etat d'init du driver midi
//	Entrées : neant
//	Sorties : True ou False suivant l'etat
//------------------------------------------------------------
SndBool SND_fn_bTestInitCD(void)
{
	return C_INIT_FAILED;
}
//-----------------------------------------------------------
//	SND_fn_iDesInitCd
//
//	But			: Realiser la desnit bas niveau du driver midi
//	Entrées : neant
//	Sorties : neant
//------------------------------------------------------------
void SND_fn_vDesInitCD(void)
{
}
//-----------------------------------------------------------
//	SND_fn_vRemoveCallbackCd
//
//	But			: Remettre a zero la callback de la ressource 
//						joue sur la voie voice
//	Entrées : voie jouee
//	Sorties : neant
//------------------------------------------------------------
void SND_fn_vRemoveCallbackCD(long voice)
{
}
//-----------------------------------------------------------
//	SND_fn_bSetParamCd
//
//	But			: Faire varier en temps reel les parametres
//						de la ressource midi
//	Entrées : voie jouee, parametres sonores
//	Sorties : TRUE si maj possible FALSE sinon
//------------------------------------------------------------
SndBool SND_fn_bSetParamCD(long voice,SoundParam *par)
{
	return FALSE;
}
//-----------------------------------------------------------
//	SND_fn_bTestIsPlayingCd
//
//	But			: Une ressource midi est-elle active
//	Entrées : voie jouee
//	Sorties : Activite midi si voie bonne, FALSE sinon
//------------------------------------------------------------
SndBool SND_fn_bTestIsPlayingCD(long voice)
{
	return FALSE;
}




//-----------------------------------------------------------
//	SND_fn_lPlayCD
//
//	But			: Joue la ressource CD res
//	Entrées : La ressource, parametres son, la priorite et 
//						la callback
//	Sorties : voie allouee pour jouee la ressource
//------------------------------------------------------------
long		SND_fn_lPlayCD(tduRefRes res,SoundParam *par,long prio,SND_td_pfn_vSoundCallback fn_callback,long par_callback)
{
		return C_PLAY_FAILED;
}


//-----------------------------------------------------------
//	SND_fn_lPlayCDWithFade
//
//	But			: Joue la ressource CD res avec un fade
//	Entrées : La ressource, parametres son, la priorite et 
//						la callback
//	Sorties : voie allouee pour jouee la ressource
//------------------------------------------------------------
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)
{
	return C_PLAY_FAILED;
}


//-----------------------------------------------------------
//	SND_fn_vStopCd
//
//	But			: Stopper une voie
//	Entrées : la voie a stopper
//	Sorties : neant
//------------------------------------------------------------
void SND_fn_vStopCD(long voice)
{
}


//-----------------------------------------------------------
//	SND_fn_vStopCdWithFade
//
//	But			: Stopper une voie en faisant un fade 
//	Entrées : la voie a stopper
//	Sorties : neant
//------------------------------------------------------------
void SND_fn_vStopCDWithFade(long voice,unsigned long ulFadeOutDuration)
{
}


//-----------------------------------------------------------
//	SND_fn_vPauseCd
//
//	But			: Pauser une voie
//	Entrées : la voie a pauser
//	Sorties : true,false
//------------------------------------------------------------
void SND_fn_vPauseCD(long voice)
{
}
//-----------------------------------------------------------
//	SND_fn_vResumeCd
//
//	But			: Resumer une voie
//	Entrées : la voie a resumer
//	Sorties : True,false
//------------------------------------------------------------
void SND_fn_vResumeCD(long voice)
{
}

//-----------------------------------------------------------
//	SND_fn_vNextCDTrack
//
//	But			: passe a la voie suivante 
//	Entrées : neant
//	Sorties : Id de la track suivante
//------------------------------------------------------------
long SND_fn_lNextCDTrack()
{
    return C_PLAY_FAILED;
}

//-----------------------------------------------------------
//	SND_fn_bLoadCdTrack
//
//	But			: Charge une ressource CD, a partir du block ressource
//						au depart ou lorsqu'elle est modifiée
//	Entrées : Le block ressource et le nom du fichier midi
//	Sorties : true,false
//------------------------------------------------------------
SndBool SND_fn_bLoadCDTrack(tdstBlockResourceMem * pstPtr,int numTrack)
{
		return FALSE;
}


//-----------------------------------------------------------
//	SND_fn_bUnloadCdTrack
//
//	But			: Decharge une piste midi, a partir de la voie
//	Entrées : La voie a decharger
//	Sorties : true,false
//------------------------------------------------------------
SndBool SND_fn_bUnloadCDTrack(int i)
{
  return TRUE;
}


SndBool SND_fn_bLoadResScriptCd(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem)
{
	return FALSE;
}

SndBool SND_fn_bLoadResBinaryCd(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem)
{
	return FALSE;
}


void SND_CALL SND_fn_vReleaseDriverCD()
{
}

void SND_CALL SND_fn_vRestoreDriverCD()
{
}

//---------------------------------------------------------
//	GetPos: retourne la position "théorique" de la ressource
//			exprimé en seconde depuis le début
//			différent du temps absolu (car pitch, dérive..)
//	Entrée: voie concernée
//	Sortie: temps en S (SndReal)
//----------------------------------------------------------
SndReal SND_CALL SND_fn_rGetPosCD(long voie)
{
	return SND_C_POS_UNKNOWN;
}

//---------------------------------------------------------
//	GetLength: retourne la durée "théorique" de la ressource
//			exprimé en seconde (constant pour une ressource donnée)
//	Entrée: voie concernée
//	Sortie: durée en S (SndReal)
//----------------------------------------------------------
SndReal SND_CALL SND_fn_rGetLengthCD(long voie)
{
	return SND_C_POS_UNKNOWN;
}


// Partie de gestion de player de CD ouvert en partageable
void SND_fn_vSynchroCD(void)
{
}

SndBool  SND_fn_bCheckVersionResourceCD(tdstBlockResourceDisk* disk)
{
	return FALSE;
}




