From 5277504e349de2239fec1252323d2d11c2152ab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Tue, 31 Dec 2013 15:41:28 +0100 Subject: [PATCH 1/3] Fix forgetting last song after singing. --- VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs | 6 ++++-- VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs | 14 ++++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs index 7beb7378..211da48f 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs @@ -116,7 +116,7 @@ namespace VocaluxeLib.Menu.SongMenu //the real selected song for singing protected int _Locked { get; set; } - private int _PreviewIdInternal = -1; + protected int _PreviewIdInternal = -1; protected virtual int _PreviewId { get { return _PreviewIdInternal; } @@ -523,7 +523,7 @@ namespace VocaluxeLib.Menu.SongMenu CBase.Songs.SetCategory(-1); } - private void _PlaySong(int nr) + protected void _PlaySong(int nr) { if (CBase.Songs.IsInCategory() && (_PreviewId != nr || _Streams.Count == 0)) { @@ -555,6 +555,8 @@ namespace VocaluxeLib.Menu.SongMenu _Streams.Add(stream); _PreviewSongStream = stream; + _PreviewIdInternal = nr; + if (song.VideoFileName != "" && CBase.Config.GetVideoPreview() == EOffOn.TR_CONFIG_ON) { _PreviewVideoStream = CBase.Video.Load(Path.Combine(song.Folder, song.VideoFileName)); diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs index 67c10f1e..68ee6513 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs @@ -67,9 +67,14 @@ namespace VocaluxeLib.Menu.SongMenu { set { - base._PreviewId = value; + base._PlaySong(value); + base._PreviewIdInternal = value; _UpdatePreview(); } + get + { + return base._PreviewIdInternal; + } } public override int GetActualSelection() @@ -222,7 +227,6 @@ namespace VocaluxeLib.Menu.SongMenu _EnterCategory(0); _ActualSelection = -1; _Locked = -1; - _PreviewId = -1; _UpdateList(0, true); //AfterCategoryChange(); SetSelectedSong(_PreviewId); @@ -371,9 +375,10 @@ namespace VocaluxeLib.Menu.SongMenu } if (!keyEvent.Handled) - { - _PreviewId = _Locked; + { _ActualSelection = _Locked; + if (_PreviewId != _Locked) + _PreviewId = _Locked; for (int i = 0; i < _Tiles.Count; i++) _Tiles[i].Selected = _Locked == i + _Offset; @@ -554,6 +559,7 @@ namespace VocaluxeLib.Menu.SongMenu public override void SetSelectedSong(int visibleSongNr) { + base._PlaySong(visibleSongNr); base.SetSelectedSong(visibleSongNr); if (visibleSongNr >= 0 && visibleSongNr < CBase.Songs.GetNumSongsVisible()) From 9676c1056f25856911db27ad29b407c6d495d229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Tue, 21 Jan 2014 19:09:29 +0100 Subject: [PATCH 2/3] Prohibit screen-saver and disabling monitor when vocaluxe is running. --- Vocaluxe/Lib/Draw/CDirect3D.cs | 3 +++ Vocaluxe/Lib/Draw/CDrawWinForm.cs | 3 +++ Vocaluxe/Lib/Draw/COpenGL.cs | 3 +++ 3 files changed, 9 insertions(+) diff --git a/Vocaluxe/Lib/Draw/CDirect3D.cs b/Vocaluxe/Lib/Draw/CDirect3D.cs index 7f3d3a4c..cf8048ef 100644 --- a/Vocaluxe/Lib/Draw/CDirect3D.cs +++ b/Vocaluxe/Lib/Draw/CDirect3D.cs @@ -230,6 +230,9 @@ namespace Vocaluxe.Lib.Draw case 0xF100: // SC_KEYMENU m.Result = IntPtr.Zero; break; + case 0xF140: // SC_SCREENSAVER + case 0xF170: // SC_MONITORPOWER + break; default: base.WndProc(ref m); break; diff --git a/Vocaluxe/Lib/Draw/CDrawWinForm.cs b/Vocaluxe/Lib/Draw/CDrawWinForm.cs index e6bfb1ed..d5309d25 100644 --- a/Vocaluxe/Lib/Draw/CDrawWinForm.cs +++ b/Vocaluxe/Lib/Draw/CDrawWinForm.cs @@ -173,6 +173,9 @@ namespace Vocaluxe.Lib.Draw case 0xF100: // SC_KEYMENU m.Result = IntPtr.Zero; break; + case 0xF140: // SC_SCREENSAVER + case 0xF170: // SC_MONITORPOWER + break; default: base.WndProc(ref m); break; diff --git a/Vocaluxe/Lib/Draw/COpenGL.cs b/Vocaluxe/Lib/Draw/COpenGL.cs index cb00e26f..f80147d5 100644 --- a/Vocaluxe/Lib/Draw/COpenGL.cs +++ b/Vocaluxe/Lib/Draw/COpenGL.cs @@ -310,6 +310,9 @@ namespace Vocaluxe.Lib.Draw case 0xF100: // SC_KEYMENU m.Result = IntPtr.Zero; break; + case 0xF140: // SC_SCREENSAVER + case 0xF170: // SC_MONITORPOWER + break; default: base.WndProc(ref m); break; From 70f566682fd89b1fba2365b4d694d177077a2f87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Tue, 21 Jan 2014 19:19:04 +0100 Subject: [PATCH 3/3] Fix short-song-mode. --- VocaluxeLib/Songs/CSong.cs | 3 +++ VocaluxeLib/Songs/CSongLoader.cs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/VocaluxeLib/Songs/CSong.cs b/VocaluxeLib/Songs/CSong.cs index d2c393e8..53d2dde8 100644 --- a/VocaluxeLib/Songs/CSong.cs +++ b/VocaluxeLib/Songs/CSong.cs @@ -488,9 +488,11 @@ namespace VocaluxeLib.Songs if (stop < (voice.Lines[series[i].Start].FirstNoteBeat + ((voice.Lines[series[i].End].LastNoteBeat - voice.Lines[series[i].Start].FirstNoteBeat) / 2))) { ShortEnd.EndBeat = voice.Lines[series[i].Start - 1].LastNote.EndBeat; + ShortEnd.Source = EDataSource.Calculated; return; } ShortEnd.EndBeat = voice.Lines[series[i].End].LastNote.EndBeat; + ShortEnd.Source = EDataSource.Calculated; return; } } @@ -501,6 +503,7 @@ namespace VocaluxeLib.Songs if (line.FirstNoteBeat < stop && line.LastNoteBeat > stop) { ShortEnd.EndBeat = line.LastNoteBeat; + ShortEnd.Source = EDataSource.Calculated; return; } } diff --git a/VocaluxeLib/Songs/CSongLoader.cs b/VocaluxeLib/Songs/CSongLoader.cs index 4556b776..26e1dea1 100644 --- a/VocaluxeLib/Songs/CSongLoader.cs +++ b/VocaluxeLib/Songs/CSongLoader.cs @@ -309,7 +309,7 @@ namespace VocaluxeLib.Songs _Song.ShortEnd.Source = EDataSource.Tag; } else - _LogWarning("Invalid medleyendbeat"); + _LogWarning("Invalid shortendbeat"); } break; case "CALCMEDLEY":