Added BackgroundMusic, Vocaluxe now plays every File with mp3, wav, ogg or wma ending in the BackgroundMusic folder
This commit is contained in:
1 parent
4b56eeb5a3
commit
056791ee70
14 files changed
+400
-1
No files matched your search
@@ -0,0 +1,10 @@
|
||||
This work is licensed under the Creative Commons license by-sa 3.0.
|
||||
(http://creativecommons.org/licenses/by-sa/3.0/)
|
||||
|
||||
Author:
|
||||
DJad (http://www.jamendo.com/de/artist/DJad)
|
||||
|
||||
Distributed by:
|
||||
Site: jamendo.com
|
||||
File: DJad - Walking Alone.mp3
|
||||
URL: http://www.jamendo.com/de/track/543970
|
||||
Binary file not shown.
@@ -148,6 +148,9 @@
|
||||
<TR_SCREENOGAME_TABS>Kategorieren anzeigen</TR_SCREENOGAME_TABS>
|
||||
<TR_SCREENOGAME_DIFFICULTY>Schwierigkeit</TR_SCREENOGAME_DIFFICULTY>
|
||||
<TR_SCREENOGAME_TIMERMODE>Timer-Modus</TR_SCREENOGAME_TIMERMODE>
|
||||
<!--ScreenOptionsSound-->
|
||||
<TR_SCREENOSOUND_BACKGROUNDMUSIC>Hintergrundmusik</TR_SCREENOSOUND_BACKGROUNDMUSIC>
|
||||
<TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>Hintergrundmusiklautstärke</TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>
|
||||
<!--ScreenOptionsRecord-->
|
||||
<TR_SCREENORECORD_OPTIONS>Aufnahmeeinstellungen</TR_SCREENORECORD_OPTIONS>
|
||||
<TR_SCREENORECORD_DEVICE>Soundkarte</TR_SCREENORECORD_DEVICE>
|
||||
|
||||
@@ -148,6 +148,9 @@
|
||||
<TR_SCREENOGAME_TABS>Tabs</TR_SCREENOGAME_TABS>
|
||||
<TR_SCREENOGAME_DIFFICULTY>Game Difficulty</TR_SCREENOGAME_DIFFICULTY>
|
||||
<TR_SCREENOGAME_TIMERMODE>Timer-Mode</TR_SCREENOGAME_TIMERMODE>
|
||||
<!--ScreenOptionsSound-->
|
||||
<TR_SCREENOSOUND_BACKGROUNDMUSIC>Backgroundmusic</TR_SCREENOSOUND_BACKGROUNDMUSIC>
|
||||
<TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>Backgroundmusic Volume</TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>
|
||||
<!--ScreenOptionsRecord-->
|
||||
<TR_SCREENORECORD_OPTIONS>Record Options</TR_SCREENORECORD_OPTIONS>
|
||||
<TR_SCREENORECORD_DEVICE>Device</TR_SCREENORECORD_DEVICE>
|
||||
|
||||
@@ -148,6 +148,9 @@
|
||||
<TR_SCREENOGAME_TABS>Dossiers</TR_SCREENOGAME_TABS>
|
||||
<TR_SCREENOGAME_DIFFICULTY>Difficulté du Jeu</TR_SCREENOGAME_DIFFICULTY>
|
||||
<TR_SCREENOGAME_TIMERMODE>Mode du Minuteur</TR_SCREENOGAME_TIMERMODE>
|
||||
<!--ScreenOptionsSound-->
|
||||
<TR_SCREENOSOUND_BACKGROUNDMUSIC>TODO: Backgroundmusic</TR_SCREENOSOUND_BACKGROUNDMUSIC>
|
||||
<TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>TODO: Backgroundmusic Volume</TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>
|
||||
<!--ScreenOptionsRecord-->
|
||||
<TR_SCREENORECORD_OPTIONS>Options d'Enregistrement</TR_SCREENORECORD_OPTIONS>
|
||||
<TR_SCREENORECORD_DEVICE>Appareil</TR_SCREENORECORD_DEVICE>
|
||||
|
||||
@@ -62,5 +62,245 @@
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</Text1>
|
||||
<Text2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>105</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
<H>32</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>StaticColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>TextSColor</SColor>
|
||||
<!--<Align>: Text align: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<Text>TR_SCREENOSOUND_BACKGROUNDMUSIC</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</Text2>
|
||||
<Text3>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>165</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>0,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
<H>32</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>StaticColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>TextSColor</SColor>
|
||||
<!--<Align>: Text align: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<Text>TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</Text3>
|
||||
<ButtonExit>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Button</Skin>
|
||||
<!--<SkinSelected>: Texture name for selected button-->
|
||||
<SkinSelected>Button</SkinSelected>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
|
||||
<X>145</X>
|
||||
<Y>600</Y>
|
||||
<Z>0,00</Z>
|
||||
<W>150</W>
|
||||
<H>50</H>
|
||||
<!--<Color>: Button color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonColor</Color>
|
||||
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonSColor</SColor>
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>32</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<MaxW>142</MaxW>
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonTextColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonTextSColor</SColor>
|
||||
<!--<Align>: Text align: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<Text>TR_BUTTON_BACK</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
<Reflection>
|
||||
<Space>10</Space>
|
||||
<Height>26</Height>
|
||||
</Reflection>
|
||||
<!--<SReflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space of selected button-->
|
||||
<!-- <Height>: Reflection Height of selected button-->
|
||||
<SReflection>
|
||||
<Space>10</Space>
|
||||
<Height>26</Height>
|
||||
</SReflection>
|
||||
</ButtonExit>
|
||||
|
||||
<SelectSlideBackgroundMusic>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<SkinArrowLeft>: Texture name of left arrow-->
|
||||
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
|
||||
<!--<SkinArrowRight>: Texture name of right arrow-->
|
||||
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
|
||||
<!--<SkinSelected>: Texture name for selected SelectSlide-->
|
||||
<SkinSelected>SelectSlide</SkinSelected>
|
||||
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
|
||||
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
|
||||
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
|
||||
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
|
||||
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
|
||||
<SkinHighlighted>SelectSlide</SkinHighlighted>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
|
||||
<X>500</X>
|
||||
<Y>100</Y>
|
||||
<Z>0,00</Z>
|
||||
<W>700</W>
|
||||
<H>50</H>
|
||||
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
|
||||
<ArrowLeftX>505</ArrowLeftX>
|
||||
<ArrowLeftY>105</ArrowLeftY>
|
||||
<ArrowLeftZ>0,00</ArrowLeftZ>
|
||||
<ArrowLeftW>40</ArrowLeftW>
|
||||
<ArrowLeftH>40</ArrowLeftH>
|
||||
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
|
||||
<ArrowRightX>1170</ArrowRightX>
|
||||
<ArrowRightY>105</ArrowRightY>
|
||||
<ArrowRightZ>0,00</ArrowRightZ>
|
||||
<ArrowRightW>40</ArrowRightW>
|
||||
<ArrowRightH>40</ArrowRightH>
|
||||
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>SelectSlideColor</Color>
|
||||
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>SelectSlideSColor</SColor>
|
||||
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
|
||||
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
|
||||
<HColor>SelectSlideHColor</HColor>
|
||||
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
|
||||
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
|
||||
<ArrowColor>ArrowColor</ArrowColor>
|
||||
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
|
||||
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
|
||||
<ArrowSColor>ArrowSColor</ArrowSColor>
|
||||
<!--<TextColor>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
|
||||
<TextColor>TextColor</TextColor>
|
||||
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
|
||||
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
|
||||
<TextSColor>TextSColor</TextSColor>
|
||||
<!--<TextH>: Text height-->
|
||||
<TextH>32,00</TextH>
|
||||
<!--<TextMaxW>: Maximum text width (if exists)-->
|
||||
<TextMaxW>205,33</TextMaxW>
|
||||
<!--<TextFont>: Text font name-->
|
||||
<TextFont>Normal</TextFont>
|
||||
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<TextStyle>Bold</TextStyle>
|
||||
<!--<NumVisible>: Number of visible elements in the slide-->
|
||||
<NumVisible>3</NumVisible>
|
||||
</SelectSlideBackgroundMusic>
|
||||
<SelectSlideBackgroundMusicVolume>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<SkinArrowLeft>: Texture name of left arrow-->
|
||||
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
|
||||
<!--<SkinArrowRight>: Texture name of right arrow-->
|
||||
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
|
||||
<!--<SkinSelected>: Texture name for selected SelectSlide-->
|
||||
<SkinSelected>SelectSlide</SkinSelected>
|
||||
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
|
||||
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
|
||||
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
|
||||
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
|
||||
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
|
||||
<SkinHighlighted>SelectSlide</SkinHighlighted>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
|
||||
<X>500</X>
|
||||
<Y>160</Y>
|
||||
<Z>0,00</Z>
|
||||
<W>700</W>
|
||||
<H>50</H>
|
||||
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
|
||||
<ArrowLeftX>505</ArrowLeftX>
|
||||
<ArrowLeftY>165</ArrowLeftY>
|
||||
<ArrowLeftZ>0,00</ArrowLeftZ>
|
||||
<ArrowLeftW>40</ArrowLeftW>
|
||||
<ArrowLeftH>40</ArrowLeftH>
|
||||
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
|
||||
<ArrowRightX>1170</ArrowRightX>
|
||||
<ArrowRightY>165</ArrowRightY>
|
||||
<ArrowRightZ>0,00</ArrowRightZ>
|
||||
<ArrowRightW>40</ArrowRightW>
|
||||
<ArrowRightH>40</ArrowRightH>
|
||||
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>SelectSlideColor</Color>
|
||||
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>SelectSlideSColor</SColor>
|
||||
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
|
||||
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
|
||||
<HColor>SelectSlideHColor</HColor>
|
||||
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
|
||||
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
|
||||
<ArrowColor>ArrowColor</ArrowColor>
|
||||
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
|
||||
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
|
||||
<ArrowSColor>ArrowSColor</ArrowSColor>
|
||||
<!--<TextColor>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
|
||||
<TextColor>TextColor</TextColor>
|
||||
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
|
||||
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
|
||||
<TextSColor>TextSColor</TextSColor>
|
||||
<!--<TextH>: Text height-->
|
||||
<TextH>32,00</TextH>
|
||||
<!--<TextMaxW>: Maximum text width (if exists)-->
|
||||
<TextMaxW>205,33</TextMaxW>
|
||||
<!--<TextFont>: Text font name-->
|
||||
<TextFont>Normal</TextFont>
|
||||
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<TextStyle>Bold</TextStyle>
|
||||
<!--<NumVisible>: Number of visible elements in the slide-->
|
||||
<NumVisible>3</NumVisible>
|
||||
</SelectSlideBackgroundMusicVolume>
|
||||
</ScreenOptionsSound>
|
||||
</root>
|
||||
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
|
||||
using Vocaluxe.Base;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
static class CBackgroundMusic
|
||||
{
|
||||
private static CHelper Helper = new CHelper();
|
||||
private static List<int> _BackgroundMusicStreams = new List<int>();
|
||||
|
||||
public static void init()
|
||||
{
|
||||
List<string> files = new List<string>();
|
||||
files.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.mp3", true, true));
|
||||
files.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.wav", true, true));
|
||||
files.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.ogg", true, true));
|
||||
files.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.wma", true, true));
|
||||
|
||||
foreach (string file in files)
|
||||
{
|
||||
_BackgroundMusicStreams.Add(CSound.Load(file));
|
||||
}
|
||||
}
|
||||
|
||||
public static void Play()
|
||||
{
|
||||
if (CConfig.BackgroundMusic == EOffOn.TR_CONFIG_ON)
|
||||
{
|
||||
foreach (int i in _BackgroundMusicStreams)
|
||||
{
|
||||
CSound.Fade(i, CConfig.BackgroundMusicVolume, CConfig.FadeTime);
|
||||
CSound.Play(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Stop()
|
||||
{
|
||||
foreach (int i in _BackgroundMusicStreams)
|
||||
{
|
||||
CSound.FadeAndStop(i, CConfig.BackgroundMusicVolume, CConfig.FadeTime);
|
||||
}
|
||||
}
|
||||
|
||||
public static void Pause()
|
||||
{
|
||||
foreach (int i in _BackgroundMusicStreams)
|
||||
{
|
||||
CSound.Pause(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -173,6 +173,8 @@ namespace Vocaluxe.Base
|
||||
public static EPlaybackLib PlayBackLib = EPlaybackLib.PortAudio;
|
||||
public static ERecordLib RecordLib = ERecordLib.PortAudio;
|
||||
public static uint PortAudioBufferSize = 1024;
|
||||
public static int BackgroundMusicVolume = 50;
|
||||
public static EOffOn BackgroundMusic = EOffOn.TR_CONFIG_ON;
|
||||
|
||||
// Game
|
||||
public static List<string> SongFolder = new List<string>();
|
||||
@@ -282,6 +284,8 @@ namespace Vocaluxe.Base
|
||||
#region Sound
|
||||
CHelper.TryGetEnumValueFromXML<EPlaybackLib>("//root/Sound/PlayBackLib", navigator, ref PlayBackLib);
|
||||
CHelper.TryGetEnumValueFromXML<ERecordLib>("//root/Sound/RecordLib", navigator, ref RecordLib);
|
||||
CHelper.TryGetEnumValueFromXML("//root/Sound/BackgroundMusic", navigator, ref BackgroundMusic);
|
||||
CHelper.TryGetIntValueFromXML("//root/Sound/BackgroundMusicVolume", navigator, ref BackgroundMusicVolume);
|
||||
#endregion Sound
|
||||
|
||||
#region Game
|
||||
@@ -473,6 +477,12 @@ namespace Vocaluxe.Base
|
||||
writer.WriteComment("RecordLib: " + ListStrings(Enum.GetNames(typeof(ERecordLib))));
|
||||
writer.WriteElementString("RecordLib", Enum.GetName(typeof(ERecordLib), RecordLib));
|
||||
|
||||
writer.WriteComment("Background Music");
|
||||
writer.WriteElementString("BackgroundMusicEnabled", Enum.GetName(typeof(EOffOn), BackgroundMusic));
|
||||
|
||||
writer.WriteComment("Background Music Volume from 0 to 100");
|
||||
writer.WriteElementString("BackgroundMusicVolume", BackgroundMusicVolume.ToString());
|
||||
|
||||
writer.WriteEndElement();
|
||||
#endregion Sound
|
||||
|
||||
|
||||
@@ -109,6 +109,7 @@ namespace Vocaluxe.Menu
|
||||
_ThemeLyrics = null;
|
||||
_ThemeSelectSlides = null;
|
||||
_ThemeSingNotes = null;
|
||||
|
||||
}
|
||||
#region ThemeHandler
|
||||
public virtual void LoadTheme()
|
||||
@@ -855,17 +856,20 @@ namespace Vocaluxe.Menu
|
||||
public virtual void OnShow()
|
||||
{
|
||||
ResumeBG();
|
||||
CBackgroundMusic.Play();
|
||||
}
|
||||
|
||||
public virtual void OnShowFinish()
|
||||
{
|
||||
ResumeBG();
|
||||
_Active = true;
|
||||
CBackgroundMusic.Play();
|
||||
}
|
||||
|
||||
public virtual void OnClose()
|
||||
{
|
||||
PauseBG();
|
||||
CBackgroundMusic.Pause();
|
||||
}
|
||||
#endregion MenuHandler
|
||||
|
||||
|
||||
@@ -81,6 +81,11 @@ namespace Vocaluxe
|
||||
|
||||
Application.DoEvents();
|
||||
|
||||
// Init Background Music
|
||||
CLog.StartBenchmark(0, "Init Background Music");
|
||||
CBackgroundMusic.init();
|
||||
CLog.StopBenchmark(0, "Init Background Music");
|
||||
|
||||
// Init Profiles
|
||||
CLog.StartBenchmark(0, "Init Profiles");
|
||||
CProfiles.Init();
|
||||
|
||||
@@ -14,6 +14,14 @@ namespace Vocaluxe.Screens
|
||||
// Version number for theme files. Increment it, if you've changed something on the theme files!
|
||||
const int ScreenVersion = 1;
|
||||
|
||||
private const string SelectSlideBackgroundMusic = "SelectSlideBackgroundMusic";
|
||||
private const string SelectSlideBackgroundMusicVolume = "SelectSlideBackgroundMusicVolume";
|
||||
|
||||
private const string ButtonExit = "ButtonExit";
|
||||
|
||||
private int _BackgroundMusicVolume;
|
||||
private EOffOn _BackgroundMusic;
|
||||
|
||||
public CScreenOptionsSound()
|
||||
{
|
||||
Init();
|
||||
@@ -25,6 +33,17 @@ namespace Vocaluxe.Screens
|
||||
|
||||
_ThemeName = "ScreenOptionsSound";
|
||||
_ScreenVersion = ScreenVersion;
|
||||
|
||||
_ThemeButtons = new string[] { ButtonExit };
|
||||
_ThemeSelectSlides = new string[] { SelectSlideBackgroundMusic, SelectSlideBackgroundMusicVolume };
|
||||
}
|
||||
|
||||
public override void LoadTheme()
|
||||
{
|
||||
base.LoadTheme();
|
||||
SelectSlides[htSelectSlides(SelectSlideBackgroundMusic)].SetValues<EOffOn>((int)CConfig.BackgroundMusic);
|
||||
SelectSlides[htSelectSlides(SelectSlideBackgroundMusicVolume)].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[htSelectSlides(SelectSlideBackgroundMusicVolume)].Selection = CConfig.BackgroundMusicVolume / 5;
|
||||
}
|
||||
|
||||
public override bool HandleInput(KeyEvent KeyEvent)
|
||||
@@ -41,6 +60,7 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
case Keys.Escape:
|
||||
case Keys.Back:
|
||||
SaveConfig();
|
||||
CGraphics.FadeTo(EScreens.ScreenOptions);
|
||||
break;
|
||||
|
||||
@@ -49,7 +69,19 @@ namespace Vocaluxe.Screens
|
||||
break;
|
||||
|
||||
case Keys.Enter:
|
||||
CGraphics.FadeTo(EScreens.ScreenTest);
|
||||
if (Buttons[htButtons(ButtonExit)].Selected)
|
||||
{
|
||||
SaveConfig();
|
||||
CGraphics.FadeTo(EScreens.ScreenOptions);
|
||||
}
|
||||
break;
|
||||
|
||||
case Keys.Left:
|
||||
SaveConfig();
|
||||
break;
|
||||
|
||||
case Keys.Right:
|
||||
SaveConfig();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -62,8 +94,17 @@ namespace Vocaluxe.Screens
|
||||
|
||||
if (MouseEvent.RB)
|
||||
{
|
||||
SaveConfig();
|
||||
CGraphics.FadeTo(EScreens.ScreenOptions);
|
||||
}
|
||||
if (MouseEvent.LB && IsMouseOver(MouseEvent))
|
||||
{
|
||||
SaveConfig();
|
||||
if (Buttons[htButtons(ButtonExit)].Selected)
|
||||
{
|
||||
CGraphics.FadeTo(EScreens.ScreenOptions);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -77,5 +118,19 @@ namespace Vocaluxe.Screens
|
||||
base.Draw();
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void OnShow()
|
||||
{
|
||||
base.OnShow();
|
||||
_BackgroundMusic = CConfig.BackgroundMusic;
|
||||
_BackgroundMusicVolume = CConfig.BackgroundMusicVolume;
|
||||
}
|
||||
private void SaveConfig()
|
||||
{
|
||||
CConfig.BackgroundMusic = (EOffOn)SelectSlides[htSelectSlides(SelectSlideBackgroundMusic)].Selection;
|
||||
CConfig.BackgroundMusicVolume = SelectSlides[htSelectSlides(SelectSlideBackgroundMusicVolume)].Selection * 5;
|
||||
|
||||
CConfig.SaveConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -326,6 +326,7 @@ namespace Vocaluxe.Screens
|
||||
}
|
||||
|
||||
SetVisuability();
|
||||
CBackgroundMusic.Pause();
|
||||
}
|
||||
|
||||
public override void OnShowFinish()
|
||||
@@ -334,6 +335,7 @@ namespace Vocaluxe.Screens
|
||||
|
||||
CGame.Start();
|
||||
LoadNextSong();
|
||||
CBackgroundMusic.Pause();
|
||||
}
|
||||
|
||||
public override bool Draw()
|
||||
|
||||
@@ -171,9 +171,15 @@ namespace Vocaluxe.Screens
|
||||
|
||||
int song = SongMenus[htSongMenus(SongMenu)].GetActualSelection();
|
||||
if ((CSongs.Category >= 0) && (song >= 0) && song < CSongs.VisibleSongs.Length)
|
||||
{
|
||||
Texts[htTexts(TextSelection)].Text = CSongs.VisibleSongs[song].Artist + " - " + CSongs.VisibleSongs[song].Title;
|
||||
CBackgroundMusic.Pause();
|
||||
}
|
||||
else if ((CSongs.Category == -1) && (song >= 0) && song < CSongs.Categories.Length)
|
||||
{
|
||||
Texts[htTexts(TextSelection)].Text = CSongs.Categories[song].Name;
|
||||
CBackgroundMusic.Play();
|
||||
}
|
||||
else
|
||||
Texts[htTexts(TextSelection)].Text = String.Empty;
|
||||
|
||||
|
||||
@@ -89,6 +89,7 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Base\CBackgroundMusic.cs" />
|
||||
<Compile Include="Base\CConfig.cs" />
|
||||
<Compile Include="Base\CCover.cs" />
|
||||
<Compile Include="Base\CDataBase.cs" />
|
||||
|
||||
Reference in new issue
Block a user