Merge remote-tracking branch 'xDarcice/release-0.1' into release-0.1

This commit is contained in:
Alexander Eckart committed 2012-03-16 18:35:22 +01:00
commit a1df3029fa
3 files changed
+640 -196

No files matched your search

+2 -2
View File
@@ -827,7 +827,7 @@ namespace Vocaluxe.Base
Category = -1; Category = -1;
_SongsLoaded = true; _SongsLoaded = true;
if (CConfig.Renderer == ERenderer.TR_CONFIG_OPENGL) if (CConfig.Renderer != ERenderer.TR_CONFIG_SOFTWARE)
{ {
CLog.StartBenchmark(2, "Load Cover"); CLog.StartBenchmark(2, "Load Cover");
for (int i = 0; i < _Songs.Count; i++) for (int i = 0; i < _Songs.Count; i++)
@@ -849,7 +849,7 @@ namespace Vocaluxe.Base
public static void LoadCover(long WaitTime, int NumLoads) public static void LoadCover(long WaitTime, int NumLoads)
{ {
if (CConfig.Renderer == ERenderer.TR_CONFIG_OPENGL) if (CConfig.Renderer != ERenderer.TR_CONFIG_SOFTWARE)
return; //should be removed as soon as the other renderer are ready for queque return; //should be removed as soon as the other renderer are ready for queque
if (!SongsLoaded) if (!SongsLoaded)
File diff suppressed because it is too large. Load diff
+49 -26
View File
@@ -65,13 +65,19 @@ namespace Vocaluxe.Screens
if (KeyEvent.Handled) if (KeyEvent.Handled)
return true; return true;
if (!Char.IsControl(KeyEvent.Unicode))
{
JumpTo(KeyEvent.Unicode);
return true;
}
switch (KeyEvent.Key) switch (KeyEvent.Key)
{ {
case Keys.Escape: case Keys.Escape:
if (CSongs.Category < 0 || CConfig.Tabs == EOffOn.TR_CONFIG_OFF) if (CSongs.Category < 0 || CConfig.Tabs == EOffOn.TR_CONFIG_OFF)
CGraphics.FadeTo(EScreens.ScreenMain); CGraphics.FadeTo(EScreens.ScreenMain);
break; break;
case Keys.Enter: case Keys.Enter:
if (CSongs.NumVisibleSongs > 0) if (CSongs.NumVisibleSongs > 0)
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong()); StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
@@ -101,34 +107,34 @@ namespace Vocaluxe.Screens
} }
break; break;
case Keys.A: //case Keys.A:
if (!_SearchActive && KeyEvent.Mod == Modifier.None) // if (!_SearchActive && KeyEvent.Mod == Modifier.None)
{ // {
StartRandomAllSongs(); // StartRandomAllSongs();
} // }
if (KeyEvent.Mod == Modifier.Ctrl) // if (KeyEvent.Mod == Modifier.Ctrl)
{ // {
StartRandomVisibleSongs(); // StartRandomVisibleSongs();
} // }
break; // break;
case Keys.F: //case Keys.F:
if (KeyEvent.Mod == Modifier.Ctrl){ // if (KeyEvent.Mod == Modifier.Ctrl){
if (_SearchActive) // if (_SearchActive)
{ // {
_SearchActive = false; // _SearchActive = false;
_SearchText = String.Empty; // _SearchText = String.Empty;
ApplyNewSearchFilter(_SearchText); // ApplyNewSearchFilter(_SearchText);
} // }
else // else
{ // {
_SearchActive = true; // _SearchActive = true;
} // }
} // }
break; // break;
case Keys.R: case Keys.R:
if (CSongs.Category != -1) if (CSongs.Category != -1 && KeyEvent.Mod == Modifier.Ctrl)
{ {
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong()); SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
} }
@@ -288,6 +294,23 @@ namespace Vocaluxe.Screens
CGraphics.FadeTo(EScreens.ScreenNames); CGraphics.FadeTo(EScreens.ScreenNames);
} }
private void JumpTo(char Letter)
{
int song = SongMenus[htSongMenus(SongMenu)].GetSelectedSong();
int id = -1;
if (song > -1 && song < CSongs.NumVisibleSongs)
{
id = CSongs.VisibleSongs[song].ID;
}
Vocaluxe.Lib.Song.CSong s = Array.Find<Vocaluxe.Lib.Song.CSong>(CSongs.VisibleSongs, element => element.Artist.StartsWith(Letter.ToString(), StringComparison.OrdinalIgnoreCase));
if (s != null && s.ID > -1)
{
id = s.ID;
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(id);
}
}
private void ApplyNewSearchFilter(string NewFilterString) private void ApplyNewSearchFilter(string NewFilterString)
{ {
int song = SongMenus[htSongMenus(SongMenu)].GetSelectedSong(); int song = SongMenus[htSongMenus(SongMenu)].GetSelectedSong();