From 49b971d126271d1c3994601e85820d6df1206995 Mon Sep 17 00:00:00 2001
From: lukeIam <2lukeiam@gmail.com>
Date: Thu, 8 Sep 2016 17:22:33 +0200
Subject: [PATCH 1/5] Add: option to enable KaraokeEffect with gestreamer
backend (atm only for all audio globally)
---
.../Ambient/Screens/ScreenOptionsSound.xml | 56 +++++++++++++++++++
Vocaluxe/Base/CConfig.cs | 6 ++
.../CGstreamerSharpAudioStream.cs | 43 +++++++++++++-
Vocaluxe/Screens/CScreenOptionsSound.cs | 12 +++-
4 files changed, 113 insertions(+), 4 deletions(-)
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
index 9b7e88c6..a42fd2b5 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
@@ -110,6 +110,20 @@
Outline
TR_SCREENOSOUND_GAMEMUSICVOLUME
+
+
+ 75
+ 407
+ 0
+ 27
+ 0
+
+
+ Left
+ Center
+
+ Outline
+ TR_SCREENOSOUND_KARAOKEEFFECT
@@ -361,6 +375,48 @@
Outline
Bold
3
+
+
+
+ SelectSlideArrowLeft
+ SelectSlideArrowRight
+ SelectSlide
+ SelectSlideArrowLeft
+ SelectSlideArrowRight
+
+ 500
+ 400
+ 700
+ 50
+ 0
+
+
+ 505
+ 405
+ 40
+ 40
+ 0
+
+
+ 1170
+ 405
+ 40
+ 40
+ 0
+
+
+
+
+
+
+
+ 27
+ 50
+ 0
+ 500
+ Outline
+ Bold
+ 2
diff --git a/Vocaluxe/Base/CConfig.cs b/Vocaluxe/Base/CConfig.cs
index 85d7d409..f0460820 100644
--- a/Vocaluxe/Base/CConfig.cs
+++ b/Vocaluxe/Base/CConfig.cs
@@ -120,6 +120,8 @@ namespace Vocaluxe.Base
[DefaultValue(EOffOn.TR_CONFIG_ON)] public EOffOn BackgroundMusicUseStart;
[XmlRanged(0, 100), DefaultValue(50)] public int PreviewMusicVolume;
[XmlRanged(0, 100), DefaultValue(80)] public int GameMusicVolume;
+ [DefaultValue(EOffOn.TR_CONFIG_OFF)] public EOffOn KaraokeEffect;
+ [XmlRanged(0, 1), DefaultValue(1.0f)] public float KaraokeEffectLevel;
// ReSharper restore MemberHidesStaticFromOuterClass
}
@@ -452,6 +454,10 @@ namespace Vocaluxe.Base
return "Preview Volume from 0 to 100";
case "GameMusicVolume":
return "Game Volume from 0 to 100";
+ case "KaraokeEffect":
+ return "Apply a karaoke effect to song playback (EPlaybackLib.GstreamerSharp only)";
+ case "KaraokeEffectLevel":
+ return "The level of the karaoke effect [0-1] (EPlaybackLib.GstreamerSharp only)";
case "Language":
return "Game-Language";
case "SongFolder":
diff --git a/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs b/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs
index 5f4e1f40..97a432b0 100644
--- a/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs
+++ b/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs
@@ -19,6 +19,7 @@ using System;
using GLib;
using Gst;
using Vocaluxe.Base;
+using VocaluxeLib;
namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
{
@@ -123,9 +124,29 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
}
var audioSinkBin = new Bin("Audiosink");
- audioSinkBin.Add(convert);
- audioSinkBin.Add(audiosink);
- convert.Link(audiosink);
+ Element audiokaraoke = null;
+ if (CConfig.Config.Sound.KaraokeEffect == EOffOn.TR_CONFIG_ON)
+ {
+ audiokaraoke = ElementFactory.Make("audiokaraoke", "karaoke");
+ audioSinkBin.Add(audiokaraoke);
+ audioSinkBin.Add(convert);
+ audioSinkBin.Add(audiosink);
+
+ audiokaraoke.Link(audiosink);
+ audiokaraoke["level"] = CConfig.Config.Sound.KaraokeEffectLevel;
+ audiokaraoke["mono-level"] = CConfig.Config.Sound.KaraokeEffectLevel;
+
+ convert.Link(audiokaraoke);
+ }
+ else
+ {
+ audioSinkBin.Add(convert);
+ audioSinkBin.Add(audiosink);
+ convert.Link(audiosink);
+ }
+
+
+
Pad pad = convert.GetStaticPad("sink");
GhostPad ghostpad = new GhostPad("sink", pad);
@@ -135,6 +156,10 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
convert.Dispose();
audiosink.Dispose();
audioSinkBin.Dispose();
+ if (audiokaraoke != null)
+ {
+ audiokaraoke.Dispose();
+ }
return false;
}
@@ -145,6 +170,10 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
audiosink.Dispose();
audioSinkBin.Dispose();
ghostpad.Dispose();
+ if (audiokaraoke != null)
+ {
+ audiokaraoke.Dispose();
+ }
return false;
}
if (!audioSinkBin.AddPad(ghostpad))
@@ -154,6 +183,10 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
audiosink.Dispose();
audioSinkBin.Dispose();
ghostpad.Dispose();
+ if (audiokaraoke != null)
+ {
+ audiokaraoke.Dispose();
+ }
return false;
}
@@ -165,6 +198,10 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
audiosink.Dispose();
audioSinkBin.Dispose();
ghostpad.Dispose();
+ if (audiokaraoke != null)
+ {
+ audiokaraoke.Dispose();
+ }
return false;
}
_Element["audio-sink"] = audioSinkBin;
diff --git a/Vocaluxe/Screens/CScreenOptionsSound.cs b/Vocaluxe/Screens/CScreenOptionsSound.cs
index b3deb818..6d3c1fde 100644
--- a/Vocaluxe/Screens/CScreenOptionsSound.cs
+++ b/Vocaluxe/Screens/CScreenOptionsSound.cs
@@ -35,6 +35,7 @@ namespace Vocaluxe.Screens
private const string _SelectSlideBackgroundMusicSource = "SelectSlideBackgroundMusicSource";
private const string _SelectSlidePreviewMusicVolume = "SelectSlidePreviewMusicVolume";
private const string _SelectSlideGameMusicVolume = "SelectSlideGameMusicVolume";
+ private const string _SelectSlideKaraokeEffect = "SelectSlideKaraokeEffect";
private const string _ButtonExit = "ButtonExit";
@@ -46,7 +47,7 @@ namespace Vocaluxe.Screens
_ThemeButtons = new string[] {_ButtonExit};
_ThemeSelectSlides = new string[]
- {_SelectSlideBackgroundMusic, _SelectSlideBackgroundMusicVolume, _SelectSlideBackgroundMusicSource, _SelectSlidePreviewMusicVolume, _SelectSlideGameMusicVolume};
+ {_SelectSlideBackgroundMusic, _SelectSlideBackgroundMusicVolume, _SelectSlideBackgroundMusicSource, _SelectSlidePreviewMusicVolume, _SelectSlideGameMusicVolume, _SelectSlideKaraokeEffect};
}
public override void LoadTheme(string xmlPath)
@@ -64,6 +65,11 @@ namespace Vocaluxe.Screens
_SelectSlides[_SelectSlideGameMusicVolume].AddValues(new string[]
{"0", "5", "10", "15", "20", "25", "30", "35", "40", "45", "50", "55", "60", "65", "70", "75", "80", "85", "90", "95", "100"});
_SelectSlides[_SelectSlideGameMusicVolume].Selection = CConfig.GameMusicVolume / 5;
+ if (CConfig.Config.Sound.PlayBackLib == EPlaybackLib.GstreamerSharp)
+ {
+ _SelectSlides[_SelectSlideKaraokeEffect].SetValues((int)CConfig.Config.Sound.KaraokeEffect);
+ _SelectSlides[_SelectSlideBackgroundMusicSource].Selection = (int)CConfig.Config.Sound.KaraokeEffect;
+ }
}
public override bool HandleInput(SKeyEvent keyEvent)
@@ -147,6 +153,10 @@ namespace Vocaluxe.Screens
CConfig.Config.Sound.BackgroundMusic = (EBackgroundMusicOffOn)_SelectSlides[_SelectSlideBackgroundMusic].Selection;
CConfig.Config.Sound.BackgroundMusicSource = (EBackgroundMusicSource)_SelectSlides[_SelectSlideBackgroundMusicSource].Selection;
CConfig.BackgroundMusicVolume = _SelectSlides[_SelectSlideBackgroundMusicVolume].Selection * 5;
+ if (CConfig.Config.Sound.PlayBackLib == EPlaybackLib.GstreamerSharp)
+ {
+ CConfig.Config.Sound.KaraokeEffect = (EOffOn)_SelectSlides[_SelectSlideKaraokeEffect].Selection;
+ }
CConfig.SaveConfig();
CBackgroundMusic.SetMusicSource(CConfig.Config.Sound.BackgroundMusicSource);
From 3275aa091eba7aff9d7f4c972fcca91653c26ec6 Mon Sep 17 00:00:00 2001
From: lukeIam <2lukeiam@gmail.com>
Date: Thu, 8 Sep 2016 17:54:39 +0200
Subject: [PATCH 2/5] Fix: karaoke effect was applied to all audio output
---
Vocaluxe/Base/CSound.cs | 5 +++--
Vocaluxe/Lib/Sound/Playback/CAudioStreamBase.cs | 4 +++-
Vocaluxe/Lib/Sound/Playback/CPlaybackBase.cs | 6 +++---
.../Sound/Playback/GstreamerSharp/CGstreamerSharpAudio.cs | 4 ++--
.../Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs | 4 ++--
Vocaluxe/Lib/Sound/Playback/IPlayback.cs | 2 +-
Vocaluxe/Lib/Sound/Playback/OpenAL/COpenALPlay.cs | 4 ++--
Vocaluxe/Lib/Sound/Playback/OpenAL/COpenAlStream.cs | 2 +-
Vocaluxe/Lib/Sound/Playback/PortAudio/CPortAudioPlay.cs | 4 ++--
Vocaluxe/Lib/Sound/Playback/PortAudio/CPortAudioStream.cs | 2 +-
Vocaluxe/Screens/CScreenSing.cs | 3 ++-
Vocaluxe/Vocaluxe.csproj | 1 +
12 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/Vocaluxe/Base/CSound.cs b/Vocaluxe/Base/CSound.cs
index dc76f86f..5acbd7c9 100644
--- a/Vocaluxe/Base/CSound.cs
+++ b/Vocaluxe/Base/CSound.cs
@@ -22,6 +22,7 @@ using Vocaluxe.Lib.Sound.Playback.OpenAL;
using Vocaluxe.Lib.Sound.Playback.PortAudio;
using VocaluxeLib;
using System.Threading;
+using Vocaluxe.Lib.Sound;
namespace Vocaluxe.Base
{
@@ -88,9 +89,9 @@ namespace Vocaluxe.Base
}
#region Stream Handling
- public static int Load(string media, bool loop = false, bool prescan = false)
+ public static int Load(string media, bool loop = false, bool prescan = false, EAudioEffect effekt = EAudioEffect.None)
{
- return _Playback.Load(media, loop, prescan);
+ return _Playback.Load(media, loop, prescan, effekt);
}
public static void Close(int stream)
diff --git a/Vocaluxe/Lib/Sound/Playback/CAudioStreamBase.cs b/Vocaluxe/Lib/Sound/Playback/CAudioStreamBase.cs
index 3a421cce..35e62978 100644
--- a/Vocaluxe/Lib/Sound/Playback/CAudioStreamBase.cs
+++ b/Vocaluxe/Lib/Sound/Playback/CAudioStreamBase.cs
@@ -25,6 +25,7 @@ namespace Vocaluxe.Lib.Sound.Playback
private readonly int _ID;
protected readonly string _Medium;
protected readonly bool _Loop;
+ protected readonly EAudioEffect _Effect;
protected ICloseStreamListener _CloseStreamListener;
@@ -48,11 +49,12 @@ namespace Vocaluxe.Lib.Sound.Playback
public abstract bool IsPaused { get; set; }
public abstract bool IsFinished { get; }
- protected CAudioStreamBase(int id, string medium, bool loop)
+ protected CAudioStreamBase(int id, string medium, bool loop, EAudioEffect effect = EAudioEffect.None)
{
_ID = id;
_Medium = medium;
_Loop = loop;
+ _Effect = effect;
}
~CAudioStreamBase()
diff --git a/Vocaluxe/Lib/Sound/Playback/CPlaybackBase.cs b/Vocaluxe/Lib/Sound/Playback/CPlaybackBase.cs
index 1a12441c..62bbec70 100644
--- a/Vocaluxe/Lib/Sound/Playback/CPlaybackBase.cs
+++ b/Vocaluxe/Lib/Sound/Playback/CPlaybackBase.cs
@@ -113,13 +113,13 @@ namespace Vocaluxe.Lib.Sound.Playback
#region Stream Handling
//Factory method to get a stream instance
- protected abstract IAudioStream _CreateStream(int id, string media, bool loop);
+ protected abstract IAudioStream _CreateStream(int id, string media, bool loop, EAudioEffect effect = EAudioEffect.None);
- public int Load(string medium, bool loop = false, bool prescan = false)
+ public int Load(string medium, bool loop = false, bool prescan = false, EAudioEffect effect = EAudioEffect.None)
{
if (!_Initialized)
return -1;
- IAudioStream stream = _CreateStream(_NextID++, medium, loop);
+ IAudioStream stream = _CreateStream(_NextID++, medium, loop, effect);
if (stream.Open(prescan))
{
diff --git a/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudio.cs b/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudio.cs
index 73c624f8..46fcfd3b 100644
--- a/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudio.cs
+++ b/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudio.cs
@@ -72,9 +72,9 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
Application.Deinit();
}
- protected override IAudioStream _CreateStream(int id, string media, bool loop)
+ protected override IAudioStream _CreateStream(int id, string media, bool loop, EAudioEffect effect = EAudioEffect.None)
{
- return new CGstreamerSharpAudioStream(id, media, loop);
+ return new CGstreamerSharpAudioStream(id, media, loop, effect);
}
}
}
\ No newline at end of file
diff --git a/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs b/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs
index 97a432b0..09248e60 100644
--- a/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs
+++ b/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs
@@ -102,7 +102,7 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
}
}
- public CGstreamerSharpAudioStream(int id, string medium, bool loop) : base(id, medium, loop) {}
+ public CGstreamerSharpAudioStream(int id, string medium, bool loop, EAudioEffect effect = EAudioEffect.None) : base(id, medium, loop, effect) {}
public override bool Open(bool prescan)
{
@@ -125,7 +125,7 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
var audioSinkBin = new Bin("Audiosink");
Element audiokaraoke = null;
- if (CConfig.Config.Sound.KaraokeEffect == EOffOn.TR_CONFIG_ON)
+ if (_Effect.HasFlag(EAudioEffect.Karaoke))
{
audiokaraoke = ElementFactory.Make("audiokaraoke", "karaoke");
audioSinkBin.Add(audiokaraoke);
diff --git a/Vocaluxe/Lib/Sound/Playback/IPlayback.cs b/Vocaluxe/Lib/Sound/Playback/IPlayback.cs
index 7bb4a9ad..20792586 100644
--- a/Vocaluxe/Lib/Sound/Playback/IPlayback.cs
+++ b/Vocaluxe/Lib/Sound/Playback/IPlayback.cs
@@ -36,7 +36,7 @@ namespace Vocaluxe.Lib.Sound.Playback
void CloseAll();
#region stream Handling
- int Load(string medium, bool loop = false, bool prescan = false);
+ int Load(string medium, bool loop = false, bool prescan = false, EAudioEffect effekt= EAudioEffect.None);
void Close(int streamID);
void Play(int streamID);
diff --git a/Vocaluxe/Lib/Sound/Playback/OpenAL/COpenALPlay.cs b/Vocaluxe/Lib/Sound/Playback/OpenAL/COpenALPlay.cs
index 74a3704e..13ee98ad 100644
--- a/Vocaluxe/Lib/Sound/Playback/OpenAL/COpenALPlay.cs
+++ b/Vocaluxe/Lib/Sound/Playback/OpenAL/COpenALPlay.cs
@@ -44,9 +44,9 @@ namespace Vocaluxe.Lib.Sound.Playback.OpenAL
_Context = null;
}
- protected override IAudioStream _CreateStream(int id, string media, bool loop)
+ protected override IAudioStream _CreateStream(int id, string media, bool loop, EAudioEffect effect = EAudioEffect.None)
{
- return new COpenAlStream(id, media, loop);
+ return new COpenAlStream(id, media, loop, effect);
}
}
}
\ No newline at end of file
diff --git a/Vocaluxe/Lib/Sound/Playback/OpenAL/COpenAlStream.cs b/Vocaluxe/Lib/Sound/Playback/OpenAL/COpenAlStream.cs
index f9b5f41d..fd22e07c 100644
--- a/Vocaluxe/Lib/Sound/Playback/OpenAL/COpenAlStream.cs
+++ b/Vocaluxe/Lib/Sound/Playback/OpenAL/COpenAlStream.cs
@@ -122,7 +122,7 @@ namespace Vocaluxe.Lib.Sound.Playback.OpenAL
}
}
- public COpenAlStream(int id, string medium, bool loop) : base(id, medium, loop) {}
+ public COpenAlStream(int id, string medium, bool loop, EAudioEffect effect = EAudioEffect.None) : base(id, medium, loop, effect) {}
protected override void _Dispose(bool disposing)
{
diff --git a/Vocaluxe/Lib/Sound/Playback/PortAudio/CPortAudioPlay.cs b/Vocaluxe/Lib/Sound/Playback/PortAudio/CPortAudioPlay.cs
index e96eeeab..f5110988 100644
--- a/Vocaluxe/Lib/Sound/Playback/PortAudio/CPortAudioPlay.cs
+++ b/Vocaluxe/Lib/Sound/Playback/PortAudio/CPortAudioPlay.cs
@@ -29,9 +29,9 @@ namespace Vocaluxe.Lib.Sound.Playback.PortAudio
return true;
}
- protected override IAudioStream _CreateStream(int id, string media, bool loop)
+ protected override IAudioStream _CreateStream(int id, string media, bool loop, EAudioEffect effect = EAudioEffect.None)
{
- return new CPortAudioStream(id, media, loop);
+ return new CPortAudioStream(id, media, loop, effect);
}
}
}
\ No newline at end of file
diff --git a/Vocaluxe/Lib/Sound/Playback/PortAudio/CPortAudioStream.cs b/Vocaluxe/Lib/Sound/Playback/PortAudio/CPortAudioStream.cs
index 34421547..2002aa9c 100644
--- a/Vocaluxe/Lib/Sound/Playback/PortAudio/CPortAudioStream.cs
+++ b/Vocaluxe/Lib/Sound/Playback/PortAudio/CPortAudioStream.cs
@@ -131,7 +131,7 @@ namespace Vocaluxe.Lib.Sound.Playback.PortAudio
}
}
- public CPortAudioStream(int id, string medium, bool loop) : base(id, medium, loop) {}
+ public CPortAudioStream(int id, string medium, bool loop, EAudioEffect effect = EAudioEffect.None) : base(id, medium, loop, effect) {}
public override bool Open(bool prescan)
{
diff --git a/Vocaluxe/Screens/CScreenSing.cs b/Vocaluxe/Screens/CScreenSing.cs
index 829c69d1..7bf7e042 100644
--- a/Vocaluxe/Screens/CScreenSing.cs
+++ b/Vocaluxe/Screens/CScreenSing.cs
@@ -24,6 +24,7 @@ using System.Linq;
using System.Windows.Forms;
using Vocaluxe.Base;
using Vocaluxe.Base.Fonts;
+using Vocaluxe.Lib.Sound;
using VocaluxeLib;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu;
@@ -525,7 +526,7 @@ namespace Vocaluxe.Screens
songname += " (" + CGame.RoundNr + "/" + rounds + ")";
_Texts[_TextSongName].Text = songname;
- _CurrentStream = CSound.Load(song.GetMP3(), false, true);
+ _CurrentStream = CSound.Load(song.GetMP3(), false, true, CConfig.Config.Sound.KaraokeEffect == EOffOn.TR_CONFIG_ON ? EAudioEffect.Karaoke : EAudioEffect.None);
CSound.SetStreamVolume(_CurrentStream, 100);
CSound.SetPosition(_CurrentStream, song.Start);
_CurrentTime = song.Start;
diff --git a/Vocaluxe/Vocaluxe.csproj b/Vocaluxe/Vocaluxe.csproj
index 00fca9f4..4109a99a 100644
--- a/Vocaluxe/Vocaluxe.csproj
+++ b/Vocaluxe/Vocaluxe.csproj
@@ -185,6 +185,7 @@
+
From ee9b0af7d685dbb0bdde336ee20383db740b10bd Mon Sep 17 00:00:00 2001
From: lukeIam <2lukeiam@gmail.com>
Date: Fri, 9 Sep 2016 16:10:18 +0200
Subject: [PATCH 3/5] -Mod: Increment theme version number
---
Output/Themes/Ambient.xml | 2 +-
Output/Themes/Ambient/Screens/ScreenOptionsSound.xml | 2 +-
.../Themes/Changelog/Changelog_ScreenOptionsSound.txt | 10 ++++++++++
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/Output/Themes/Ambient.xml b/Output/Themes/Ambient.xml
index 91b0c674..8eaa61cd 100644
--- a/Output/Themes/Ambient.xml
+++ b/Output/Themes/Ambient.xml
@@ -5,7 +5,7 @@
Ambient
bohning
0
- 2
+ 3
Cursor
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
index a42fd2b5..9929150b 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
@@ -2,7 +2,7 @@
ScreenOptionsSound
- 3
+ 4
diff --git a/Output/Themes/Changelog/Changelog_ScreenOptionsSound.txt b/Output/Themes/Changelog/Changelog_ScreenOptionsSound.txt
index d83bd921..f12bf489 100644
--- a/Output/Themes/Changelog/Changelog_ScreenOptionsSound.txt
+++ b/Output/Themes/Changelog/Changelog_ScreenOptionsSound.txt
@@ -1,5 +1,15 @@
ScreenOptionsSound
+++++++++++
+Version 4:
+
+Add:
+
+
+
+and text for the description (Text7)
+"TR_SCREENOSOUND_KARAOKEEFFECT"
+
++++++++++
Version 3:
From 82a2a552dbc2c70f1f6ba583e10717689d883eeb Mon Sep 17 00:00:00 2001
From: lukeIam <2lukeiam@gmail.com>
Date: Fri, 9 Sep 2016 16:52:45 +0200
Subject: [PATCH 4/5] Fix: EAudioEffect.cs is missing
---
Vocaluxe/Lib/Sound/EAudioEffect.cs | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 Vocaluxe/Lib/Sound/EAudioEffect.cs
diff --git a/Vocaluxe/Lib/Sound/EAudioEffect.cs b/Vocaluxe/Lib/Sound/EAudioEffect.cs
new file mode 100644
index 00000000..cc85a9cf
--- /dev/null
+++ b/Vocaluxe/Lib/Sound/EAudioEffect.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Vocaluxe.Lib.Sound
+{
+ [Flags]
+ public enum EAudioEffect
+ {
+ None = 0,
+ Karaoke = 1
+ }
+}
From 7f5252099618a4581dc637cd58f0521433e172bc Mon Sep 17 00:00:00 2001
From: lukeIam <2lukeiam@gmail.com>
Date: Fri, 9 Sep 2016 16:59:00 +0200
Subject: [PATCH 5/5] Mod: theme version numbers the 2nd
---
Output/Themes/Ambient.xml | 2 +-
Vocaluxe/Screens/CScreenOptionsSound.cs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Output/Themes/Ambient.xml b/Output/Themes/Ambient.xml
index 8eaa61cd..91b0c674 100644
--- a/Output/Themes/Ambient.xml
+++ b/Output/Themes/Ambient.xml
@@ -5,7 +5,7 @@
Ambient
bohning
0
- 3
+ 2
Cursor
diff --git a/Vocaluxe/Screens/CScreenOptionsSound.cs b/Vocaluxe/Screens/CScreenOptionsSound.cs
index 6d3c1fde..c3d47d1f 100644
--- a/Vocaluxe/Screens/CScreenOptionsSound.cs
+++ b/Vocaluxe/Screens/CScreenOptionsSound.cs
@@ -27,7 +27,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 3; }
+ get { return 4; }
}
private const string _SelectSlideBackgroundMusic = "SelectSlideBackgroundMusic";