#include "global.h" #include "RageSoundManager.h" #include "RageSounds.h" #include "RageSound.h" RageSounds *SOUND = NULL; RageSounds::RageSounds() { /* Init RageSoundMan first: */ ASSERT( SOUNDMAN ); music = new RageSound; } RageSounds::~RageSounds() { delete music; } CString RageSounds::GetMusicPath() const { return music->GetLoadedFilePath(); } void RageSounds::PlayMusic(CString file, bool force_loop, float start_sec, float length_sec, float fade_len) { // LOG->Trace("play '%s' (current '%s')", file.c_str(), music->GetLoadedFilePath().c_str()); if(music->IsPlaying()) { if( !music->GetLoadedFilePath().CompareNoCase(file) ) return; // do nothing music->StopPlaying(); } /* If file is blank, just stop. */ if(file.empty()) { music->Unload(); return; } music->Load( file, false ); if( force_loop ) music->SetStopMode( RageSound::M_LOOP ); if(start_sec == -1) music->SetStartSeconds(); else music->SetStartSeconds(start_sec); if(length_sec == -1) music->SetLengthSeconds(); else music->SetLengthSeconds(length_sec); music->SetFadeLength(fade_len); music->SetPositionSeconds(); music->StartPlaying(); } void RageSounds::PlayOnce( CString sPath ) { SOUNDMAN->PlayOnce( sPath ); } void RageSounds::PlayOnceFromDir( CString PlayOnceFromDir ) { SOUNDMAN->PlayOnceFromDir( PlayOnceFromDir ); } float RageSounds::GetPlayLatency() const { return SOUNDMAN->GetPlayLatency(); } /* ----------------------------------------------------------------------------- Copyright (c) 2002-2003 by the person(s) listed below. All rights reserved. Glenn Maynard ----------------------------------------------------------------------------- */