Merge pull request #9 from Vocaluxe/bgmusic

merge branch bgmusic into develop
This commit is contained in:
Alexander Eckart committed 2012-02-21 09:36:50 -08:00
commit 2da91aae9c
20 files changed
+649 -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.
+7
View File
@@ -84,6 +84,10 @@
<!--Config: Timer-Look-->
<TR_CONFIG_TIMERLOOK_NORMAL>Normal</TR_CONFIG_TIMERLOOK_NORMAL>
<TR_CONFIG_TIMERLOOK_EXPANDED>Erweitert</TR_CONFIG_TIMERLOOK_EXPANDED>
<!--Config: Background-Music-Source-->
<TR_CONFIG_OWN_MUSIC>Eigene Musik und Hintergrundmusik</TR_CONFIG_OWN_MUSIC>
<TR_CONFIG_NO_OWN_MUSIC>Keine eigene Musik</TR_CONFIG_NO_OWN_MUSIC>
<TR_CONFIG_ONLY_OWN_MUSIC>Nur eigene Musik</TR_CONFIG_ONLY_OWN_MUSIC>
<!--Screens-->
<!--ScreenLoad-->
<TR_SCREENLOAD_LOADING>Laden</TR_SCREENLOAD_LOADING>
@@ -159,6 +163,9 @@
<TR_SCREENORECORD_BUTTON_DELAYTEST>Verzögerungs-Test</TR_SCREENORECORD_BUTTON_DELAYTEST>
<!--ScreenOptionsSound-->
<TR_SCREENOSOUND_OPTIONS>Soundeinstellungen</TR_SCREENOSOUND_OPTIONS>
<TR_SCREENOSOUND_BACKGROUNDMUSIC>Hintergrundmusik</TR_SCREENOSOUND_BACKGROUNDMUSIC>
<TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>Hintergrundmusiklautstärke</TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>
<TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE>Hintergrundmusikquelle</TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE>
<!--ScreenOptionsTheme-->
<TR_SCREENOTHEME_OPTIONS>Designeinstellungen</TR_SCREENOTHEME_OPTIONS>
<TR_SCREENOTHEME_THEME>Design</TR_SCREENOTHEME_THEME>
+7
View File
@@ -84,6 +84,10 @@
<!--Config: Timer-Look-->
<TR_CONFIG_TIMERLOOK_NORMAL>Normal</TR_CONFIG_TIMERLOOK_NORMAL>
<TR_CONFIG_TIMERLOOK_EXPANDED>Expanded</TR_CONFIG_TIMERLOOK_EXPANDED>
<!--Config: Background-Music-Source-->
<TR_CONFIG_OWN_MUSIC>Own Music and Background Music</TR_CONFIG_OWN_MUSIC>
<TR_CONFIG_NO_OWN_MUSIC>No own Musik</TR_CONFIG_NO_OWN_MUSIC>
<TR_CONFIG_ONLY_OWN_MUSIC>Only own Musik</TR_CONFIG_ONLY_OWN_MUSIC>
<!--Screens-->
<!--ScreenLoad-->
<TR_SCREENLOAD_LOADING>Loading</TR_SCREENLOAD_LOADING>
@@ -159,6 +163,9 @@
<TR_SCREENORECORD_BUTTON_DELAYTEST>Delay Test</TR_SCREENORECORD_BUTTON_DELAYTEST>
<!--ScreenOptionsSound-->
<TR_SCREENOSOUND_OPTIONS>Options Sound</TR_SCREENOSOUND_OPTIONS>
<TR_SCREENOSOUND_BACKGROUNDMUSIC>Backgroundmusic</TR_SCREENOSOUND_BACKGROUNDMUSIC>
<TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>Backgroundmusic Volume</TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>
<TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE>Backgroundmusic Source</TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE>
<!--ScreenOptionsTheme-->
<TR_SCREENOTHEME_OPTIONS>Theme Options</TR_SCREENOTHEME_OPTIONS>
<TR_SCREENOTHEME_THEME>Theme</TR_SCREENOTHEME_THEME>
+7
View File
@@ -84,6 +84,10 @@
<!--Config: Timer-Look-->
<TR_CONFIG_TIMERLOOK_NORMAL>Normal</TR_CONFIG_TIMERLOOK_NORMAL>
<TR_CONFIG_TIMERLOOK_EXPANDED>Développé</TR_CONFIG_TIMERLOOK_EXPANDED>
<!--Config: Background-Music-Source-->
<TR_CONFIG_OWN_MUSIC>TODO: Own Music and Background Music</TR_CONFIG_OWN_MUSIC>
<TR_CONFIG_NO_OWN_MUSIC>TODO: No own Musik</TR_CONFIG_NO_OWN_MUSIC>
<TR_CONFIG_ONLY_OWN_MUSIC>TODO: Only own Musik</TR_CONFIG_ONLY_OWN_MUSIC>
<!--Screens-->
<!--ScreenLoad-->
<TR_SCREENLOAD_LOADING>Chargement</TR_SCREENLOAD_LOADING>
@@ -159,6 +163,9 @@
<TR_SCREENORECORD_BUTTON_DELAYTEST>Test du Retard</TR_SCREENORECORD_BUTTON_DELAYTEST>
<!--ScreenOptionsSound-->
<TR_SCREENOSOUND_OPTIONS>Options du Son</TR_SCREENOSOUND_OPTIONS>
<TR_SCREENOSOUND_BACKGROUNDMUSIC>TODO: Backgroundmusic</TR_SCREENOSOUND_BACKGROUNDMUSIC>
<TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>TODO: Backgroundmusic Volume</TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME>
<TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE>TODO: Backgroundmusic Source</TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE>
<!--ScreenOptionsTheme-->
<TR_SCREENOTHEME_OPTIONS>Options du Thème</TR_SCREENOTHEME_OPTIONS>
<TR_SCREENOTHEME_THEME>Thème</TR_SCREENOTHEME_THEME>
@@ -62,5 +62,337 @@
<!-- <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>
<Text4>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>225</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_BACKGROUNDMUSICSOURCE</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text4>
<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>
<SelectSlideBackgroundMusicSource>
<!--<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>220</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>225</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>225</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>
</SelectSlideBackgroundMusicSource>
</ScreenOptionsSound>
</root>
+148
View File
@@ -0,0 +1,148 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Vocaluxe.Base;
using System.Diagnostics;
using Vocaluxe.Lib.Song;
namespace Vocaluxe.Base
{
static class CBackgroundMusic
{
private static CHelper Helper = new CHelper();
private static int _CurrentMusicStream = -1;
private static bool _Fading;
private static Stopwatch _FadeTimer = new Stopwatch();
private static Random _Random = new Random();
private static List<string> _BackgroundMusicFileNames = new List<string>();
private static int _CurrentBackgroundMusicFileNameIndex;
private static bool _OwnMusicAdded;
private static bool _BackgroundMusicAdded;
public static void Init()
{
if(CConfig.BackgroundMusicSource == EBackgroundMusicSource.TR_CONFIG_NO_OWN_MUSIC || CConfig.BackgroundMusicSource == EBackgroundMusicSource.TR_CONFIG_OWN_MUSIC)
AddBackgroundMusic();
}
public static void Play()
{
if (CConfig.BackgroundMusic == EOffOn.TR_CONFIG_ON)
{
if (_BackgroundMusicFileNames.Count > 0)
{
CSound.Fade(_CurrentMusicStream, CConfig.BackgroundMusicVolume, CConfig.FadeTime);
CSound.Play(_CurrentMusicStream);
}
}
}
public static void Stop()
{
if (_BackgroundMusicFileNames.Count > 0)
CSound.FadeAndStop(_CurrentMusicStream, CConfig.BackgroundMusicVolume, CConfig.FadeTime);
}
public static void Pause()
{
if (_BackgroundMusicFileNames.Count > 0)
CSound.FadeAndPause(_CurrentMusicStream, 0, CConfig.FadeTime);
}
public static void Update()
{
if (_BackgroundMusicFileNames.Count > 0)
{
float timeToPlay = CSound.GetLength(_CurrentMusicStream) - CSound.GetPosition(_CurrentMusicStream);
if (_FadeTimer.ElapsedMilliseconds >= CConfig.FadeTime * 1000)
{
_Fading = false;
_FadeTimer.Reset();
}
if ((timeToPlay <= CConfig.FadeTime) && !_Fading)
{
_FadeTimer.Start();
Next();
_Fading = true;
}
}
}
public static void Next()
{
if (_BackgroundMusicFileNames.Count > 0)
{
if (_CurrentMusicStream != -1)
CSound.FadeAndStop(_CurrentMusicStream, 0, CConfig.FadeTime);
_CurrentBackgroundMusicFileNameIndex = _Random.Next(_BackgroundMusicFileNames.Count);
_CurrentMusicStream = CSound.Load(_BackgroundMusicFileNames[_CurrentBackgroundMusicFileNameIndex]);
Play();
}
else if (_BackgroundMusicAdded || _OwnMusicAdded)
{
if (_CurrentMusicStream != -1)
CSound.FadeAndStop(_CurrentMusicStream, 0, CConfig.FadeTime);
}
}
public static void ApplyVolume()
{
CSound.Fade(_CurrentMusicStream, CConfig.BackgroundMusicVolume, CConfig.FadeTime);
}
public static void AddOwnMusic()
{
if (!_OwnMusicAdded)
{
foreach (CSong song in CSongs.AllSongs)
{
_BackgroundMusicFileNames.Add(song.GetMP3());
}
}
_OwnMusicAdded = true;
Next();
}
public static void RemoveOwnMusic()
{
foreach (CSong song in CSongs.AllSongs)
{
_BackgroundMusicFileNames.Remove(song.GetMP3());
}
_OwnMusicAdded = false;
}
public static void AddBackgroundMusic()
{
if (!_BackgroundMusicAdded)
{
_BackgroundMusicFileNames.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.mp3", true, true));
_BackgroundMusicFileNames.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.wav", true, true));
_BackgroundMusicFileNames.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.ogg", true, true));
_BackgroundMusicFileNames.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.wma", true, true));
_BackgroundMusicAdded = true;
Next();
}
}
public static void RemoveBackgroundMusic()
{
if (_BackgroundMusicAdded)
{
List<string> removeList = new List<string>();
removeList.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.mp3", true, true));
removeList.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.wav", true, true));
removeList.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.ogg", true, true));
removeList.AddRange(Helper.ListFiles(CSettings.sFolderBackgroundMusic, "*.wma", true, true));
foreach (string s in removeList)
{
_BackgroundMusicFileNames.Remove(s);
}
_BackgroundMusicAdded = false;
}
}
}
}
+23
View File
@@ -134,6 +134,14 @@ namespace Vocaluxe.Base
TR_CONFIG_TIMERLOOK_NORMAL,
TR_CONFIG_TIMERLOOK_EXPANDED
}
public enum EBackgroundMusicSource
{
TR_CONFIG_NO_OWN_MUSIC,
TR_CONFIG_ONLY_OWN_MUSIC,
TR_CONFIG_OWN_MUSIC
}
#endregion Enums
static class CConfig
@@ -173,6 +181,9 @@ 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;
public static EBackgroundMusicSource BackgroundMusicSource = EBackgroundMusicSource.TR_CONFIG_NO_OWN_MUSIC;
// Game
public static List<string> SongFolder = new List<string>();
@@ -282,6 +293,9 @@ 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);
CHelper.TryGetEnumValueFromXML("//root/Sound/BackgroundMusicSource", navigator, ref BackgroundMusicSource);
#endregion Sound
#region Game
@@ -473,6 +487,15 @@ 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.WriteComment("Background Music Source");
writer.WriteElementString("BackgroundMusicSource", Enum.GetName(typeof(EBackgroundMusicSource), BackgroundMusicSource));
writer.WriteEndElement();
#endregion Sound
+1
View File
@@ -71,6 +71,7 @@ namespace Vocaluxe.Base
public const string sFolderSounds = "Sounds";
public const string sFolderLanguages = "Languages";
public const string sFolderScreenshots = "Screenshots";
public const string sFolderBackgroundMusic = "BackgroundMusic";
//public const String[] ToneStrings = new String[]{ "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B" };
public const int ToneMin = -36;
+1
View File
@@ -146,6 +146,7 @@ namespace Vocaluxe.Lib.Sound
{
if (AlreadyAdded(Stream))
{
_Decoder[GetStreamIndex(Stream)].Loop = Loop;
_Decoder[GetStreamIndex(Stream)].Play();
}
}
+1
View File
@@ -130,6 +130,7 @@ namespace Vocaluxe.Lib.Sound
{
if (AlreadyAdded(Stream))
{
_Decoder[GetStreamIndex(Stream)].Loop = Loop;
_Decoder[GetStreamIndex(Stream)].Play();
}
}
+1
View File
@@ -292,6 +292,7 @@ namespace Vocaluxe.Menu
Keys.CopyEvents();
CSound.Update();
CBackgroundMusic.Update();
if (CConfig.CoverLoading == ECoverLoading.TR_CONFIG_COVERLOADING_DYNAMIC && ActualScreen != EScreens.ScreenSing)
CSongs.LoadCover(30L);
+3
View File
@@ -109,6 +109,7 @@ namespace Vocaluxe.Menu
_ThemeLyrics = null;
_ThemeSelectSlides = null;
_ThemeSingNotes = null;
}
#region ThemeHandler
public virtual void LoadTheme()
@@ -861,11 +862,13 @@ namespace Vocaluxe.Menu
{
ResumeBG();
_Active = true;
CBackgroundMusic.Play();
}
public virtual void OnClose()
{
PauseBG();
CBackgroundMusic.Pause();
}
#endregion MenuHandler
+7
View File
@@ -82,6 +82,13 @@ namespace Vocaluxe
Application.DoEvents();
// Init Background Music
CLog.StartBenchmark(0, "Init Background Music");
CBackgroundMusic.Init();
CLog.StopBenchmark(0, "Init Background Music");
Application.DoEvents();
// Init Profiles
CLog.StartBenchmark(0, "Init Profiles");
CProfiles.Init();
+2
View File
@@ -190,6 +190,8 @@ namespace Vocaluxe.Screens
_Intros[2].Close();
CLog.StopBenchmark(3, "Load Cover");
if(CConfig.BackgroundMusicSource == EBackgroundMusicSource.TR_CONFIG_ONLY_OWN_MUSIC || CConfig.BackgroundMusicSource == EBackgroundMusicSource.TR_CONFIG_OWN_MUSIC)
CBackgroundMusic.AddOwnMusic();
}
private void CheckStartIntroVideos()
+6
View File
@@ -353,6 +353,12 @@ namespace Vocaluxe.Screens
_DelaySound = -1;
}
public override void OnShowFinish()
{
base.OnShowFinish();
CBackgroundMusic.Pause();
}
public override bool Draw()
{
DrawBG();
+84 -1
View File
@@ -14,6 +14,15 @@ 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 SelectSlideBackgroundMusicSource = "SelectSlideBackgroundMusicSource";
private const string ButtonExit = "ButtonExit";
private int _BackgroundMusicVolume;
private EOffOn _BackgroundMusic;
public CScreenOptionsSound()
{
Init();
@@ -25,6 +34,19 @@ namespace Vocaluxe.Screens
_ThemeName = "ScreenOptionsSound";
_ScreenVersion = ScreenVersion;
_ThemeButtons = new string[] { ButtonExit };
_ThemeSelectSlides = new string[] { SelectSlideBackgroundMusic, SelectSlideBackgroundMusicVolume, SelectSlideBackgroundMusicSource };
}
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;
SelectSlides[htSelectSlides(SelectSlideBackgroundMusicSource)].SetValues<EBackgroundMusicSource>((int)CConfig.BackgroundMusicSource);
SelectSlides[htSelectSlides(SelectSlideBackgroundMusicSource)].Selection = (int)CConfig.BackgroundMusicSource;
}
public override bool HandleInput(KeyEvent KeyEvent)
@@ -41,6 +63,7 @@ namespace Vocaluxe.Screens
{
case Keys.Escape:
case Keys.Back:
SaveConfig();
CGraphics.FadeTo(EScreens.ScreenOptions);
break;
@@ -49,7 +72,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 +97,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 +121,44 @@ 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;
if (CConfig.BackgroundMusic == EOffOn.TR_CONFIG_ON)
CBackgroundMusic.Play();
else
CBackgroundMusic.Pause();
CConfig.BackgroundMusicVolume = SelectSlides[htSelectSlides(SelectSlideBackgroundMusicVolume)].Selection * 5;
CBackgroundMusic.ApplyVolume();
if (CConfig.BackgroundMusicSource != (EBackgroundMusicSource)SelectSlides[htSelectSlides(SelectSlideBackgroundMusicSource)].Selection)
{
CConfig.BackgroundMusicSource = (EBackgroundMusicSource)SelectSlides[htSelectSlides(SelectSlideBackgroundMusicSource)].Selection;
if (CConfig.BackgroundMusicSource == EBackgroundMusicSource.TR_CONFIG_NO_OWN_MUSIC)
{
CBackgroundMusic.RemoveOwnMusic();
CBackgroundMusic.AddBackgroundMusic();
}
if (CConfig.BackgroundMusicSource == EBackgroundMusicSource.TR_CONFIG_ONLY_OWN_MUSIC)
{
CBackgroundMusic.RemoveBackgroundMusic();
CBackgroundMusic.AddOwnMusic();
}
if (CConfig.BackgroundMusicSource == EBackgroundMusicSource.TR_CONFIG_OWN_MUSIC)
CBackgroundMusic.AddOwnMusic();
}
CConfig.SaveConfig();
}
}
}
+2
View File
@@ -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()
+6
View File
@@ -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;
+1
View File
@@ -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" />