From c73f7d18cc99940230570581bf2240fe3edcb8bc Mon Sep 17 00:00:00 2001 From: Flamefire Date: Tue, 18 Mar 2014 17:05:37 +0100 Subject: [PATCH] Resort members (no changes) --- Vocaluxe/Base/CBackgroundMusic.cs | 214 +++++++++++++++--------------- 1 file changed, 107 insertions(+), 107 deletions(-) diff --git a/Vocaluxe/Base/CBackgroundMusic.cs b/Vocaluxe/Base/CBackgroundMusic.cs index f23943f8..fb3164c3 100644 --- a/Vocaluxe/Base/CBackgroundMusic.cs +++ b/Vocaluxe/Base/CBackgroundMusic.cs @@ -123,7 +123,7 @@ namespace Vocaluxe.Base { _OwnSongsAvailable = value; if (_OwnSongsAvailable && _MusicSource != EBackgroundMusicSource.TR_CONFIG_NO_OWN_MUSIC) - AddOwnMusic(); + _AddOwnMusic(); } } @@ -203,62 +203,6 @@ namespace Vocaluxe.Base IsPlaying = false; } - public static void Update() - { - if (!IsPlaying) - return; - Debug.Assert(_CurrentMusicStream != -1 && _CurrentPlaylistElement != null); - - float timeToPlay; - if (Math.Abs(_CurrentPlaylistElement.Finish) < 0.001) //No End-Tag defined - timeToPlay = CSound.GetLength(_CurrentMusicStream) - CSound.GetPosition(_CurrentMusicStream); - else //End-Tag found - timeToPlay = _CurrentPlaylistElement.Finish - CSound.GetPosition(_CurrentMusicStream); - - bool finished = CSound.IsFinished(_CurrentMusicStream); - if (timeToPlay <= CSettings.BackgroundMusicFadeTime || finished) - { - if (RepeatSong) - _StartSong(); - else - Next(); - } - } - - /// - /// (Re-)Starts the _CurrentPlaylistElement - /// - private static void _StartSong() - { - Debug.Assert(_CurrentPlaylistElement != null); - //If we have an active stream, reuse it - if (_CurrentMusicStream < 0) - { - //otherwhise load - _CurrentMusicStream = CSound.Load(_CurrentPlaylistElement.MusicFilePath); - if (_CurrentMusicStream < 0) - return; - CSound.SetStreamVolume(_CurrentMusicStream, 0f); - CSound.Fade(_CurrentMusicStream, _Volume, CSettings.BackgroundMusicFadeTime); - } - //Seek to #Start-Tag, if found - if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON) - CSound.SetPosition(_CurrentMusicStream, _CurrentPlaylistElement.Start); - - if (_VideoEnabled) - { - if (_Video != -1) - { - if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON) - CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap + _CurrentPlaylistElement.Start); - else - CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap); - } - else - _LoadVideo(); - } - } - public static void Next() { Stop(); //stop last song if any @@ -304,7 +248,112 @@ namespace Vocaluxe.Base _StartSong(); } - public static void AddOwnMusic() + public static void Update() + { + if (!IsPlaying) + return; + Debug.Assert(_CurrentMusicStream != -1 && _CurrentPlaylistElement != null); + + float timeToPlay; + if (Math.Abs(_CurrentPlaylistElement.Finish) < 0.001) //No End-Tag defined + timeToPlay = CSound.GetLength(_CurrentMusicStream) - CSound.GetPosition(_CurrentMusicStream); + else //End-Tag found + timeToPlay = _CurrentPlaylistElement.Finish - CSound.GetPosition(_CurrentMusicStream); + + bool finished = CSound.IsFinished(_CurrentMusicStream); + if (timeToPlay <= CSettings.BackgroundMusicFadeTime || finished) + { + if (RepeatSong) + _StartSong(); + else + Next(); + } + } + + public static CTexture GetVideoTexture() + { + if (_Video == -1) + return null; + float vtime; + if (CVideo.GetFrame(_Video, ref _CurrentVideoTexture, CSound.GetPosition(_CurrentMusicStream), out vtime)) + { + if (_VideoFading != null) + { + bool finished; + _CurrentVideoTexture.Color.A = _VideoFading.GetValue(out finished); + if (finished) + _VideoFading = null; + } + return _CurrentVideoTexture; + } + return null; + } + + public static void SetMusicSource(EBackgroundMusicSource source) + { + if (_MusicSource == source) + return; + _MusicSource = source; + switch (_MusicSource) + { + case EBackgroundMusicSource.TR_CONFIG_NO_OWN_MUSIC: + _AddBackgroundMusic(); + _RemoveOwnMusic(); + break; + + case EBackgroundMusicSource.TR_CONFIG_ONLY_OWN_MUSIC: + _AddOwnMusic(); + _RemoveBackgroundMusic(); + break; + case EBackgroundMusicSource.TR_CONFIG_OWN_MUSIC: + _AddBackgroundMusic(); + _AddOwnMusic(); + break; + } + } + + public static void SetVolume(float volume) + { + _Volume = volume; + if (_CurrentMusicStream >= 0) + CSound.SetStreamVolume(_CurrentMusicStream, _Volume); + } + + /// + /// (Re-)Starts the _CurrentPlaylistElement + /// + private static void _StartSong() + { + Debug.Assert(_CurrentPlaylistElement != null); + //If we have an active stream, reuse it + if (_CurrentMusicStream < 0) + { + //otherwhise load + _CurrentMusicStream = CSound.Load(_CurrentPlaylistElement.MusicFilePath); + if (_CurrentMusicStream < 0) + return; + CSound.SetStreamVolume(_CurrentMusicStream, 0f); + CSound.Fade(_CurrentMusicStream, _Volume, CSettings.BackgroundMusicFadeTime); + } + //Seek to #Start-Tag, if found + if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON) + CSound.SetPosition(_CurrentMusicStream, _CurrentPlaylistElement.Start); + + if (_VideoEnabled) + { + if (_Video != -1) + { + if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON) + CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap + _CurrentPlaylistElement.Start); + else + CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap); + } + else + _LoadVideo(); + } + } + + private static void _AddOwnMusic() { if (_OwnMusicAdded) return; @@ -349,55 +398,6 @@ namespace Vocaluxe.Base _BackgroundMusicAdded = false; } - public static void SetMusicSource(EBackgroundMusicSource source) - { - if (_MusicSource == source) - return; - _MusicSource = source; - switch (_MusicSource) - { - case EBackgroundMusicSource.TR_CONFIG_NO_OWN_MUSIC: - _AddBackgroundMusic(); - _RemoveOwnMusic(); - break; - - case EBackgroundMusicSource.TR_CONFIG_ONLY_OWN_MUSIC: - AddOwnMusic(); - _RemoveBackgroundMusic(); - break; - case EBackgroundMusicSource.TR_CONFIG_OWN_MUSIC: - _AddBackgroundMusic(); - AddOwnMusic(); - break; - } - } - - public static void SetVolume(float volume) - { - _Volume = volume; - if (_CurrentMusicStream >= 0) - CSound.SetStreamVolume(_CurrentMusicStream, _Volume); - } - - public static CTexture GetVideoTexture() - { - if (_Video == -1) - return null; - float vtime; - if (CVideo.GetFrame(_Video, ref _CurrentVideoTexture, CSound.GetPosition(_CurrentMusicStream), out vtime)) - { - if (_VideoFading != null) - { - bool finished; - _CurrentVideoTexture.Color.A = _VideoFading.GetValue(out finished); - if (finished) - _VideoFading = null; - } - return _CurrentVideoTexture; - } - return null; - } - private static bool _IsBackgroundFile(CPlaylistElement element) { return _BGMusicFiles.Contains(element);