From eead8b6c8f668e50a492a50541ce1e40f3e1801a Mon Sep 17 00:00:00 2001 From: Florian Kuepper Date: Sat, 8 Dec 2012 17:32:15 +0100 Subject: [PATCH 1/8] Fix for TextRelativeX in SelectSlide. --- Vocaluxe/Menu/CSelectSlide.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Vocaluxe/Menu/CSelectSlide.cs b/Vocaluxe/Menu/CSelectSlide.cs index 9555a575..0d51f358 100644 --- a/Vocaluxe/Menu/CSelectSlide.cs +++ b/Vocaluxe/Menu/CSelectSlide.cs @@ -743,8 +743,8 @@ namespace Vocaluxe.Menu if (_NumVisible < 1 || _ValueNames.Count == 0) return; - float x = Rect.X + Rect.W * 0.1f; - float dx = Rect.W * 0.8f / _NumVisible; + float x = Rect.X + (Rect.W - TextRelativeX) * 0.1f; + float dx = (Rect.W - TextRelativeX) * 0.8f / _NumVisible; //float y = Rect.Y + (Rect.H - TextH); int offset = _Selection - (int)_NumVisible/2; From 5ee5833a89a923d328977481201a8b7d79abb5d9 Mon Sep 17 00:00:00 2001 From: Florian Kuepper Date: Sat, 8 Dec 2012 19:30:22 +0100 Subject: [PATCH 2/8] Fixed typo. --- Output/Languages/Deutsch.xml | 2 +- Output/Languages/English.xml | 2 +- Output/Languages/French.xml | 2 +- Output/Languages/Spanish.xml | 2 +- Output/Themes/Ambient/Screens/ScreenOptions.xml | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Output/Languages/Deutsch.xml b/Output/Languages/Deutsch.xml index 049ce2b3..98c84333 100644 --- a/Output/Languages/Deutsch.xml +++ b/Output/Languages/Deutsch.xml @@ -167,7 +167,7 @@ Einstellungen Spiel - Sound + Sound Aufnahme Video Songtext diff --git a/Output/Languages/English.xml b/Output/Languages/English.xml index 39a1a327..c07c4636 100644 --- a/Output/Languages/English.xml +++ b/Output/Languages/English.xml @@ -167,7 +167,7 @@ Menu Options Game - Sound + Sound Record Video Lyrics diff --git a/Output/Languages/French.xml b/Output/Languages/French.xml index 6da3296d..d8abb7dd 100644 --- a/Output/Languages/French.xml +++ b/Output/Languages/French.xml @@ -146,7 +146,7 @@ Menu des Options Jeu - Son + Son Enregistrement Vidéo Thème diff --git a/Output/Languages/Spanish.xml b/Output/Languages/Spanish.xml index 2c4a8456..12adb00e 100644 --- a/Output/Languages/Spanish.xml +++ b/Output/Languages/Spanish.xml @@ -146,7 +146,7 @@ Opciones del Menú Juego - Sonido + Sonido Grabación Video Estilos diff --git a/Output/Themes/Ambient/Screens/ScreenOptions.xml b/Output/Themes/Ambient/Screens/ScreenOptions.xml index 808f1d29..39a927f9 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptions.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptions.xml @@ -155,7 +155,7 @@ Outline - TR_SCRENNO_BUTTON_SOUND + TR_SCREENO_BUTTON_SOUND @@ -401,4 +401,4 @@ - \ No newline at end of file + From 2235f85896166271edc709f0a63ea29a8b67c507 Mon Sep 17 00:00:00 2001 From: Florian Kuepper Date: Sat, 8 Dec 2012 22:30:40 +0100 Subject: [PATCH 3/8] Fix bug on song-screen after theme-change. --- Vocaluxe/Screens/CScreenSong.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs index ed1c775b..2698fa09 100644 --- a/Vocaluxe/Screens/CScreenSong.cs +++ b/Vocaluxe/Screens/CScreenSong.cs @@ -107,6 +107,8 @@ namespace Vocaluxe.Screens Playlists[htPlaylists(Playlist)].Init(); + _AvailableGameModes.Clear(); + ApplyVolume(); } From 968fc04c5ab0f67f0da0379ce83a7126532bf10f Mon Sep 17 00:00:00 2001 From: Florian Kuepper Date: Sat, 8 Dec 2012 22:38:43 +0100 Subject: [PATCH 4/8] Fixed bug with playlist-mouse-handling. --- Vocaluxe/Menu/CPlaylist.cs | 392 +++++++++++++++++++------------------ 1 file changed, 198 insertions(+), 194 deletions(-) diff --git a/Vocaluxe/Menu/CPlaylist.cs b/Vocaluxe/Menu/CPlaylist.cs index 575c267e..a7637f06 100644 --- a/Vocaluxe/Menu/CPlaylist.cs +++ b/Vocaluxe/Menu/CPlaylist.cs @@ -420,7 +420,7 @@ namespace Vocaluxe.Menu public bool IsMouseOver(MouseEvent MouseEvent) { - return CHelper.IsInBounds(Rect, MouseEvent.X, MouseEvent.Y) || _Interactions.IsMouseOver(MouseEvent); + return CHelper.IsInBounds(CompleteRect, MouseEvent.X, MouseEvent.Y) || _Interactions.IsMouseOver(MouseEvent); } public void UnloadTextures() @@ -835,145 +835,223 @@ namespace Vocaluxe.Menu public bool HandleMouse(MouseEvent MouseEvent) { - _Interactions.HandleMouse(MouseEvent); - if (CHelper.IsInBounds(CompleteRect, MouseEvent) && Visible) { - //Scroll - if (MouseEvent.Wheel > 0) - { - if (PlaylistElements.Count + Offset + MouseEvent.Wheel <= PlaylistElementContents.Count) - { - Offset += MouseEvent.Wheel; - Update(); - } - return true; - } - else if (MouseEvent.Wheel < 0) - { - if (Offset + MouseEvent.Wheel >= 0) - { - Offset += MouseEvent.Wheel; - Update(); - } - return true; - } + _Interactions.HandleMouse(MouseEvent); - bool hover_set = false; - for (int i = 0; i < PlaylistElements.Count; i++) + if (CHelper.IsInBounds(Rect, MouseEvent) && Visible) { - //Hover for playlist-element - if (PlaylistElementContents.Count - 1 >= i && CHelper.IsInBounds(PlaylistElements[i].Background.Rect, MouseEvent)) + //Scroll + if (MouseEvent.Wheel > 0) { - hover_set = true; - CurrentPlaylistElement = i; - _Interactions.SetInteractionToSelectSlide(PlaylistElements[CurrentPlaylistElement].SelectSlide); - _Interactions.ProcessMouseMove(MouseEvent.X, MouseEvent.Y); - } - - //Delete Entry with RB - if (CHelper.IsInBounds(PlaylistElements[i].Background.Rect, MouseEvent) && MouseEvent.RB && PlaylistElements[i].Content != -1) - { - CPlaylists.Playlists[ActivePlaylistID].DeleteSong(PlaylistElements[i].Content); - UpdatePlaylist(); + if (PlaylistElements.Count + Offset + MouseEvent.Wheel <= PlaylistElementContents.Count) + { + Offset += MouseEvent.Wheel; + Update(); + } return true; } - } - if (!hover_set) - { - CurrentPlaylistElement = -1; - } - - switch (_EditMode) - { - //Normal mode - case EEditMode.None: - - //LB actions - if (MouseEvent.LB) + else if (MouseEvent.Wheel < 0) + { + if (Offset + MouseEvent.Wheel >= 0) { - if (CurrentPlaylistElement != -1) - { - CPlaylists.Playlists[ActivePlaylistID].Songs[CurrentPlaylistElement + Offset].GameMode = PlaylistElementContents[CurrentPlaylistElement + Offset].Modes[PlaylistElements[CurrentPlaylistElement].SelectSlide.Selection]; - UpdatePlaylist(); - } - if (_Theme.ButtonPlaylistClose.Selected) - { - ClosePlaylist(); - return true; - } - else if (_Theme.ButtonPlaylistSing.Selected) - { - StartPlaylistSongs(); - return true; - } - else if (_Theme.ButtonPlaylistSave.Selected) - { - CPlaylists.SavePlaylist(ActivePlaylistID); - return true; - } - else if (_Theme.ButtonPlaylistDelete.Selected) - { - CPlaylists.DeletePlaylist(ActivePlaylistID); - ClosePlaylist(); - return true; - } - else if (_Theme.ButtonPlaylistName.Selected) - { - _EditMode = EEditMode.PlaylistName; - _Theme.ButtonPlaylistName.EditMode = true; - return true; - } + Offset += MouseEvent.Wheel; + Update(); + } + return true; + } + + bool hover_set = false; + for (int i = 0; i < PlaylistElements.Count; i++) + { + //Hover for playlist-element + if (PlaylistElementContents.Count - 1 >= i && CHelper.IsInBounds(PlaylistElements[i].Background.Rect, MouseEvent)) + { + hover_set = true; + CurrentPlaylistElement = i; + _Interactions.SetInteractionToSelectSlide(PlaylistElements[CurrentPlaylistElement].SelectSlide); + _Interactions.ProcessMouseMove(MouseEvent.X, MouseEvent.Y); } - //Change order with holding LB - if (MouseEvent.LBH && CurrentPlaylistElement != -1 && PlaylistElementContents.Count > 1 && DragAndDropSongID == -1) + //Delete Entry with RB + if (CHelper.IsInBounds(PlaylistElements[i].Background.Rect, MouseEvent) && MouseEvent.RB && PlaylistElements[i].Content != -1) { - - ChangeOrderSource = CurrentPlaylistElement + Offset; + CPlaylists.Playlists[ActivePlaylistID].DeleteSong(PlaylistElements[i].Content); + UpdatePlaylist(); + return true; + } + } + if (!hover_set) + { + CurrentPlaylistElement = -1; + } - //Update of Drag/Drop-Texture - if (ChangeOrderSource >= PlaylistElementContents.Count) - return true; + switch (_EditMode) + { + //Normal mode + case EEditMode.None: - ChangeOrderElement = new PlaylistElement(PlaylistElements[CurrentPlaylistElement]); - ChangeOrderElement.Background.Rect.Z = CSettings.zNear; - ChangeOrderElement.Cover.Rect.Z = CSettings.zNear; - ChangeOrderElement.SelectSlide.Rect.Z = CSettings.zNear; - ChangeOrderElement.SelectSlide.RectArrowLeft.Z = CSettings.zNear; - ChangeOrderElement.SelectSlide.RectArrowRight.Z = CSettings.zNear; - ChangeOrderElement.Text1.Z = CSettings.zNear; + //LB actions + if (MouseEvent.LB) + { + if (CurrentPlaylistElement != -1) + { + CPlaylists.Playlists[ActivePlaylistID].Songs[CurrentPlaylistElement + Offset].GameMode = PlaylistElementContents[CurrentPlaylistElement + Offset].Modes[PlaylistElements[CurrentPlaylistElement].SelectSlide.Selection]; + UpdatePlaylist(); + } + if (_Theme.ButtonPlaylistClose.Selected) + { + ClosePlaylist(); + return true; + } + else if (_Theme.ButtonPlaylistSing.Selected) + { + StartPlaylistSongs(); + return true; + } + else if (_Theme.ButtonPlaylistSave.Selected) + { + CPlaylists.SavePlaylist(ActivePlaylistID); + return true; + } + else if (_Theme.ButtonPlaylistDelete.Selected) + { + CPlaylists.DeletePlaylist(ActivePlaylistID); + ClosePlaylist(); + return true; + } + else if (_Theme.ButtonPlaylistName.Selected) + { + _EditMode = EEditMode.PlaylistName; + _Theme.ButtonPlaylistName.EditMode = true; + return true; + } + } - ChangeOrderElement.Background.Texture = CTheme.GetSkinTexture(_Theme.TextureBackgroundName); - ChangeOrderElement.Background.Color = BackgroundColor; + //Change order with holding LB + if (MouseEvent.LBH && CurrentPlaylistElement != -1 && PlaylistElementContents.Count > 1 && DragAndDropSongID == -1) + { + ChangeOrderSource = CurrentPlaylistElement + Offset; + + //Update of Drag/Drop-Texture + if (ChangeOrderSource >= PlaylistElementContents.Count) + return true; + + ChangeOrderElement = new PlaylistElement(PlaylistElements[CurrentPlaylistElement]); + ChangeOrderElement.Background.Rect.Z = CSettings.zNear; + ChangeOrderElement.Cover.Rect.Z = CSettings.zNear; + ChangeOrderElement.SelectSlide.Rect.Z = CSettings.zNear; + ChangeOrderElement.SelectSlide.RectArrowLeft.Z = CSettings.zNear; + ChangeOrderElement.SelectSlide.RectArrowRight.Z = CSettings.zNear; + ChangeOrderElement.Text1.Z = CSettings.zNear; + + ChangeOrderElement.Background.Texture = CTheme.GetSkinTexture(_Theme.TextureBackgroundName); + ChangeOrderElement.Background.Color = BackgroundColor; + + OldMousePosX = MouseEvent.X; + OldMousePosY = MouseEvent.Y; + + _EditMode = EEditMode.ChangeOrder; + } + + if (!MouseEvent.LBH && DragAndDropSongID != -1) + { + EGameMode gm = EGameMode.TR_GAMEMODE_NORMAL; + CSong song = CSongs.GetSong(DragAndDropSongID); + + if (song != null) + { + if (song.IsDuet) + gm = EGameMode.TR_GAMEMODE_DUET; + + if (CurrentPlaylistElement != -1) + { + CPlaylists.Playlists[ActivePlaylistID].SongInsert(CurrentPlaylistElement + Offset, DragAndDropSongID, gm); + UpdatePlaylist(); + } + else + { + if (MouseEvent.Y < PlaylistElements[0].Background.Rect.Y && Offset == 0) + { + CPlaylists.Playlists[ActivePlaylistID].SongInsert(0, DragAndDropSongID, gm); + UpdatePlaylist(); + } + else + { + if (PlaylistElements.Count + Offset >= PlaylistElementContents.Count) + { + float min = 0f; + for (int i = PlaylistElements.Count - 1; i >= 0; i--) + { + if (PlaylistElements[i].SelectSlide.Visible) + { + min = PlaylistElements[i].SelectSlide.Rect.Y + PlaylistElements[i].SelectSlide.Rect.H; + break; + } + } + + if (MouseEvent.Y > min) + { + CPlaylists.Playlists[ActivePlaylistID].AddSong(DragAndDropSongID, gm); + UpdatePlaylist(); + ScrollToBottom(); + } + } + } + DragAndDropSongID = -1; + UpdatePlaylist(); + } + } + } + + break; + + case EEditMode.PlaylistName: + _Interactions.SetInteractionToButton(_Theme.ButtonPlaylistName); + CurrentPlaylistElement = -1; + if (MouseEvent.LB) + { + if (_Theme.ButtonPlaylistName.Selected) + { + CPlaylists.Playlists[ActivePlaylistID].PlaylistName = _Theme.ButtonPlaylistName.Text.Text; + CPlaylists.Playlists[ActivePlaylistID].SavePlaylist(); + _EditMode = EEditMode.None; + return true; + } + } + else if (MouseEvent.RB) + { + if (_Theme.ButtonPlaylistName.Selected) + { + _Theme.ButtonPlaylistName.Text.Text = CPlaylists.Playlists[ActivePlaylistID].PlaylistName; + _EditMode = EEditMode.None; + _Theme.ButtonPlaylistName.EditMode = false; + return true; + } + } + break; + + case EEditMode.ChangeOrder: + //Actions according to playlist-element + + //Update coords for Drag/Drop-Texture + ChangeOrderElement.MouseMove(MouseEvent.X, MouseEvent.Y, OldMousePosX, OldMousePosY); OldMousePosX = MouseEvent.X; OldMousePosY = MouseEvent.Y; - _EditMode = EEditMode.ChangeOrder; - } - - if (!MouseEvent.LBH && DragAndDropSongID != -1) - { - EGameMode gm = EGameMode.TR_GAMEMODE_NORMAL; - CSong song = CSongs.GetSong(DragAndDropSongID); - - if (song != null) + if (!MouseEvent.LBH) { - if (song.IsDuet) - gm = EGameMode.TR_GAMEMODE_DUET; - - if (CurrentPlaylistElement != -1) + if (CurrentPlaylistElement != -1 && CurrentPlaylistElement + Offset != ChangeOrderSource) { - CPlaylists.Playlists[ActivePlaylistID].SongInsert(CurrentPlaylistElement + Offset, DragAndDropSongID, gm); + CPlaylists.Playlists[ActivePlaylistID].SongMove(ChangeOrderSource, CurrentPlaylistElement + Offset); UpdatePlaylist(); } - else + else if (CurrentPlaylistElement == -1) { if (MouseEvent.Y < PlaylistElements[0].Background.Rect.Y && Offset == 0) { - CPlaylists.Playlists[ActivePlaylistID].SongInsert(0, DragAndDropSongID, gm); - UpdatePlaylist(); + CPlaylists.Playlists[ActivePlaylistID].SongMove(ChangeOrderSource, 0); } else { @@ -991,93 +1069,19 @@ namespace Vocaluxe.Menu if (MouseEvent.Y > min) { - CPlaylists.Playlists[ActivePlaylistID].AddSong(DragAndDropSongID, gm); - UpdatePlaylist(); - ScrollToBottom(); + CPlaylists.Playlists[ActivePlaylistID].SongMove(ChangeOrderSource, PlaylistElementContents.Count - 1); } } } - DragAndDropSongID = -1; + UpdatePlaylist(); } - } - } - - break; - - case EEditMode.PlaylistName: - _Interactions.SetInteractionToButton(_Theme.ButtonPlaylistName); - CurrentPlaylistElement = -1; - if (MouseEvent.LB) - { - if (_Theme.ButtonPlaylistName.Selected) - { - CPlaylists.Playlists[ActivePlaylistID].PlaylistName = _Theme.ButtonPlaylistName.Text.Text; - CPlaylists.Playlists[ActivePlaylistID].SavePlaylist(); _EditMode = EEditMode.None; - return true; } - } - else if (MouseEvent.RB) - { - if (_Theme.ButtonPlaylistName.Selected) - { - _Theme.ButtonPlaylistName.Text.Text = CPlaylists.Playlists[ActivePlaylistID].PlaylistName; - _EditMode = EEditMode.None; - _Theme.ButtonPlaylistName.EditMode = false; - return true; - } - } - break; - - case EEditMode.ChangeOrder: - //Actions according to playlist-element - - //Update coords for Drag/Drop-Texture - ChangeOrderElement.MouseMove(MouseEvent.X, MouseEvent.Y, OldMousePosX, OldMousePosY); - OldMousePosX = MouseEvent.X; - OldMousePosY = MouseEvent.Y; - - if (!MouseEvent.LBH) - { - if (CurrentPlaylistElement != -1 && CurrentPlaylistElement + Offset != ChangeOrderSource) - { - CPlaylists.Playlists[ActivePlaylistID].SongMove(ChangeOrderSource, CurrentPlaylistElement + Offset); - UpdatePlaylist(); - } - else if (CurrentPlaylistElement == -1) - { - if (MouseEvent.Y < PlaylistElements[0].Background.Rect.Y && Offset == 0) - { - CPlaylists.Playlists[ActivePlaylistID].SongMove(ChangeOrderSource, 0); - } - else - { - if (PlaylistElements.Count + Offset >= PlaylistElementContents.Count) - { - float min = 0f; - for (int i = PlaylistElements.Count - 1; i >= 0; i--) - { - if (PlaylistElements[i].SelectSlide.Visible) - { - min = PlaylistElements[i].SelectSlide.Rect.Y + PlaylistElements[i].SelectSlide.Rect.H; - break; - } - } - - if (MouseEvent.Y > min) - { - CPlaylists.Playlists[ActivePlaylistID].SongMove(ChangeOrderSource, PlaylistElementContents.Count - 1); - } - } - } - - UpdatePlaylist(); - } - _EditMode = EEditMode.None; - } - break; + break; + } } + return false; } return false; } From 5a363ed17e9995d2bc76114f46e622fbbf064277 Mon Sep 17 00:00:00 2001 From: Florian Kuepper Date: Sat, 8 Dec 2012 22:38:43 +0100 Subject: [PATCH 5/8] Fixed bug with playlist-mouse-handling. --- Vocaluxe/Menu/CPlaylist.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Vocaluxe/Menu/CPlaylist.cs b/Vocaluxe/Menu/CPlaylist.cs index 575c267e..4a8e382e 100644 --- a/Vocaluxe/Menu/CPlaylist.cs +++ b/Vocaluxe/Menu/CPlaylist.cs @@ -420,7 +420,7 @@ namespace Vocaluxe.Menu public bool IsMouseOver(MouseEvent MouseEvent) { - return CHelper.IsInBounds(Rect, MouseEvent.X, MouseEvent.Y) || _Interactions.IsMouseOver(MouseEvent); + return CHelper.IsInBounds(CompleteRect, MouseEvent.X, MouseEvent.Y) || _Interactions.IsMouseOver(MouseEvent); } public void UnloadTextures() @@ -929,7 +929,7 @@ namespace Vocaluxe.Menu //Change order with holding LB if (MouseEvent.LBH && CurrentPlaylistElement != -1 && PlaylistElementContents.Count > 1 && DragAndDropSongID == -1) { - + ChangeOrderSource = CurrentPlaylistElement + Offset; //Update of Drag/Drop-Texture @@ -1071,7 +1071,7 @@ namespace Vocaluxe.Menu } } } - + UpdatePlaylist(); } _EditMode = EEditMode.None; From baac17033bc39225ede139555ac46f054a2130af Mon Sep 17 00:00:00 2001 From: Florian Kuepper Date: Sat, 8 Dec 2012 23:53:15 +0100 Subject: [PATCH 6/8] Some bugfixes for playlists. --- Vocaluxe/Base/CPlaylists.cs | 2 +- Vocaluxe/Screens/CScreenSong.cs | 42 ++++++++++++++++++++------------- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/Vocaluxe/Base/CPlaylists.cs b/Vocaluxe/Base/CPlaylists.cs index c9babd16..6cb7c7f7 100644 --- a/Vocaluxe/Base/CPlaylists.cs +++ b/Vocaluxe/Base/CPlaylists.cs @@ -80,13 +80,13 @@ namespace Vocaluxe.Base try { File.Delete(_Playlists[PlaylistID].PlaylistFile); - _Playlists.RemoveAt(PlaylistID); } catch (Exception) { CLog.LogError("Can't delete Profile File " + _Playlists[PlaylistID].PlaylistFile + ".xml"); } } + _Playlists.RemoveAt(PlaylistID); } public static void SavePlaylist(int PlaylistID) diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs index 2698fa09..7f0dcd0f 100644 --- a/Vocaluxe/Screens/CScreenSong.cs +++ b/Vocaluxe/Screens/CScreenSong.cs @@ -277,6 +277,7 @@ namespace Vocaluxe.Screens } else if (Buttons[htButtons(ButtonOptionsPlaylist)].Selected) { + ToggleSongOptions(ESongOptionsView.None); OpenAndAddPlaylistAction(); } else if (Buttons[htButtons(ButtonOptionsRandom)].Selected) @@ -303,6 +304,7 @@ namespace Vocaluxe.Screens } else if (Buttons[htButtons(ButtonOptionsOpenPlaylist)].Selected) { + ToggleSongOptions(ESongOptionsView.None); OpenPlaylistAction(); } break; @@ -365,7 +367,11 @@ namespace Vocaluxe.Screens if (Playlists[htPlaylists(Playlist)].Visible && _PlaylistActive) { if (Playlists[htPlaylists(Playlist)].HandleMouse(MouseEvent)) + { + if (CPlaylists.NumPlaylists != SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].NumValues) + UpdatePlaylistNames(); return true; + } } @@ -437,6 +443,7 @@ namespace Vocaluxe.Screens if (Buttons[htButtons(ButtonOptionsPlaylist)].Selected) { + ToggleSongOptions(ESongOptionsView.None); OpenAndAddPlaylistAction(); return true; } @@ -475,6 +482,7 @@ namespace Vocaluxe.Screens if (Buttons[htButtons(ButtonOptionsOpenPlaylist)].Selected) { + ToggleSongOptions(ESongOptionsView.None); OpenPlaylistAction(); return true; } @@ -900,15 +908,13 @@ namespace Vocaluxe.Screens //Open playlist OpenPlaylist(Playlists[htPlaylists(Playlist)].ActivePlaylistID); - Playlists[htPlaylists(Playlist)].ScrollToBottom(); } - ToggleSongOptions(ESongOptionsView.None); } private void OpenAndAddPlaylistAction() { - //Open a playlist and add song - if (Playlists[htPlaylists(Playlist)].ActivePlaylistID != (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1)) + //Open an existing playlist and add song + if (Playlists[htPlaylists(Playlist)].ActivePlaylistID != (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1) && (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1) != -1) { //Check selected game-mode EGameMode gm; @@ -921,18 +927,19 @@ namespace Vocaluxe.Screens gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL; //Check if Playlist really exists - if (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1 < 0) - Playlists[htPlaylists(Playlist)].ActivePlaylistID = CPlaylists.NewPlaylist(); - else + if (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1 >= 0) + { Playlists[htPlaylists(Playlist)].ActivePlaylistID = SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1; - - //Add song to playlist - CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].AddSong(CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].ID, gm); - - //Open playlist - OpenPlaylist(Playlists[htPlaylists(Playlist)].ActivePlaylistID); - SetSelectSlidePlaylistToCurrentPlaylist(); + //Add song to playlist + CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].AddSong(CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].ID, gm); + + //Open playlist + OpenPlaylist(Playlists[htPlaylists(Playlist)].ActivePlaylistID); + + SetSelectSlidePlaylistToCurrentPlaylist(); + Playlists[htPlaylists(Playlist)].ScrollToBottom(); + } } //Create a new playlist and add song else if ((SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1) == -1) @@ -958,6 +965,7 @@ namespace Vocaluxe.Screens //Add new playlist to select-slide SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].AddValue(CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].PlaylistName); + SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].AddValue(CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].PlaylistName); SetSelectSlidePlaylistToCurrentPlaylist(); @@ -978,12 +986,14 @@ namespace Vocaluxe.Screens Playlists[htPlaylists(Playlist)].UpdatePlaylist(); Playlists[htPlaylists(Playlist)].ScrollToBottom(); } - ToggleSongOptions(ESongOptionsView.Song); } private void SetSelectSlidePlaylistToCurrentPlaylist() { - SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection = Playlists[htPlaylists(Playlist)].ActivePlaylistID + 1; + if (Playlists[htPlaylists(Playlist)].ActivePlaylistID > -1) + SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection = Playlists[htPlaylists(Playlist)].ActivePlaylistID + 1; + else + SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection = 0; } } } From 7df617cde938eac3e53b368f712fca6394bb3f5a Mon Sep 17 00:00:00 2001 From: Florian Kuepper Date: Sun, 9 Dec 2012 10:12:45 +0100 Subject: [PATCH 7/8] Fix for playlist-element. --- Vocaluxe/Menu/CPlaylist.cs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Vocaluxe/Menu/CPlaylist.cs b/Vocaluxe/Menu/CPlaylist.cs index 4a8e382e..4eb57ee3 100644 --- a/Vocaluxe/Menu/CPlaylist.cs +++ b/Vocaluxe/Menu/CPlaylist.cs @@ -267,45 +267,45 @@ namespace Vocaluxe.Menu if (_Theme.ButtonPlaylistClose.Rect.Y < CompleteRect.Y) CompleteRect.Y = _Theme.ButtonPlaylistClose.Rect.Y; if (_Theme.ButtonPlaylistClose.Rect.W + _Theme.ButtonPlaylistClose.Rect.X > CompleteRect.W + CompleteRect.X) - CompleteRect.W += _Theme.ButtonPlaylistClose.Rect.W + _Theme.ButtonPlaylistClose.Rect.X - CompleteRect.X; + CompleteRect.W = _Theme.ButtonPlaylistClose.Rect.W + _Theme.ButtonPlaylistClose.Rect.X - CompleteRect.X; if (_Theme.ButtonPlaylistClose.Rect.Y + _Theme.ButtonPlaylistClose.Rect.H > CompleteRect.Y + CompleteRect.H) - CompleteRect.H += _Theme.ButtonPlaylistClose.Rect.H + _Theme.ButtonPlaylistClose.Rect.Y - CompleteRect.Y; + CompleteRect.H = _Theme.ButtonPlaylistClose.Rect.H + _Theme.ButtonPlaylistClose.Rect.Y - CompleteRect.Y; //ButtonPlaylistName if (_Theme.ButtonPlaylistName.Rect.X < CompleteRect.X) CompleteRect.X = _Theme.ButtonPlaylistName.Rect.X; if (_Theme.ButtonPlaylistName.Rect.Y < CompleteRect.Y) CompleteRect.Y = _Theme.ButtonPlaylistName.Rect.Y; if (_Theme.ButtonPlaylistName.Rect.W + _Theme.ButtonPlaylistName.Rect.X > CompleteRect.W + CompleteRect.X) - CompleteRect.W += _Theme.ButtonPlaylistName.Rect.W + _Theme.ButtonPlaylistName.Rect.X - CompleteRect.X; + CompleteRect.W = _Theme.ButtonPlaylistName.Rect.W + _Theme.ButtonPlaylistName.Rect.X - CompleteRect.X; if (_Theme.ButtonPlaylistName.Rect.Y + _Theme.ButtonPlaylistName.Rect.H > CompleteRect.Y + CompleteRect.H) - CompleteRect.H += _Theme.ButtonPlaylistName.Rect.H + _Theme.ButtonPlaylistName.Rect.Y - CompleteRect.Y; + CompleteRect.H = _Theme.ButtonPlaylistName.Rect.H + _Theme.ButtonPlaylistName.Rect.Y - CompleteRect.Y; //ButtonPlaylistSing if (_Theme.ButtonPlaylistSing.Rect.X < CompleteRect.X) CompleteRect.X = _Theme.ButtonPlaylistSing.Rect.X; if (_Theme.ButtonPlaylistSing.Rect.Y < CompleteRect.Y) CompleteRect.Y = _Theme.ButtonPlaylistSing.Rect.Y; if (_Theme.ButtonPlaylistSing.Rect.W + _Theme.ButtonPlaylistSing.Rect.X > CompleteRect.W + CompleteRect.X) - CompleteRect.W += _Theme.ButtonPlaylistSing.Rect.W + _Theme.ButtonPlaylistSing.Rect.X - CompleteRect.X; + CompleteRect.W = _Theme.ButtonPlaylistSing.Rect.W + _Theme.ButtonPlaylistSing.Rect.X - CompleteRect.X; if (_Theme.ButtonPlaylistSing.Rect.Y + _Theme.ButtonPlaylistSing.Rect.H > CompleteRect.Y + CompleteRect.H) - CompleteRect.H += _Theme.ButtonPlaylistSing.Rect.H + _Theme.ButtonPlaylistSing.Rect.Y - CompleteRect.Y; + CompleteRect.H = _Theme.ButtonPlaylistSing.Rect.H + _Theme.ButtonPlaylistSing.Rect.Y - CompleteRect.Y; //ButtonPlaylistSave if (_Theme.ButtonPlaylistSave.Rect.X < CompleteRect.X) CompleteRect.X = _Theme.ButtonPlaylistSave.Rect.X; if (_Theme.ButtonPlaylistSave.Rect.Y < CompleteRect.Y) CompleteRect.Y = _Theme.ButtonPlaylistSave.Rect.Y; if (_Theme.ButtonPlaylistSave.Rect.W + _Theme.ButtonPlaylistSave.Rect.X > CompleteRect.W + CompleteRect.X) - CompleteRect.W += _Theme.ButtonPlaylistSave.Rect.W + _Theme.ButtonPlaylistSave.Rect.X - CompleteRect.X; + CompleteRect.W = _Theme.ButtonPlaylistSave.Rect.W + _Theme.ButtonPlaylistSave.Rect.X - CompleteRect.X; if (_Theme.ButtonPlaylistSave.Rect.Y + _Theme.ButtonPlaylistSave.Rect.H > CompleteRect.Y + CompleteRect.H) - CompleteRect.H += _Theme.ButtonPlaylistSave.Rect.H + _Theme.ButtonPlaylistSave.Rect.Y - CompleteRect.Y; + CompleteRect.H = _Theme.ButtonPlaylistSave.Rect.H + _Theme.ButtonPlaylistSave.Rect.Y - CompleteRect.Y; //ButtonPlaylistDelete if (_Theme.ButtonPlaylistDelete.Rect.X < CompleteRect.X) CompleteRect.X = _Theme.ButtonPlaylistDelete.Rect.X; if (_Theme.ButtonPlaylistDelete.Rect.Y < CompleteRect.Y) CompleteRect.Y = _Theme.ButtonPlaylistDelete.Rect.Y; if (_Theme.ButtonPlaylistDelete.Rect.W + _Theme.ButtonPlaylistDelete.Rect.X > CompleteRect.W + CompleteRect.X) - CompleteRect.W += _Theme.ButtonPlaylistDelete.Rect.W + _Theme.ButtonPlaylistDelete.Rect.X - CompleteRect.X; + CompleteRect.W = _Theme.ButtonPlaylistDelete.Rect.W + _Theme.ButtonPlaylistDelete.Rect.X - CompleteRect.X; if (_Theme.ButtonPlaylistDelete.Rect.Y + _Theme.ButtonPlaylistDelete.Rect.H > CompleteRect.Y + CompleteRect.H) - CompleteRect.H += _Theme.ButtonPlaylistDelete.Rect.H + _Theme.ButtonPlaylistDelete.Rect.Y - CompleteRect.Y; + CompleteRect.H = _Theme.ButtonPlaylistDelete.Rect.H + _Theme.ButtonPlaylistDelete.Rect.Y - CompleteRect.Y; LoadTextures(); } return _ThemeLoaded; From 99ce2ca60fa7224d5f700255819eebed9551d597 Mon Sep 17 00:00:00 2001 From: Florian Kuepper Date: Sun, 9 Dec 2012 10:24:50 +0100 Subject: [PATCH 8/8] Fix drawing of vid-texture with reflection in song-menu. --- Vocaluxe/Menu/SongMenu/CSongMenuTileBoard.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Vocaluxe/Menu/SongMenu/CSongMenuTileBoard.cs b/Vocaluxe/Menu/SongMenu/CSongMenuTileBoard.cs index 4d9336e1..84557232 100644 --- a/Vocaluxe/Menu/SongMenu/CSongMenuTileBoard.cs +++ b/Vocaluxe/Menu/SongMenu/CSongMenuTileBoard.cs @@ -465,10 +465,11 @@ namespace Vocaluxe.Menu.SongMenu } } + _TextBG.Draw(); + _CoverBig.Draw(1f, true); if (_vidtex.color.A < 1) _CoverBig.Draw(1f, true); - _TextBG.Draw(); if (_vidtex.index != -1 && _Video != -1) {