diff --git a/PartyModes/PartyModeTicTacToe/PartyScreenTicTacToeMain.cs b/PartyModes/PartyModeTicTacToe/PartyScreenTicTacToeMain.cs index 481196fc..1f37e910 100644 --- a/PartyModes/PartyModeTicTacToe/PartyScreenTicTacToeMain.cs +++ b/PartyModes/PartyModeTicTacToe/PartyScreenTicTacToeMain.cs @@ -348,6 +348,7 @@ namespace Vocaluxe.PartyModes public override void OnClose() { base.OnClose(); + _Base.BackgroundMusic.SetStatus(false); _Base.Sound.FadeAndStop(PreviewStream, 0f, 0.5f); } @@ -456,8 +457,9 @@ namespace Vocaluxe.PartyModes GameData.Songs.RemoveAt(0); } Menu.SongMenu.CSong Song = _Base.Songs.GetSongByID(SongID); - if(_Base.BackgroundMusic.IsPlaying()) - _Base.BackgroundMusic.Pause(); + + _Base.BackgroundMusic.SetStatus(true); + PreviewStream = _Base.Sound.Load(Song.GetMP3(), false); _Base.Sound.SetPosition(PreviewStream, Song.PreviewStart); _Base.Sound.SetStreamVolume(PreviewStream, 0f); @@ -491,8 +493,8 @@ namespace Vocaluxe.PartyModes { int SongID = Fields[SelectedField].Content.SongID; Menu.SongMenu.CSong Song = _Base.Songs.GetSongByID(SongID); - if (_Base.BackgroundMusic.IsPlaying()) - _Base.BackgroundMusic.Pause(); + _Base.BackgroundMusic.SetStatus(true); + PreviewStream = _Base.Sound.Load(Song.GetMP3(), false); _Base.Sound.SetPosition(PreviewStream, Song.PreviewStart); _Base.Sound.SetStreamVolume(PreviewStream, 0f); diff --git a/Vocaluxe/Base/CGraphics.cs b/Vocaluxe/Base/CGraphics.cs index 7df673a0..03aa28d3 100644 --- a/Vocaluxe/Base/CGraphics.cs +++ b/Vocaluxe/Base/CGraphics.cs @@ -502,7 +502,7 @@ namespace Vocaluxe.Base MouseEvent InputMouseEvent = new MouseEvent(); bool PopupPlayerControlAllowed = _CurrentScreen != EScreens.ScreenOptionsRecord && _CurrentScreen != EScreens.ScreenSing && - _CurrentScreen != EScreens.ScreenSong && _CurrentScreen != EScreens.ScreenCredits; + _CurrentScreen != EScreens.ScreenSong && _CurrentScreen != EScreens.ScreenCredits && !CBackgroundMusic.Disabled; bool PopupVolumeControlAllowed = _CurrentScreen != EScreens.ScreenCredits && _CurrentScreen != EScreens.ScreenOptionsRecord; diff --git a/Vocaluxe/Base/CMain.cs b/Vocaluxe/Base/CMain.cs index 816ccb83..fcac91de 100644 --- a/Vocaluxe/Base/CMain.cs +++ b/Vocaluxe/Base/CMain.cs @@ -303,6 +303,10 @@ namespace Vocaluxe.Base return CBackgroundMusic.VideoEnabled; } + public void SetStatus(bool Disabled) + { + CBackgroundMusic.Disabled = Disabled; + } public void Next() { diff --git a/VocaluxeLib/Menu/IMenu.cs b/VocaluxeLib/Menu/IMenu.cs index 609a2361..80948a81 100644 --- a/VocaluxeLib/Menu/IMenu.cs +++ b/VocaluxeLib/Menu/IMenu.cs @@ -133,7 +133,8 @@ namespace Vocaluxe.Menu bool IsPlaying(); bool SongHasVideo(); bool VideoEnabled(); - + + void SetStatus(bool Disabled); void Next(); void Previous(); void Pause();