public static void Update() { if (_AllFileNames.Count > 0 && _CurrentMusicStream != -1) { float timeToPlay; if (_CurrentPlaylistElement.Finish == 0f) //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 (_Playing && (timeToPlay <= CSettings.BackgroundMusicFadeTime || finished)) { if (_RepeatSong) { CSound.SetPosition(_CurrentMusicStream, 0); if (_VideoEnabled && _Video != -1) { CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap); } } else { Next(); } } } }
public static void Update() { if (_AllFileNames.Count > 0 && _CurrentMusicStream != -1) { float timeToPlay = CSound.GetLength(_CurrentMusicStream) - CSound.GetPosition(_CurrentMusicStream); bool finished = CSound.IsFinished(_CurrentMusicStream); if (_Playing && (timeToPlay <= CSettings.BackgroundMusicFadeTime || finished)) { Next(); } } }
public static void Pause() { if (!_Playing) { return; } if (_VideoEnabled && _Video != -1) { CVideo.VdPause(_Video); CVideo.VdSkip(_Video, CSound.GetPosition(_CurrentMusicStream) + CSettings.BackgroundMusicFadeTime, _CurrentPlaylistElement.VideoGap); } CSound.FadeAndPause(_CurrentMusicStream, 0f, CSettings.BackgroundMusicFadeTime); _Playing = false; }
public static STexture GetVideoTexture() { if (_Video != -1) { float vtime = 0f; CVideo.VdGetFrame(_Video, ref _CurrentVideoTexture, CSound.GetPosition(_CurrentMusicStream), ref vtime); if (_FadeTimer.ElapsedMilliseconds <= 3000L) { _CurrentVideoTexture.color.A = (_FadeTimer.ElapsedMilliseconds / 3000f); } else { _CurrentVideoTexture.color.A = 1f; _FadeTimer.Stop(); } return(_CurrentVideoTexture); } return(new STexture(-1)); }
public static void Previous() { if (_PreviousFileNames.Count > 0 || _PreviousMusicIndex >= 0) { float pos = CSound.GetPosition(_CurrentMusicStream); if (CSound.GetPosition(_CurrentMusicStream) >= 1.5f) { CSound.SetPosition(_CurrentMusicStream, 0); if (_VideoEnabled && _Video != -1) { CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap); } } else { Stop(); _PreviousMusicIndex--; if (_PreviousMusicIndex < 0) { _PreviousMusicIndex = 0; //No previous songs left, so play the first } _CurrentPlaylistElement = _PreviousFileNames[_PreviousMusicIndex]; _CurrentMusicStream = CSound.Load(_CurrentPlaylistElement.MusicFilePath); CSound.SetStreamVolumeMax(_CurrentMusicStream, CConfig.BackgroundMusicVolume); if (_VideoEnabled) { LoadVideo(); } CSound.SetStreamVolume(_CurrentMusicStream, 0f); Play(); } } else if (_CurrentMusicStream != -1) { CSound.SetPosition(_CurrentMusicStream, 0); if (_VideoEnabled && _Video != -1) { CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap); } } }
public float GetPosition(int soundStream) { return(CSound.GetPosition(soundStream)); }