diff --git a/Output/Themes/Ambient/RepeatIcon.png b/Output/Themes/Ambient/RepeatIcon.png
new file mode 100644
index 00000000..6675a41a
Binary files /dev/null and b/Output/Themes/Ambient/RepeatIcon.png differ
diff --git a/Output/Themes/Ambient/Resources/RepeatIcon.psd b/Output/Themes/Ambient/Resources/RepeatIcon.psd
new file mode 100644
index 00000000..cd1a0637
Binary files /dev/null and b/Output/Themes/Ambient/Resources/RepeatIcon.psd differ
diff --git a/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml b/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml
index 8a21c449..c24f77ca 100644
--- a/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml
+++ b/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml
@@ -206,5 +206,52 @@
+
+
+ RepeatIcon
+
+ RepeatIcon
+
+ 265
+ 0
+ 0,00
+ 50
+ 50
+
+
+ ButtonColor
+
+
+ ButtonSColor
+
+
+ 265
+ 25
+
+ 32
+
+ 142
+
+
+ ButtonTextColor
+
+
+ ButtonTextSColor
+
+ Center
+
+
+
+ Normal
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Skin Blue.xml b/Output/Themes/Ambient/Skin Blue.xml
index 732c2f9d..83672c2f 100644
--- a/Output/Themes/Ambient/Skin Blue.xml
+++ b/Output/Themes/Ambient/Skin Blue.xml
@@ -220,6 +220,7 @@
NextIcon.png
PlayIcon.png
PauseIcon.png
+ RepeatIcon.png
[Blue]BG_Video.mp4
diff --git a/Output/Themes/Ambient/Skin Green.xml b/Output/Themes/Ambient/Skin Green.xml
index fe1b9b45..18148787 100644
--- a/Output/Themes/Ambient/Skin Green.xml
+++ b/Output/Themes/Ambient/Skin Green.xml
@@ -220,6 +220,7 @@
NextIcon.png
PlayIcon.png
PauseIcon.png
+ RepeatIcon.png
[Green]BG_Video.mp4
diff --git a/Output/Themes/Ambient/Skin Red.xml b/Output/Themes/Ambient/Skin Red.xml
index 1b74be2e..ff54ff23 100644
--- a/Output/Themes/Ambient/Skin Red.xml
+++ b/Output/Themes/Ambient/Skin Red.xml
@@ -219,7 +219,8 @@
PreviousIcon.png
NextIcon.png
PlayIcon.png
- PauseIcon.png
+ PauseIcon.png
+ RepeatIcon.png
[Red]BG_Video.mp4
diff --git a/Output/Themes/Ambient/Skin Yellow.xml b/Output/Themes/Ambient/Skin Yellow.xml
index 1a001daa..6920b340 100644
--- a/Output/Themes/Ambient/Skin Yellow.xml
+++ b/Output/Themes/Ambient/Skin Yellow.xml
@@ -219,7 +219,8 @@
PreviousIcon.png
NextIcon.png
PlayIcon.png
- PauseIcon.png
+ PauseIcon.png
+ RepeatIcon.png
[Yellow]BG_Video.mp4
diff --git a/Vocaluxe/Base/CBackgroundMusic.cs b/Vocaluxe/Base/CBackgroundMusic.cs
index 99bf2596..352c9398 100644
--- a/Vocaluxe/Base/CBackgroundMusic.cs
+++ b/Vocaluxe/Base/CBackgroundMusic.cs
@@ -132,6 +132,14 @@ namespace Vocaluxe.Base
}
}
+ public static void Repeat()
+ {
+ if (_AllFileNames.Count > 0 && _CurrentMusicStream != -1)
+ {
+ CSound.SetPosition(_CurrentMusicStream, 0);
+ }
+ }
+
public static void ApplyVolume()
{
CSound.SetStreamVolume(_CurrentMusicStream, CConfig.BackgroundMusicVolume);
diff --git a/Vocaluxe/Screens/CPopupScreenPlayerControl.cs b/Vocaluxe/Screens/CPopupScreenPlayerControl.cs
index 2ded8e4e..f28d39cc 100644
--- a/Vocaluxe/Screens/CPopupScreenPlayerControl.cs
+++ b/Vocaluxe/Screens/CPopupScreenPlayerControl.cs
@@ -22,6 +22,7 @@ namespace Vocaluxe.Screens
private const string ButtonPlay = "ButtonPlay";
private const string ButtonPause = "ButtonPause";
private const string ButtonNext = "ButtonNext";
+ private const string ButtonRepeat = "ButtonRepeat";
public CPopupScreenPlayerControl()
{
@@ -42,6 +43,7 @@ namespace Vocaluxe.Screens
buttons.Add(ButtonPause);
buttons.Add(ButtonPrevious);
buttons.Add(ButtonNext);
+ buttons.Add(ButtonRepeat);
_ThemeButtons = buttons.ToArray();
}
@@ -70,6 +72,8 @@ namespace Vocaluxe.Screens
CBackgroundMusic.Play();
if (Buttons[htButtons(ButtonPause)].Selected)
CBackgroundMusic.Pause();
+ if (Buttons[htButtons(ButtonRepeat)].Selected)
+ CBackgroundMusic.Repeat();
break;
}
}
@@ -90,6 +94,8 @@ namespace Vocaluxe.Screens
CBackgroundMusic.Play();
if (Buttons[htButtons(ButtonPause)].Selected)
CBackgroundMusic.Pause();
+ if (Buttons[htButtons(ButtonRepeat)].Selected)
+ CBackgroundMusic.Repeat();
} else if (MouseEvent.LB)
{
CGraphics.HidePopup(EPopupScreens.PopupPlayerControl);