//initialize sound system
CAudioManager::CAudioManager(){
  m_bValidAudio = false;
  
  if( FSOUND_Init(44000,64,0) == false ){
		m_bValidAudio = false;
  }
  else{
		m_bValidAudio = true;
    m_MaxChannels = FSOUND_GetMaxChannels();
  }
}
Beispiel #2
0
int CFMOD::PlaySample(char *sname,int wchannel,int flags)
{
    int number_samples_playing=0;
    CSample *sample; if(!bfmod) return 0;
    sample=GetSample(sname); if(!sample) return 0;
    for(int i=0;i<FSOUND_GetMaxChannels();i++)
    {
        if(sample->data==FSOUND_GetCurrentSample(i))
        {
            number_samples_playing++;
        }
    }
    if(number_samples_playing>=sample->max_simultaneous) return 0;
    if(flags) FSOUND_Sample_SetMode(sample->data, flags);
    FSOUND_SetVolume(wchannel,sample->volume);
    return FSOUND_PlaySound(wchannel,sample->data);
}
Beispiel #3
0
char CFMOD::InitializeSound()
{
    char x;
    FSOUND_SetMinHardwareChannels(8);
    FSOUND_SetMaxHardwareChannels(MAX_SND_CHANNELS);
    x = FSOUND_Init(44100, MAX_SND_CHANNELS, 0);
    Log->AddEntry(va("FMOD Version: %.2f started",FSOUND_GetVersion()));
    if(x)
    {
        bfmod=1;
        maxchannels=FSOUND_GetMaxChannels();
        Log->AddEntry(va("FMOD Max Channels [%d]",maxchannels));
    }
    else
    {
        bfmod=0;
        return 0;
    }
    SetSoundVolume(svol);

    return x;
}
Beispiel #4
0
bool CSoundManager::InitFMOD(SOUNDMANAGER_PARAMETERS smpp)
{
	Protokoll.WriteText ("Initializing FMOD\n", false);

	FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND);					// Output-Mode setzen
	FSOUND_SetDriver(0);									// Default-Soundkarte setzen
	FSOUND_SetMixer(FSOUND_MIXER_QUALITY_AUTODETECT);		// Mixer-Quality setzen

	InitSuccessfull = (TRUE == FSOUND_Init(smpp.Mixrate, smpp.MaxSoftwareChannels, smpp.Flags));

	if (false == InitSuccessfull)
	{	
		Protokoll.WriteText ("\n->", false);
		Protokoll.WriteText (GetFMODErrorString(FSOUND_GetError()), false);				
		return false;
	}
	
	MaxChannels = FSOUND_GetMaxChannels();
	Protokoll.WriteText ("Successfull\n", false);

	return true;
} // InitFMOD