From 43c1a70a4bcfd8b296c781666bfa3830f6c2b8bf Mon Sep 17 00:00:00 2001 From: Stefan Date: Tue, 18 Feb 2020 18:24:53 +0100 Subject: [PATCH 1/4] New sing screen text --- Output/Languages/English.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Output/Languages/English.xml b/Output/Languages/English.xml index 434d4720..b315840e 100644 --- a/Output/Languages/English.xml +++ b/Output/Languages/English.xml @@ -163,6 +163,10 @@ Skip this song Restart round Restart game + No more songs in playlist! + No webcam available! + Aspect Ratio: %a + Skipped %s seconds Scores Rating Points From 1cc3b805c4899af3f2b59724585f29591fe1776d Mon Sep 17 00:00:00 2001 From: Stefan Date: Tue, 18 Feb 2020 18:28:17 +0100 Subject: [PATCH 2/4] New sing screen text --- Output/Languages/German.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Output/Languages/German.xml b/Output/Languages/German.xml index c043222f..9076e3b8 100644 --- a/Output/Languages/German.xml +++ b/Output/Languages/German.xml @@ -156,6 +156,10 @@ Lied beenden Fortfahren Lied überspringen + Keine weiteren Songs in der Playlist! + Keine Webcam verfügbar! + Seitenverhältnis: %a + %s Sekunden gesprungen Auswertung Bewertung Punkte From d65736119f00c3b290c5c4ed81586bc47be55f5a Mon Sep 17 00:00:00 2001 From: Stefan Date: Tue, 18 Feb 2020 18:29:50 +0100 Subject: [PATCH 3/4] Small info text on the top right corner --- Output/Themes/Genius/Screens/ScreenSing.xml | 27 ++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/Output/Themes/Genius/Screens/ScreenSing.xml b/Output/Themes/Genius/Screens/ScreenSing.xml index 36cebdac..44badc9c 100644 --- a/Output/Themes/Genius/Screens/ScreenSing.xml +++ b/Output/Themes/Genius/Screens/ScreenSing.xml @@ -2,7 +2,7 @@ ScreenSing - 9 + 10 @@ -627,8 +627,33 @@ -0.75 + + + + + 980 + 0 + 300 + 30 + -0.75 + + + + 1130 + 2 + -3 + 25 + 280 + + + Center + Center + + Outline + + 640 10 From 6507e4d26719cb069839cf289ca790e87fa53f2e Mon Sep 17 00:00:00 2001 From: Stefan Date: Tue, 18 Feb 2020 18:35:31 +0100 Subject: [PATCH 4/4] New sing screen info text for some key shortcuts On sing screen the following key shortcuts displays an info text on the top right corner: v w (if no webcam available) CTRL + s (if no more songs are on playlist) CTRL + Right Arrow --- Vocaluxe/Screens/CScreenSing.cs | 40 +++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/Vocaluxe/Screens/CScreenSing.cs b/Vocaluxe/Screens/CScreenSing.cs index 2278c78a..b39eb6cc 100644 --- a/Vocaluxe/Screens/CScreenSing.cs +++ b/Vocaluxe/Screens/CScreenSing.cs @@ -21,6 +21,7 @@ using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; +using System.Timers; using System.Windows.Forms; using Vocaluxe.Base; using Vocaluxe.Base.Fonts; @@ -40,7 +41,7 @@ namespace Vocaluxe.Screens // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion { - get { return 9; } + get { return 10; } } private struct STimeRect @@ -50,6 +51,7 @@ namespace Vocaluxe.Screens public float EndBeat; } + private const string _TextShortInfoTop = "TextShortInfoTop"; private const string _TextSongName = "TextSongName"; private const string _TextTime = "TextTime"; private const string _TextDuetName1 = "TextDuetName1"; @@ -59,6 +61,7 @@ namespace Vocaluxe.Screens private string[,,] _TextNames; private List _TextsPause; + private const string _StaticShortInfoTop = "StaticShortInfoTop"; private const string _StaticSongText = "StaticSongText"; private const string _StaticLyrics = "StaticLyrics"; private const string _StaticLyricsDuet = "StaticLyricsDuet"; @@ -135,6 +138,8 @@ namespace Vocaluxe.Screens private CBackground _SlideShow; private SScreenSongOptions _Sso; + + private System.Timers.Timer _TimerShortInfoText; public override EMusicType CurrentMusicType { @@ -145,12 +150,13 @@ namespace Vocaluxe.Screens { base.Init(); - var texts = new List { _TextSongName, _TextTime, _TextDuetName1, _TextDuetName2, _TextMedleyCountdown }; + var texts = new List { _TextShortInfoTop, _TextSongName, _TextTime, _TextDuetName1, _TextDuetName2, _TextMedleyCountdown }; _BuildTextStrings(texts); _ThemeTexts = texts.ToArray(); var statics = new List { + _StaticShortInfoTop, _StaticSongText, _StaticLyrics, _StaticLyricsDuet, @@ -184,6 +190,25 @@ namespace Vocaluxe.Screens _TimerSongText = new Stopwatch(); _TimerDuetText1 = new Stopwatch(); _TimerDuetText2 = new Stopwatch(); + + _TimerShortInfoText = new System.Timers.Timer(5000); + _TimerShortInfoText.AutoReset = false; + _TimerShortInfoText.Elapsed += OnTimedEventShortInfoText; + } + + private void OnTimedEventShortInfoText(Object source, ElapsedEventArgs e) + { + _Statics[_StaticShortInfoTop].Visible = false; + _Texts[_TextShortInfoTop].Visible = false; + } + + private void _ShowInfoText(String text) + { + _Texts[_TextShortInfoTop].Text = text; + _Statics[_StaticShortInfoTop].Visible = true; + _Texts[_TextShortInfoTop].Visible = true; + _TimerShortInfoText.Stop(); + _TimerShortInfoText.Enabled = true; } public override void LoadTheme(string xmlPath) @@ -248,6 +273,8 @@ namespace Vocaluxe.Screens if (keyEvent.ModCtrl) _NextSong(); } + else + _ShowInfoText(CBase.Language.Translate("TR_SCREENSING_NOMORESONGS")); break; case Keys.W: if (CWebcam.IsDeviceAvailable()) @@ -258,6 +285,8 @@ namespace Vocaluxe.Screens else CWebcam.Stop(); } + else + _ShowInfoText(CBase.Language.Translate("TR_SCREENSING_NOWEBCAM")); break; case Keys.Enter: if (_Pause) @@ -293,6 +322,8 @@ namespace Vocaluxe.Screens CSong song = CGame.GetSong(); song.VideoAspect = _VideoAspect; + _ShowInfoText(CBase.Language.Translate("TR_SCREENSING_ASPECTRATIO").Replace("%a", _VideoAspect.ToString())); + if (CConfig.Config.Debug.SaveModifiedSongs == EOffOn.TR_CONFIG_ON) song.Save(); break; @@ -326,6 +357,8 @@ namespace Vocaluxe.Screens if (CSound.GetLength(_CurrentStream) < (_CurrentTime + 30f)) newTime = CSound.GetLength(_CurrentStream) - 1f; CSound.SetPosition(_CurrentStream, newTime); + + _ShowInfoText(CBase.Language.Translate("TR_SCREENSING_SKIPPEDSECONDS").Replace("%s", "30")); } break; } @@ -1233,6 +1266,7 @@ namespace Vocaluxe.Screens _Lyrics[_LyricSubDuet].Clear(); _Lyrics[_LyricMainTop].Clear(); _Lyrics[_LyricSubTop].Clear(); + _Texts[_TextShortInfoTop].Text = String.Empty; _Texts[_TextSongName].Text = String.Empty; _Texts[_TextDuetName1].Text = String.Empty; _Texts[_TextDuetName2].Text = String.Empty; @@ -1283,7 +1317,9 @@ namespace Vocaluxe.Screens _Lyrics[_LyricMainDuet].Visible = false; _Lyrics[_LyricSubDuet].Visible = false; + _Statics[_StaticShortInfoTop].Visible = false; _Statics[_StaticSongText].Visible = false; + _Texts[_TextShortInfoTop].Visible = false; _Texts[_TextSongName].Visible = false; _Texts[_TextDuetName1].Visible = false; _Texts[_TextDuetName2].Visible = false;