diff --git a/Output/Themes/Ambient/Screens/ScreenNames.xml b/Output/Themes/Ambient/Screens/ScreenNames.xml
index 3fff5c64..20a2026b 100644
--- a/Output/Themes/Ambient/Screens/ScreenNames.xml
+++ b/Output/Themes/Ambient/Screens/ScreenNames.xml
@@ -386,13 +386,13 @@
40
- SelectSlideColor
+ Player1Dim
- SelectSlideSColor
+ Player1Dim
- SelectSlideHColor
+ Player1
ArrowColor
@@ -404,7 +404,7 @@
TextColor
- TextSColor
+ Player1
32,00
@@ -451,13 +451,13 @@
40
- SelectSlideColor
+ Player2Dim
- SelectSlideSColor
+ Player2Dim
- SelectSlideHColor
+ Player2
ArrowColor
@@ -469,7 +469,7 @@
TextColor
- TextSColor
+ Player2
32,00
@@ -516,13 +516,13 @@
40
- SelectSlideColor
+ Player3Dim
- SelectSlideSColor
+ Player3Dim
- SelectSlideHColor
+ Player3
ArrowColor
@@ -534,7 +534,7 @@
TextColor
- TextSColor
+ Player3
32,00
diff --git a/Output/Themes/Ambient/Skin Blue.xml b/Output/Themes/Ambient/Skin Blue.xml
index 33203fdf..62fefa5d 100644
--- a/Output/Themes/Ambient/Skin Blue.xml
+++ b/Output/Themes/Ambient/Skin Blue.xml
@@ -46,6 +46,42 @@
+
+ 0,000
+ 0,000
+ 1,000
+ 0,500
+
+
+ 1,000
+ 0,000
+ 0,000
+ 0,500
+
+
+ 0,000
+ 1,000
+ 0,000
+ 0,500
+
+
+ 0,500
+ 0,000
+ 1,000
+ 0,500
+
+
+ 0,000
+ 0,500
+ 1,000
+ 0,500
+
+
+ 1,000
+ 0,000
+ 0,500
+ 0,500
+
0,000
0,000
diff --git a/Output/Themes/Ambient/Skin Green.xml b/Output/Themes/Ambient/Skin Green.xml
index 3a59c0b6..9d6047ae 100644
--- a/Output/Themes/Ambient/Skin Green.xml
+++ b/Output/Themes/Ambient/Skin Green.xml
@@ -46,6 +46,42 @@
+
+ 0,000
+ 0,000
+ 1,000
+ 0,500
+
+
+ 1,000
+ 0,000
+ 0,000
+ 0,500
+
+
+ 0,000
+ 1,000
+ 0,000
+ 0,500
+
+
+ 0,500
+ 0,000
+ 1,000
+ 0,500
+
+
+ 0,000
+ 0,500
+ 1,000
+ 0,500
+
+
+ 1,000
+ 0,000
+ 0,500
+ 0,500
+
0,000
0,000
diff --git a/Output/Themes/Ambient/Skin Red.xml b/Output/Themes/Ambient/Skin Red.xml
index 25b2f9fd..b74a054b 100644
--- a/Output/Themes/Ambient/Skin Red.xml
+++ b/Output/Themes/Ambient/Skin Red.xml
@@ -46,6 +46,42 @@
+
+ 0,000
+ 0,000
+ 1,000
+ 0,500
+
+
+ 1,000
+ 0,000
+ 0,000
+ 0,500
+
+
+ 0,000
+ 1,000
+ 0,000
+ 0,500
+
+
+ 0,500
+ 0,000
+ 1,000
+ 0,500
+
+
+ 0,000
+ 0,500
+ 1,000
+ 0,500
+
+
+ 1,000
+ 0,000
+ 0,500
+ 0,500
+
0,000
0,000
diff --git a/Output/Themes/Ambient/Skin Yellow.xml b/Output/Themes/Ambient/Skin Yellow.xml
index 25c7bb21..5d63b033 100644
--- a/Output/Themes/Ambient/Skin Yellow.xml
+++ b/Output/Themes/Ambient/Skin Yellow.xml
@@ -46,6 +46,42 @@
+
+ 0,000
+ 0,000
+ 1,000
+ 0,500
+
+
+ 1,000
+ 0,000
+ 0,000
+ 0,500
+
+
+ 0,000
+ 1,000
+ 0,000
+ 0,500
+
+
+ 0,500
+ 0,000
+ 1,000
+ 0,500
+
+
+ 0,000
+ 0,500
+ 1,000
+ 0,500
+
+
+ 1,000
+ 0,000
+ 0,500
+ 0,500
+
0,000
0,000
diff --git a/Output/x64/acinerella.dll b/Output/x64/acinerella.dll
index e70d69eb..41790e99 100644
Binary files a/Output/x64/acinerella.dll and b/Output/x64/acinerella.dll differ
diff --git a/Output/x64/avcodec-54.dll b/Output/x64/avcodec-54.dll
index 782ea1ad..dd2af535 100644
Binary files a/Output/x64/avcodec-54.dll and b/Output/x64/avcodec-54.dll differ
diff --git a/Output/x64/avformat-54.dll b/Output/x64/avformat-54.dll
index 9f9f7bd8..a7d5c0c4 100644
Binary files a/Output/x64/avformat-54.dll and b/Output/x64/avformat-54.dll differ
diff --git a/Output/x64/avutil-51.dll b/Output/x64/avutil-51.dll
index b625de22..861e290b 100644
Binary files a/Output/x64/avutil-51.dll and b/Output/x64/avutil-51.dll differ
diff --git a/Output/x64/swscale-2.dll b/Output/x64/swscale-2.dll
index 307ced01..a883eacf 100644
Binary files a/Output/x64/swscale-2.dll and b/Output/x64/swscale-2.dll differ
diff --git a/Output/x86/acinerella.dll b/Output/x86/acinerella.dll
index 15887534..87dfc0f3 100644
Binary files a/Output/x86/acinerella.dll and b/Output/x86/acinerella.dll differ
diff --git a/Output/x86/avcodec-54.dll b/Output/x86/avcodec-54.dll
index 2d2baade..21d6a7b7 100644
Binary files a/Output/x86/avcodec-54.dll and b/Output/x86/avcodec-54.dll differ
diff --git a/Output/x86/avformat-54.dll b/Output/x86/avformat-54.dll
index eb10bcd9..0099c2cb 100644
Binary files a/Output/x86/avformat-54.dll and b/Output/x86/avformat-54.dll differ
diff --git a/Output/x86/avutil-51.dll b/Output/x86/avutil-51.dll
index b5559c48..0ab13c9f 100644
Binary files a/Output/x86/avutil-51.dll and b/Output/x86/avutil-51.dll differ
diff --git a/Output/x86/swscale-2.dll b/Output/x86/swscale-2.dll
index edee4afd..0cca8210 100644
Binary files a/Output/x86/swscale-2.dll and b/Output/x86/swscale-2.dll differ
diff --git a/Vocaluxe/Base/CConfig.cs b/Vocaluxe/Base/CConfig.cs
index 6beb8278..02ad6565 100644
--- a/Vocaluxe/Base/CConfig.cs
+++ b/Vocaluxe/Base/CConfig.cs
@@ -277,6 +277,12 @@ namespace Vocaluxe.Base
#region Graphics
CHelper.TryGetEnumValueFromXML("//root/Graphics/Renderer", navigator, ref Renderer);
CHelper.TryGetEnumValueFromXML("//root/Graphics/TextureQuality", navigator, ref TextureQuality);
+ CHelper.TryGetIntValueFromXML("//root/Graphics/CoverSize", navigator, ref CoverSize);
+ if (CoverSize > 1024)
+ CoverSize = 1024;
+ if (CoverSize < 32)
+ CoverSize = 32;
+
CHelper.TryGetIntValueFromXML("//root/Graphics/ScreenW", navigator, ref ScreenW);
CHelper.TryGetIntValueFromXML("//root/Graphics/ScreenH", navigator, ref ScreenH);
CHelper.TryGetEnumValueFromXML("//root/Graphics/AAMode", navigator, ref AAMode);
@@ -440,7 +446,10 @@ namespace Vocaluxe.Base
writer.WriteComment("TextureQuality: " + ListStrings(Enum.GetNames(typeof(ETextureQuality))));
writer.WriteElementString("TextureQuality", Enum.GetName(typeof(ETextureQuality), TextureQuality));
-
+
+ writer.WriteComment("CoverSize (pixels): 32, 64, 128, 256, 512, 1024 (default: 128)");
+ writer.WriteElementString("CoverSize", CoverSize.ToString());
+
writer.WriteComment("Screen width and height (pixels)");
writer.WriteElementString("ScreenW", ScreenW.ToString());
writer.WriteElementString("ScreenH", ScreenH.ToString());
diff --git a/Vocaluxe/Base/CDraw.cs b/Vocaluxe/Base/CDraw.cs
index 7c13e322..0f6d9e60 100644
--- a/Vocaluxe/Base/CDraw.cs
+++ b/Vocaluxe/Base/CDraw.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Text;
+using System.Windows.Forms;
using Vocaluxe.Base;
using Vocaluxe.Lib.Draw;
@@ -21,11 +22,38 @@ namespace Vocaluxe.Base
case ERenderer.TR_CONFIG_SOFTWARE:
_Draw = new CDrawWinForm();
break;
+
case ERenderer.TR_CONFIG_OPENGL:
- _Draw = new COpenGL();
+ try
+ {
+ _Draw = new COpenGL();
+ }
+ catch (Exception e)
+ {
+ MessageBox.Show(e.Message + " - Error in initializing of OpenGL. Please check whether" +
+ " your graphic card drivers are up to date.");
+ CLog.LogError(e.Message + " - Error in initializing of OpenGL. Please check whether" +
+ " your graphic card drivers are up to date.");
+ Environment.Exit(Environment.ExitCode);
+ }
break;
+
case ERenderer.TR_CONFIG_DIRECT3D:
- _Draw = new CDirect3D();
+ try
+ {
+ _Draw = new CDirect3D();
+ }
+ catch (Exception e)
+ {
+ MessageBox.Show(e.Message + " - Error in initializing of Direct3D. Please check if " +
+ "your DirectX redistributables and graphic card drivers are up to date. You can " +
+ "download the DirectX runtimes at http://www.microsoft.com/download/en/details.aspx?id=8109",
+ CSettings.sProgramName, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ CLog.LogError(e.Message + " - Error in initializing of Direct3D. Please check if " +
+ "your DirectX redistributables and graphic card drivers are up to date. You can " +
+ "download the DirectX runtimes at http://www.microsoft.com/download/en/details.aspx?id=8109");
+ Environment.Exit(Environment.ExitCode);
+ }
break;
default:
diff --git a/Vocaluxe/Base/CLog.cs b/Vocaluxe/Base/CLog.cs
index 34663b91..d75e2f36 100644
--- a/Vocaluxe/Base/CLog.cs
+++ b/Vocaluxe/Base/CLog.cs
@@ -56,7 +56,7 @@ namespace Vocaluxe.Base
private static int _NumErrors;
private static Stopwatch[] _BenchmarkTimer;
- private static long nanosecPerTick = (1000L * 1000L * 1000L) / Stopwatch.Frequency;
+ private static double nanosecPerTick = (1000.0 * 1000.0 * 1000.0) / Stopwatch.Frequency;
public static void Init()
{
@@ -129,8 +129,8 @@ namespace Vocaluxe.Base
}
float ms;
- if (Stopwatch.IsHighResolution)
- ms = (float)(((double)nanosecPerTick * (double)_BenchmarkTimer[BenchmarkNr].ElapsedTicks) / (1000.0 * 1000.0));
+ if (Stopwatch.IsHighResolution && nanosecPerTick != 0.0)
+ ms = (float)((nanosecPerTick * _BenchmarkTimer[BenchmarkNr].ElapsedTicks) / (1000.0 * 1000.0));
else
ms = (float)_BenchmarkTimer[BenchmarkNr].ElapsedMilliseconds;
diff --git a/Vocaluxe/Base/CProfiles.cs b/Vocaluxe/Base/CProfiles.cs
index bba41068..5d0d072b 100644
--- a/Vocaluxe/Base/CProfiles.cs
+++ b/Vocaluxe/Base/CProfiles.cs
@@ -246,7 +246,7 @@ namespace Vocaluxe.Base
{
if (ProfileNr < 0 || ProfileNr >= _Profiles.Count)
return false;
- return _Profiles[ProfileNr].GuestProfile == EOffOn.TR_CONFIG_ON;
+ return _Profiles[ProfileNr].Active == EOffOn.TR_CONFIG_ON;
}
public static void SetAvatar(int ProfileNr, int AvatarNr)
diff --git a/Vocaluxe/Lib/Draw/CDirect3D.cs b/Vocaluxe/Lib/Draw/CDirect3D.cs
index 2a6de382..9745fa92 100644
--- a/Vocaluxe/Lib/Draw/CDirect3D.cs
+++ b/Vocaluxe/Lib/Draw/CDirect3D.cs
@@ -71,12 +71,16 @@ namespace Vocaluxe.Lib.Draw
_VerticesRotationMatrices = new Queue();
_Keys = new CKeys();
- _D3D = new Direct3D();
-
- if (_D3D == null)
+ try
{
- MessageBox.Show("No DirectX runtimes were found, please download and install them from http://www.microsoft.com/download/en/details.aspx?id=8109");
- CLog.LogError("No DirectX runtimes were found, please download and install them from http://www.microsoft.com/download/en/details.aspx?id=8109");
+ _D3D = new Direct3D();
+ }
+ catch (Direct3D9NotFoundException e)
+ {
+ MessageBox.Show("No DirectX runtimes were found, please download and install them " +
+ "from http://www.microsoft.com/download/en/details.aspx?id=8109",
+ CSettings.sProgramName, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ CLog.LogError(e.Message + " - No DirectX runtimes were found, please download and install them from http://www.microsoft.com/download/en/details.aspx?id=8109");
Environment.Exit(Environment.ExitCode);
}
@@ -172,14 +176,29 @@ namespace Vocaluxe.Lib.Draw
flags = CreateFlags.HardwareVertexProcessing;
else
flags = CreateFlags.SoftwareVertexProcessing;
- _Device = new Device(_D3D, _D3D.Adapters.DefaultAdapter.Adapter, DeviceType.Hardware, Handle, flags, _PresentParameters);
-
- if (_Device.Disposed || _D3D.Disposed || _Device == null || _D3D == null)
+ try
{
- MessageBox.Show("Something went wrong with device creating, please check if your DirectX redistributables and grafic card drivers are up to date. You can download the DirectX runtimes at http://www.microsoft.com/download/en/details.aspx?id=8109");
- CLog.LogError("Something went wrong with device creating, please check if your DirectX redistributables and grafic card drivers are up to date. You can download the DirectX runtimes at http://www.microsoft.com/download/en/details.aspx?id=8109");
+ _Device = new Device(_D3D, _D3D.Adapters.DefaultAdapter.Adapter, DeviceType.Hardware, Handle, flags, _PresentParameters);
+ }
+ catch (Exception e)
+ {
+ MessageBox.Show("Something went wrong during device creating, please check if your DirectX redistributables " +
+ "and graphic card drivers are up to date. You can download the DirectX runtimes at http://www.microsoft.com/download/en/details.aspx?id=8109",
+ CSettings.sProgramName, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ CLog.LogError(e.Message + " - Something went wrong during device creating, please check if your DirectX redistributables and grafic card drivers are up to date. You can download the DirectX runtimes at http://www.microsoft.com/download/en/details.aspx?id=8109");
Environment.Exit(Environment.ExitCode);
}
+ finally
+ {
+ if (_Device == null || _Device.Disposed)
+ {
+ MessageBox.Show("Something went wrong during device creating, please check if your DirectX redistributables " +
+ "and graphic card drivers are up to date. You can download the DirectX runtimes at http://www.microsoft.com/download/en/details.aspx?id=8109",
+ CSettings.sProgramName, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ CLog.LogError("Something went wrong during device creating, please check if your DirectX redistributables and grafic card drivers are up to date. You can download the DirectX runtimes at http://www.microsoft.com/download/en/details.aspx?id=8109");
+ Environment.Exit(Environment.ExitCode);
+ }
+ }
this.CenterToScreen();
}
@@ -402,25 +421,45 @@ namespace Vocaluxe.Lib.Draw
Matrix translate = Matrix.Translation(new Vector3(-CSettings.iRenderW / 2, CSettings.iRenderH / 2, 0));
Matrix projection = Matrix.OrthoOffCenterLH(-CSettings.iRenderW / 2, CSettings.iRenderW / 2, -CSettings.iRenderH / 2, CSettings.iRenderH / 2, CSettings.zNear, CSettings.zFar);
_VertexBuffer = new VertexBuffer(_Device, CSettings.iVertexBufferElements * (4 * Marshal.SizeOf(typeof(TexturedColoredVertex))), Usage.WriteOnly | Usage.Dynamic, VertexFormat.Position | VertexFormat.Texture1 | VertexFormat.Diffuse, Pool.Default);
- _Device.SetStreamSource(0, _VertexBuffer, 0, Marshal.SizeOf(typeof(TexturedColoredVertex)));
+
+ if (_Device.SetStreamSource(0, _VertexBuffer, 0, Marshal.SizeOf(typeof(TexturedColoredVertex))).IsFailure)
+ CLog.LogError("Failed to set stream source");
_Device.VertexDeclaration = TexturedColoredVertex.GetDeclaration(_Device);
- _Device.SetTransform(TransformState.Projection, projection);
- _Device.SetTransform(TransformState.World, translate);
- _Device.SetRenderState(RenderState.CullMode, Cull.None);
- _Device.SetRenderState(RenderState.AlphaBlendEnable, true);
- _Device.SetRenderState(RenderState.Lighting, false);
- _Device.SetRenderState(RenderState.DestinationBlend, Blend.InverseSourceAlpha);
- _Device.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha);
+ if(_Device.SetTransform(TransformState.Projection, projection).IsFailure)
+ CLog.LogError("Failed to set orthogonal matrix");
+ if(_Device.SetTransform(TransformState.World, translate).IsFailure)
+ CLog.LogError("Failed to set translation matrix");
+ if(_Device.SetRenderState(RenderState.CullMode, Cull.None).IsFailure)
+ CLog.LogError("Failed to set cull mode");
+ if(_Device.SetRenderState(RenderState.AlphaBlendEnable, true).IsFailure)
+ CLog.LogError("Failed to enable alpha blending");
+ if(_Device.SetRenderState(RenderState.Lighting, false).IsFailure)
+ CLog.LogError("Failed to disable lighting");
+ if(_Device.SetRenderState(RenderState.DestinationBlend, Blend.InverseSourceAlpha).IsFailure)
+ CLog.LogError("Failed to set destination blend");
+ if(_Device.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha).IsFailure)
+ CLog.LogError("Failed to set source blend");
if (_PresentParameters.Multisample != MultisampleType.None)
- _Device.SetRenderState(RenderState.MultisampleAntialias, true);
- _Device.SetSamplerState(0, SamplerState.MinFilter, TextureFilter.Linear);
- _Device.SetSamplerState(0, SamplerState.MagFilter, TextureFilter.Linear);
- _Device.SetSamplerState(0, SamplerState.MipFilter, TextureFilter.Linear);
- _Device.SetSamplerState(0, SamplerState.AddressU, TextureAddress.Clamp);
- _Device.SetSamplerState(0, SamplerState.AddressV, TextureAddress.Clamp);
- _Device.SetTextureStageState(0, TextureStage.AlphaArg1, TextureArgument.Texture);
- _Device.SetTextureStageState(0, TextureStage.AlphaArg2, TextureArgument.Diffuse);
- _Device.SetTextureStageState(0, TextureStage.AlphaOperation, TextureOperation.Modulate);
+ {
+ if(_Device.SetRenderState(RenderState.MultisampleAntialias, true).IsFailure)
+ CLog.LogError("Failed to set antialiasing");
+ }
+ if(_Device.SetSamplerState(0, SamplerState.MinFilter, TextureFilter.Linear).IsFailure)
+ CLog.LogError("Failed to set min filter");
+ if(_Device.SetSamplerState(0, SamplerState.MagFilter, TextureFilter.Linear).IsFailure)
+ CLog.LogError("Failed to set mag filter");
+ if(_Device.SetSamplerState(0, SamplerState.MipFilter, TextureFilter.Linear).IsFailure)
+ CLog.LogError("Failed to set mip filter");
+ if(_Device.SetSamplerState(0, SamplerState.AddressU, TextureAddress.Clamp).IsFailure)
+ CLog.LogError("Failed to set clamping on u");
+ if(_Device.SetSamplerState(0, SamplerState.AddressV, TextureAddress.Clamp).IsFailure)
+ CLog.LogError("Failed to set claming on v");
+ if(_Device.SetTextureStageState(0, TextureStage.AlphaArg1, TextureArgument.Texture).IsFailure)
+ CLog.LogError("Failed to set alpha argument 1");
+ if(_Device.SetTextureStageState(0, TextureStage.AlphaArg2, TextureArgument.Diffuse).IsFailure)
+ CLog.LogError("Failed to set alpha argument 2");
+ if(_Device.SetTextureStageState(0, TextureStage.AlphaOperation, TextureOperation.Modulate).IsFailure)
+ CLog.LogError("Failed to set alpha operation");
Int16[] indices = new Int16[6];
indices[0] = 0;
@@ -430,7 +469,7 @@ namespace Vocaluxe.Lib.Draw
indices[4] = 2;
indices[5] = 3;
- _IndexBuffer = new IndexBuffer(_Device, 6 * sizeof(int), Usage.WriteOnly, Pool.Managed, true);
+ _IndexBuffer = new IndexBuffer(_Device, 6 * sizeof(Int16), Usage.WriteOnly, Pool.Managed, true);
DataStream stream = _IndexBuffer.Lock(0, 0, LockFlags.None);
stream.WriteRange(indices);
@@ -475,12 +514,14 @@ namespace Vocaluxe.Lib.Draw
//Clear the previous Frame
ClearScreen();
//We want to begin drawing
- _Device.BeginScene();
+ if (_Device.BeginScene().IsFailure)
+ CLog.LogError("Failed to begin scene");
CheckQueque();
_Run = _Run && CGraphics.Draw();
RenderVertexBuffer();
//We finished drawing the frame
- _Device.EndScene();
+ if (_Device.EndScene().IsFailure)
+ CLog.LogError("Failed to end scene");
_Run = CGraphics.UpdateGameLogic(_Keys, _Mouse);
try
{
@@ -530,7 +571,8 @@ namespace Vocaluxe.Lib.Draw
TexturedColoredVertex.GetDeclaration(_Device).Dispose();
_VertexBuffer.Dispose();
_IndexBuffer.Dispose();
- _Device.Reset(_PresentParameters);
+ if (_Device.Reset(_PresentParameters).IsFailure)
+ CLog.LogError("Failed to reset the device");
}
///
@@ -630,11 +672,14 @@ namespace Vocaluxe.Lib.Draw
for (int i = 0; i < _Vertices.Count; i += 4)
{
//Apply rotation
- _Device.SetTransform(TransformState.World, _VerticesRotationMatrices.Dequeue());
+ if (_Device.SetTransform(TransformState.World, _VerticesRotationMatrices.Dequeue()).IsFailure)
+ CLog.LogError("Failed to set world transformation");
//Apply texture
- _Device.SetTexture(0, _VerticesTextures.Dequeue());
+ if (_Device.SetTexture(0, _VerticesTextures.Dequeue()).IsFailure)
+ CLog.LogError("Failed to set texture");
//Draw 2 triangles from vertexbuffer
- _Device.DrawIndexedPrimitives(PrimitiveType.TriangleList, i, 0, 4, 0, 2);
+ if (_Device.DrawIndexedPrimitives(PrimitiveType.TriangleList, i, 0, 4, 0, 2).IsFailure)
+ CLog.LogError("Failed to draw quad");
}
//Clear the queues for the next frame
_Vertices.Clear();
@@ -651,7 +696,8 @@ namespace Vocaluxe.Lib.Draw
///
public void ClearScreen()
{
- _Device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0);
+ if (_Device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0).IsFailure)
+ CLog.LogError("Failed to clear the backbuffer");
}
///
diff --git a/Vocaluxe/Lib/Video/CVideoDecoderFFmpeg.cs b/Vocaluxe/Lib/Video/CVideoDecoderFFmpeg.cs
index 767a9fb9..4756ae06 100644
--- a/Vocaluxe/Lib/Video/CVideoDecoderFFmpeg.cs
+++ b/Vocaluxe/Lib/Video/CVideoDecoderFFmpeg.cs
@@ -394,14 +394,12 @@ namespace Vocaluxe.Lib.Video
#region Threading
private void DoSkip()
- {
- string extension = Path.GetExtension(_FileName); //just a workaround for the mkv-search-bug in ffmpeg
-
+ {
_VideoSkipTime = _Gap;
_SkipTime = _Start + _Gap;
_BeforeLoop = false;
- if (_SkipTime > 0 && extension != ".mkv")
+ if (_SkipTime > 0)
{
_VideoDecoderTime = _SkipTime;
try
@@ -419,8 +417,7 @@ namespace Vocaluxe.Lib.Video
_VideoDecoderTime = 0f;
try
{
- if (extension != ".mkv")
- CAcinerella.ac_seek(_videodecoder, -1, (Int64)0);
+ CAcinerella.ac_seek(_videodecoder, -1, (Int64)0);
}
catch (Exception e)
{
diff --git a/Vocaluxe/Menu/CSelectSlide.cs b/Vocaluxe/Menu/CSelectSlide.cs
index 86e7a7c1..96235a9d 100644
--- a/Vocaluxe/Menu/CSelectSlide.cs
+++ b/Vocaluxe/Menu/CSelectSlide.cs
@@ -525,6 +525,19 @@ namespace Vocaluxe.Menu
_Textures[selection] = NewTexture;
}
+ public bool SetSelectionByValueIndex(int ValueIndex)
+ {
+ for (int i = 0; i < _ValueIndexes.Count; i++)
+ {
+ if (_ValueIndexes[i] == ValueIndex)
+ {
+ Selection = i;
+ return true;
+ }
+ }
+ return false;
+ }
+
public bool NextValue()
{
if (Selection < _ValueNames.Count - 1)
diff --git a/Vocaluxe/Screens/CScreenHighscore.cs b/Vocaluxe/Screens/CScreenHighscore.cs
index b66a5f79..7d816f66 100644
--- a/Vocaluxe/Screens/CScreenHighscore.cs
+++ b/Vocaluxe/Screens/CScreenHighscore.cs
@@ -223,15 +223,7 @@ namespace Vocaluxe.Screens
for (int p = 0; p < player.Length; p++)
{
- bool guest = true;
-
- if (player[p].ProfileID >= 0 && player[p].ProfileID < CProfiles.NumProfiles)
- {
- if (CProfiles.Profiles[player[p].ProfileID].GuestProfile == EOffOn.TR_CONFIG_OFF)
- guest = false;
- }
-
- if (player[p].Points > CSettings.MinScoreForDB && player[p].SongFinished && !guest)
+ if (player[p].Points > CSettings.MinScoreForDB && player[p].SongFinished && !CProfiles.IsGuestProfile(p))
_NewEntryIDs.Add(CDataBase.AddScore(player[p]));
}
}
diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs
index c336e187..92b9820f 100644
--- a/Vocaluxe/Screens/CScreenSong.cs
+++ b/Vocaluxe/Screens/CScreenSong.cs
@@ -177,12 +177,12 @@ namespace Vocaluxe.Screens
Texts[htTexts(TextCategory)].Text = CSongs.GetActualCategoryName();
int song = SongMenus[htSongMenus(SongMenu)].GetActualSelection();
- if ((CSongs.Category >= 0) && (song >= 0) && song < CSongs.VisibleSongs.Length)
+ if ((CSongs.Category >= 0 || CConfig.Tabs == EOffOn.TR_CONFIG_OFF) && 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)
+ else if (CSongs.Category == -1 && song >= 0 && song < CSongs.Categories.Length)
{
Texts[htTexts(TextSelection)].Text = CSongs.Categories[song].Name;
CBackgroundMusic.Play();