diff --git a/.gitignore b/.gitignore index 9de55a61..c7ac423d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ obj PitchTracker.dll Thumbs.db .transifexrc +.vs tx.exe *.mp4 *.pdb @@ -30,6 +31,7 @@ tx.exe *.user *.VC.db *.VC.opendb +*.dll.config /*.vsp /*.ctl /Output/Config.xml @@ -48,6 +50,7 @@ tx.exe /Output/Songs /Output/Playlists/*.xml /Output/Profiles/*.xml +/Output/Profiles/*.png /Output/PartyModes/*/Code/* /PartyModes/*/*/*.dll /VocaluxeLib/bin diff --git a/Output/Profiles/guest3.xml b/Output/Profiles/guest3.xml index ad3c3eb5..f8b196f8 100644 --- a/Output/Profiles/guest3.xml +++ b/Output/Profiles/guest3.xml @@ -2,7 +2,7 @@ Guest 3 TR_CONFIG_EASY - TR_USERROLE_NORMAL + TR_USERROLE_GUEST TR_CONFIG_ON Avatar_m.png \ No newline at end of file diff --git a/PartyModes/PartyModeChallenge/CPartyScreenChallengeNames.cs b/PartyModes/PartyModeChallenge/CPartyScreenChallengeNames.cs index 9b79c0d2..46d354aa 100644 --- a/PartyModes/PartyModeChallenge/CPartyScreenChallengeNames.cs +++ b/PartyModes/PartyModeChallenge/CPartyScreenChallengeNames.cs @@ -37,6 +37,7 @@ namespace VocaluxeLib.PartyModes.Challenge base.Init(); _PartyMode = (CPartyModeChallenge)base._PartyMode; _AllowChangePlayerNum = false; + _Teams = false; } public override void OnShow() diff --git a/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs b/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs index 4d92fc7d..a95bfc53 100644 --- a/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs +++ b/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs @@ -37,6 +37,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley base.Init(); _PartyMode = (CPartyModeChallengeMedley)base._PartyMode; _AllowChangePlayerNum = false; + _Teams = false; } public override void OnShow() diff --git a/Vocaluxe/Base/CSongCategorizer.cs b/Vocaluxe/Base/CSongCategorizer.cs index ab7fb777..05a9dba4 100644 --- a/Vocaluxe/Base/CSongCategorizer.cs +++ b/Vocaluxe/Base/CSongCategorizer.cs @@ -126,10 +126,10 @@ namespace Vocaluxe.Base string noCategoryName; switch (CSongs.Sorter.SongSorting) { + case ESongSorting.TR_CONFIG_FOLDER: case ESongSorting.TR_CONFIG_NONE: noCategoryName = CLanguage.Translate("TR_SCREENSONG_ALLSONGS"); break; - case ESongSorting.TR_CONFIG_FOLDER: case ESongSorting.TR_CONFIG_ARTIST: case ESongSorting.TR_CONFIG_ARTIST_LETTER: case ESongSorting.TR_CONFIG_TITLE_LETTER: diff --git a/Vocaluxe/Properties/AssemblyInfo.cs b/Vocaluxe/Properties/AssemblyInfo.cs index 348b3386..5ab36484 100644 --- a/Vocaluxe/Properties/AssemblyInfo.cs +++ b/Vocaluxe/Properties/AssemblyInfo.cs @@ -27,7 +27,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Vocaluxe")] -[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/Vocaluxe/Screens/CScreenHighscore.cs b/Vocaluxe/Screens/CScreenHighscore.cs index 182e68ed..0e6a746f 100644 --- a/Vocaluxe/Screens/CScreenHighscore.cs +++ b/Vocaluxe/Screens/CScreenHighscore.cs @@ -285,7 +285,7 @@ namespace Vocaluxe.Screens private void _ChangePos(int num) { - if (_Scores[_Round].Count == 0) + if (_Scores[_Round].Count == 0 || _Scores[_Round].Count <= _NumEntrys) _Pos = 0; else { diff --git a/Vocaluxe/Screens/CScreenOptionsGame.cs b/Vocaluxe/Screens/CScreenOptionsGame.cs index 485ce2b0..72a7d4e6 100644 --- a/Vocaluxe/Screens/CScreenOptionsGame.cs +++ b/Vocaluxe/Screens/CScreenOptionsGame.cs @@ -80,6 +80,7 @@ namespace Vocaluxe.Screens case Keys.S: CParty.SetNormalGameMode(); + _SaveConfig(); CGraphics.FadeTo(EScreen.Song); break; diff --git a/Vocaluxe/Screens/CScreenOptionsLyrics.cs b/Vocaluxe/Screens/CScreenOptionsLyrics.cs index da4a608d..49c68929 100644 --- a/Vocaluxe/Screens/CScreenOptionsLyrics.cs +++ b/Vocaluxe/Screens/CScreenOptionsLyrics.cs @@ -67,6 +67,7 @@ namespace Vocaluxe.Screens case Keys.S: CParty.SetNormalGameMode(); + _SaveConfig(); CGraphics.FadeTo(EScreen.Song); break; diff --git a/Vocaluxe/Screens/CScreenOptionsRecord.cs b/Vocaluxe/Screens/CScreenOptionsRecord.cs index da838eda..bac267a9 100644 --- a/Vocaluxe/Screens/CScreenOptionsRecord.cs +++ b/Vocaluxe/Screens/CScreenOptionsRecord.cs @@ -112,6 +112,7 @@ namespace Vocaluxe.Screens case Keys.S: CParty.SetNormalGameMode(); + _SaveMicConfig(); CGraphics.FadeTo(EScreen.Song); break; diff --git a/Vocaluxe/Screens/CScreenOptionsSound.cs b/Vocaluxe/Screens/CScreenOptionsSound.cs index c3d47d1f..cf6afcec 100644 --- a/Vocaluxe/Screens/CScreenOptionsSound.cs +++ b/Vocaluxe/Screens/CScreenOptionsSound.cs @@ -89,6 +89,7 @@ namespace Vocaluxe.Screens case Keys.S: CParty.SetNormalGameMode(); + _SaveConfig(); CGraphics.FadeTo(EScreen.Song); break; diff --git a/Vocaluxe/Screens/CScreenOptionsTheme.cs b/Vocaluxe/Screens/CScreenOptionsTheme.cs index 6723a305..7beb9a15 100644 --- a/Vocaluxe/Screens/CScreenOptionsTheme.cs +++ b/Vocaluxe/Screens/CScreenOptionsTheme.cs @@ -92,6 +92,7 @@ namespace Vocaluxe.Screens case Keys.S: CParty.SetNormalGameMode(); + _SaveConfig(); CGraphics.FadeTo(EScreen.Song); break; diff --git a/Vocaluxe/Screens/CScreenOptionsVideo.cs b/Vocaluxe/Screens/CScreenOptionsVideo.cs index d8ff7710..8c33e722 100644 --- a/Vocaluxe/Screens/CScreenOptionsVideo.cs +++ b/Vocaluxe/Screens/CScreenOptionsVideo.cs @@ -95,6 +95,7 @@ namespace Vocaluxe.Screens case Keys.S: CParty.SetNormalGameMode(); + _SaveConfig(); CGraphics.FadeTo(EScreen.Song); break; diff --git a/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs b/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs index 0ad53c54..b030b14e 100644 --- a/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs +++ b/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs @@ -56,6 +56,7 @@ namespace Vocaluxe.Screens case Keys.S: CParty.SetNormalGameMode(); + _SaveConfig(); CGraphics.FadeTo(EScreen.Song); break; diff --git a/Vocaluxe/Screens/CScreenProfiles.cs b/Vocaluxe/Screens/CScreenProfiles.cs index 44196e34..f98a3c2e 100644 --- a/Vocaluxe/Screens/CScreenProfiles.cs +++ b/Vocaluxe/Screens/CScreenProfiles.cs @@ -319,6 +319,8 @@ namespace Vocaluxe.Screens _Buttons[_ButtonDiscardSnapshot].Visible = false; _Buttons[_ButtonTakeSnapshot].Visible = false; _Buttons[_ButtonWebcam].Visible = false; + + _SelectElement(_Buttons[_ButtonSave]); } else { @@ -330,6 +332,8 @@ namespace Vocaluxe.Screens _Buttons[_ButtonDiscardSnapshot].Visible = true; _Buttons[_ButtonTakeSnapshot].Visible = false; _Buttons[_ButtonWebcam].Visible = false; + + _SelectElement(_Buttons[_ButtonSaveSnapshot]); } } @@ -341,6 +345,8 @@ namespace Vocaluxe.Screens _Buttons[_ButtonDiscardSnapshot].Visible = false; _Buttons[_ButtonTakeSnapshot].Visible = false; _Buttons[_ButtonWebcam].Visible = CWebcam.IsDeviceAvailable(); + + _SelectElement(_Buttons[_ButtonWebcam]); } private void _OnSaveSnapshot() @@ -359,6 +365,8 @@ namespace Vocaluxe.Screens int id = CProfiles.NewAvatar(file); CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].SelectedTag, id); _LoadAvatars(false); + + _SelectElement(_Buttons[_ButtonSave]); } private void _OnWebcam() @@ -374,6 +382,8 @@ namespace Vocaluxe.Screens _Buttons[_ButtonDiscardSnapshot].Visible = false; _Buttons[_ButtonTakeSnapshot].Visible = true; _Buttons[_ButtonWebcam].Visible = false; + + _SelectElement(_Buttons[_ButtonTakeSnapshot]); } private void _NewProfile() diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs index c14037ba..ad8c73d0 100644 --- a/Vocaluxe/Screens/CScreenSong.cs +++ b/Vocaluxe/Screens/CScreenSong.cs @@ -172,7 +172,12 @@ namespace Vocaluxe.Screens { keyEvent.Handled = _Playlist.HandleInput(keyEvent); if (keyEvent.Handled) + { + //Check if playlist was closed and song menu needed to be resized + if (!_Playlist.Visible) + _SongMenu.SmallView = false; return true; + } if (!keyEvent.KeyPressed && keyEvent.Key == Keys.Escape) { _ClosePlaylist(); @@ -362,7 +367,10 @@ namespace Vocaluxe.Screens { if (CSongs.IsInCategory) _SongMenu.SetSelectedSong(CSongs.GetRandomSong()); - else + } + else if (_Buttons[_ButtonOptionsRandomCategory].Selected) + { + if (!CSongs.IsInCategory) _SongMenu.SetSelectedCategory(CSongs.GetRandomCategory()); } else if (_Buttons[_ButtonOptionsSingAll].Selected) @@ -411,7 +419,12 @@ namespace Vocaluxe.Screens _SongMenu.Selected = false; _ToggleSongOptions(ESongOptionsView.None); if (_Playlist.HandleMouse(mouseEvent)) + { + //Check if playlist was closed and song menu needed to be resized + if (!_Playlist.Visible) + _SongMenu.SmallView = false; return true; + } } else if (CHelper.IsInBounds(_SongMenu.Rect, mouseEvent)) { @@ -1261,6 +1274,8 @@ namespace Vocaluxe.Screens { _SongMenu.SmallView = true; _Playlist.Visible = true; + _SelectElement(_Playlist); + _ToggleSongOptions(ESongOptionsView.None); } } diff --git a/VocaluxeLib/Menu/CMenuPartyNameSelection.cs b/VocaluxeLib/Menu/CMenuPartyNameSelection.cs index 489467bc..cc01f135 100644 --- a/VocaluxeLib/Menu/CMenuPartyNameSelection.cs +++ b/VocaluxeLib/Menu/CMenuPartyNameSelection.cs @@ -37,7 +37,7 @@ namespace VocaluxeLib.Menu } } - private bool _Teams; + protected bool _Teams = true; protected int _NumTeams = -1; protected int _NumPlayer = -1; protected int[] _NumPlayerTeams; @@ -106,8 +106,6 @@ namespace VocaluxeLib.Menu for (int i = 0; i < _TeamList.Length; i++) _TeamList[i] = new List(); - _Teams = _NumTeams > 0; - _UpdateSlides(); _LoadProfiles(); _UpdateButtonVisibility(); diff --git a/VocaluxeLib/Menu/CObjectInteractions.cs b/VocaluxeLib/Menu/CObjectInteractions.cs index e7623787..2d73dd4a 100644 --- a/VocaluxeLib/Menu/CObjectInteractions.cs +++ b/VocaluxeLib/Menu/CObjectInteractions.cs @@ -119,18 +119,24 @@ namespace VocaluxeLib.Menu keyEvent.Handled = PrevValue(); else keyEvent.Handled = _NextElement(keyEvent); - } - if (keyEvent.Key == Keys.Right) + return true; + } + else if (keyEvent.Key == Keys.Right) { if (_IsSelectionValid() && _Elements[_Selection].Type == EType.SelectSlide && keyEvent.Mod != EModifier.Shift) keyEvent.Handled = NextValue(); else keyEvent.Handled = _NextElement(keyEvent); - } - if (keyEvent.Key == Keys.Up || keyEvent.Key == Keys.Down) + return true; + } + else if (keyEvent.Key == Keys.Up || keyEvent.Key == Keys.Down) + { keyEvent.Handled = _NextElement(keyEvent); + + return true; + } } else { @@ -140,16 +146,25 @@ namespace VocaluxeLib.Menu PrevElement(); else NextElement(); + + return true; } if (keyEvent.Key == Keys.Left) + { PrevValue(); - if (keyEvent.Key == Keys.Right) + return true; + } + else if (keyEvent.Key == Keys.Right) + { NextValue(); + + return true; + } } - return true; + return false; } public virtual bool HandleMouse(SMouseEvent mouseEvent)