diff --git a/stepmania/Themes/default/Sounds/ScreenCompany music.ogg b/stepmania/Themes/default/Sounds/ScreenCompany music.ogg index 4751f8eddf..e32d41bc9b 100644 Binary files a/stepmania/Themes/default/Sounds/ScreenCompany music.ogg and b/stepmania/Themes/default/Sounds/ScreenCompany music.ogg differ diff --git a/stepmania/Themes/default/Sounds/ScreenCredits music (loop).ogg b/stepmania/Themes/default/Sounds/ScreenCredits music (loop).ogg new file mode 100644 index 0000000000..01c6f69b45 Binary files /dev/null and b/stepmania/Themes/default/Sounds/ScreenCredits music (loop).ogg differ diff --git a/stepmania/Themes/default/Sounds/ScreenMusicScroll music (loop).ogg b/stepmania/Themes/default/Sounds/ScreenMusicScroll music (loop).ogg new file mode 100644 index 0000000000..15269000dd Binary files /dev/null and b/stepmania/Themes/default/Sounds/ScreenMusicScroll music (loop).ogg differ diff --git a/stepmania/Themes/default/Sounds/ScreenRanking music (loop).ogg b/stepmania/Themes/default/Sounds/ScreenRanking music (loop).ogg new file mode 100644 index 0000000000..0407f05747 Binary files /dev/null and b/stepmania/Themes/default/Sounds/ScreenRanking music (loop).ogg differ diff --git a/stepmania/src/RageSound.cpp b/stepmania/src/RageSound.cpp index ee9b783944..27b02d613f 100644 --- a/stepmania/src/RageSound.cpp +++ b/stepmania/src/RageSound.cpp @@ -178,6 +178,12 @@ bool RageSound::Load(CString sSoundFilePath, int precache) m_sFilePath = sSoundFilePath; position = 0; + + // Check for "loop" hint + if( m_sFilePath.Find("loop") != -1 ) + SetStopMode( M_LOOP ); + + SoundReader_FileReader *NewSample = new RageSoundReader_LowLevel; if(!NewSample->Open(sSoundFilePath.c_str())) RageException::Throw( "RageSoundManager::RageSoundManager: error opening sound '%s': '%s'", diff --git a/stepmania/src/RageSoundManager.cpp b/stepmania/src/RageSoundManager.cpp index fbcb7e29bb..f3eb66854d 100644 --- a/stepmania/src/RageSoundManager.cpp +++ b/stepmania/src/RageSoundManager.cpp @@ -256,7 +256,7 @@ void RageSoundManager::MixAudio(Sint16 *dst, const Sint16 *src, Uint32 len, floa } } -void RageSoundManager::PlayMusic(CString file, bool loop, float start_sec, float length_sec, float fade_len) +void RageSoundManager::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()) @@ -272,8 +272,8 @@ void RageSoundManager::PlayMusic(CString file, bool loop, float start_sec, float return; music->Load( file, false ); - - music->SetStopMode(loop? RageSound::M_LOOP:RageSound::M_STOP); + if( force_loop ) + music->SetStopMode( RageSound::M_LOOP ); if(start_sec == -1) music->SetStartSeconds(); diff --git a/stepmania/src/RageSoundManager.h b/stepmania/src/RageSoundManager.h index a3cede7a2f..02b752a83e 100644 --- a/stepmania/src/RageSoundManager.h +++ b/stepmania/src/RageSoundManager.h @@ -60,7 +60,7 @@ public: * itself to this. */ set all_sounds; - void PlayMusic(CString file, bool loop = true, float start_sec = -1, float length_sec = -1, float fade_len = 0); + void PlayMusic(CString file, bool force_loop = false, float start_sec = -1, float length_sec = -1, float fade_len = 0); void StopMusic() { PlayMusic(""); } static void MixAudio(Sint16 *dst, const Sint16 *src, Uint32 len, float volume); }; diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index db5644c10f..7d14c312c5 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -140,7 +140,7 @@ try_element_again: { "*.ini", NULL }, { "*.model", "*.sprite", "*.png", "*.jpg", "*.bmp", "*.gif","*.avi", "*.mpg", "*.mpeg", NULL}, { "*.png", NULL }, - { ".set", ".mp3", ".ogg", ".wav", NULL }, + { ".set", "*.mp3", "*.ogg", "*.wav", NULL }, }; const char **asset_masks = masks[category];