diff --git a/ANX.Framework.TestCenter/ANX.Framework.TestCenter.csproj b/ANX.Framework.TestCenter/ANX.Framework.TestCenter.csproj
index 3c49f6d7..bcc8f846 100644
--- a/ANX.Framework.TestCenter/ANX.Framework.TestCenter.csproj
+++ b/ANX.Framework.TestCenter/ANX.Framework.TestCenter.csproj
@@ -62,6 +62,7 @@
+
diff --git a/ANX.Framework.TestCenter/AssertHelper.cs b/ANX.Framework.TestCenter/AssertHelper.cs
index 90bff6bf..e1de9997 100644
--- a/ANX.Framework.TestCenter/AssertHelper.cs
+++ b/ANX.Framework.TestCenter/AssertHelper.cs
@@ -45,6 +45,9 @@ using ANXPlane = ANX.Framework.Plane;
using XNARect = Microsoft.Xna.Framework.Rectangle;
using ANXRect = ANX.Framework.Rectangle;
+using XNAAlpha8 = Microsoft.Xna.Framework.Graphics.PackedVector.Alpha8;
+using ANXAlpha8 = ANX.Framework.Graphics.PackedVector.Alpha8;
+
using XNABgr565 = Microsoft.Xna.Framework.Graphics.PackedVector.Bgr565;
using ANXBgr565 = ANX.Framework.Graphics.PackedVector.Bgr565;
@@ -426,6 +429,18 @@ namespace ANX.Framework.TestCenter
}
}
+ public static void ConvertEquals(XNAAlpha8 lhs, ANXAlpha8 rhs, String test)
+ {
+ if (lhs.PackedValue == rhs.PackedValue)
+ {
+ Assert.Pass(test + " passed");
+ }
+ else
+ {
+ Assert.Fail(String.Format("{0} failed: Rg32 XNA: ({1}) Rg32 ANX: ({2})", test, lhs, rhs));
+ }
+ }
+
public static void ConvertEquals(XNARg32 lhs, ANXRg32 rhs, String test)
{
if (lhs.PackedValue == rhs.PackedValue)
diff --git a/ANX.Framework.TestCenter/Strukturen/Graphics/PackedVector/Alpha8Test.cs b/ANX.Framework.TestCenter/Strukturen/Graphics/PackedVector/Alpha8Test.cs
new file mode 100644
index 00000000..5fc77311
--- /dev/null
+++ b/ANX.Framework.TestCenter/Strukturen/Graphics/PackedVector/Alpha8Test.cs
@@ -0,0 +1,46 @@
+using NUnit.Framework;
+using XNAAlpha8 = Microsoft.Xna.Framework.Graphics.PackedVector.Alpha8;
+using ANXAlpha8 = ANX.Framework.Graphics.PackedVector.Alpha8;
+
+// This file is part of the ANX.Framework created by the
+// "ANX.Framework developer group" and released under the Ms-PL license.
+// For details see: http://anxframework.codeplex.com/license
+
+namespace ANX.Framework.TestCenter.Strukturen.Graphics.PackedVector
+{
+ [TestFixture]
+ class Alpha8Test
+ {
+ #region Testdata
+
+ static object[] floats =
+ {
+ new object[] {DataFactory.RandomValue },
+ new object[] {DataFactory.RandomValue },
+ new object[] {DataFactory.RandomValue },
+ new object[] {DataFactory.RandomValue },
+ new object[] {DataFactory.RandomValue }
+ };
+
+ #endregion
+
+ [Test, TestCaseSource("floats")]
+ public void contructor(float alpha)
+ {
+ XNAAlpha8 xnaVal = new XNAAlpha8(alpha);
+ ANXAlpha8 anxVal = new ANXAlpha8(alpha);
+
+ AssertHelper.ConvertEquals(xnaVal, anxVal, "Constructor");
+ }
+
+ [Test, TestCaseSource("floats")]
+ public void ToAlpha(float alpha)
+ {
+ XNAAlpha8 xnaVal = new XNAAlpha8(alpha);
+ ANXAlpha8 anxVal = new ANXAlpha8(alpha);
+
+ AssertHelper.ConvertEquals(xnaVal.ToAlpha(), anxVal.ToAlpha(), "ToAlpha");
+ }
+
+ }
+}
diff --git a/ANX.Framework/ContainmentType.cs b/ANX.Framework/ContainmentType.cs
index c9cae8df..f003882e 100644
--- a/ANX.Framework/ContainmentType.cs
+++ b/ANX.Framework/ContainmentType.cs
@@ -1,7 +1,4 @@
-#region Using Statements
-
-
-#endregion // Using Statements
+using ANX.Framework.NonXNA.Development;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
@@ -9,6 +6,8 @@
namespace ANX.Framework
{
+ [PercentageComplete(100)]
+ [TestState(TestStateAttribute.TestState.Tested)]
public enum ContainmentType
{
Disjoint = 0,
diff --git a/ANX.Framework/CurveContinuity.cs b/ANX.Framework/CurveContinuity.cs
index 76fee918..ace9346e 100644
--- a/ANX.Framework/CurveContinuity.cs
+++ b/ANX.Framework/CurveContinuity.cs
@@ -1,9 +1,13 @@
+using ANX.Framework.NonXNA.Development;
+
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework
{
+ [PercentageComplete(100)]
+ [TestState(TestStateAttribute.TestState.Tested)]
public enum CurveContinuity
{
Smooth = 0,
diff --git a/ANX.Framework/CurveLoopType.cs b/ANX.Framework/CurveLoopType.cs
index 774e5cc5..9b229f69 100644
--- a/ANX.Framework/CurveLoopType.cs
+++ b/ANX.Framework/CurveLoopType.cs
@@ -1,7 +1,4 @@
-#region Using Statements
-
-
-#endregion // Using Statements
+using ANX.Framework.NonXNA.Development;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
@@ -9,6 +6,8 @@
namespace ANX.Framework
{
+ [PercentageComplete(100)]
+ [TestState(TestStateAttribute.TestState.Tested)]
public enum CurveLoopType
{
Constant = 0,
diff --git a/ANX.Framework/CurveTangent.cs b/ANX.Framework/CurveTangent.cs
index 9e1128f0..e026d321 100644
--- a/ANX.Framework/CurveTangent.cs
+++ b/ANX.Framework/CurveTangent.cs
@@ -1,7 +1,4 @@
-#region Using Statements
-
-
-#endregion // Using Statements
+using ANX.Framework.NonXNA.Development;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
@@ -9,6 +6,8 @@
namespace ANX.Framework
{
+ [PercentageComplete(100)]
+ [TestState(TestStateAttribute.TestState.Tested)]
public enum CurveTangent
{
Flat,
diff --git a/ANX.Framework/DisplayOrientation.cs b/ANX.Framework/DisplayOrientation.cs
index 7a945d56..c46cc79b 100644
--- a/ANX.Framework/DisplayOrientation.cs
+++ b/ANX.Framework/DisplayOrientation.cs
@@ -1,5 +1,6 @@
#region Using Statements
using System;
+using ANX.Framework.NonXNA.Development;
#endregion // Using Statements
@@ -10,6 +11,8 @@ using System;
namespace ANX.Framework
{
[Flags]
+ [PercentageComplete(100)]
+ [TestState(TestStateAttribute.TestState.Tested)]
public enum DisplayOrientation
{
Default = 0,
diff --git a/ANX.Framework/Graphics/PackedVector/Alpha8.cs b/ANX.Framework/Graphics/PackedVector/Alpha8.cs
index 393f74b4..f9e50e54 100644
--- a/ANX.Framework/Graphics/PackedVector/Alpha8.cs
+++ b/ANX.Framework/Graphics/PackedVector/Alpha8.cs
@@ -12,8 +12,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct Alpha8 : IPackedVector, IEquatable, IPackedVector
{
private byte packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/Bgr565.cs b/ANX.Framework/Graphics/PackedVector/Bgr565.cs
index 398863ab..7a506cdf 100644
--- a/ANX.Framework/Graphics/PackedVector/Bgr565.cs
+++ b/ANX.Framework/Graphics/PackedVector/Bgr565.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct Bgr565 : IPackedVector, IEquatable, IPackedVector
{
private UInt16 packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/Bgra4444.cs b/ANX.Framework/Graphics/PackedVector/Bgra4444.cs
index 5461a435..31854878 100644
--- a/ANX.Framework/Graphics/PackedVector/Bgra4444.cs
+++ b/ANX.Framework/Graphics/PackedVector/Bgra4444.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct Bgra4444 : IPackedVector, IEquatable, IPackedVector
{
private UInt16 packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/Bgra5551.cs b/ANX.Framework/Graphics/PackedVector/Bgra5551.cs
index 3b446e87..5b0205e8 100644
--- a/ANX.Framework/Graphics/PackedVector/Bgra5551.cs
+++ b/ANX.Framework/Graphics/PackedVector/Bgra5551.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct Bgra5551 : IPackedVector, IEquatable, IPackedVector
{
private UInt16 packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/Byte4.cs b/ANX.Framework/Graphics/PackedVector/Byte4.cs
index 99c771e4..ad4e32d2 100644
--- a/ANX.Framework/Graphics/PackedVector/Byte4.cs
+++ b/ANX.Framework/Graphics/PackedVector/Byte4.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct Byte4 : IPackedVector, IEquatable, IPackedVector
{
private uint packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/HalfSingle.cs b/ANX.Framework/Graphics/PackedVector/HalfSingle.cs
index db5037af..5a38d977 100644
--- a/ANX.Framework/Graphics/PackedVector/HalfSingle.cs
+++ b/ANX.Framework/Graphics/PackedVector/HalfSingle.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct HalfSingle : IPackedVector, IEquatable, IPackedVector
{
UInt16 packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/HalfTypeHelper.cs b/ANX.Framework/Graphics/PackedVector/HalfTypeHelper.cs
index b413da6b..3ff1c762 100644
--- a/ANX.Framework/Graphics/PackedVector/HalfTypeHelper.cs
+++ b/ANX.Framework/Graphics/PackedVector/HalfTypeHelper.cs
@@ -1,6 +1,7 @@
#region Using Statements
using System;
using System.Runtime.InteropServices;
+using ANX.Framework.NonXNA.Development;
#endregion // Using Statements
@@ -10,6 +11,9 @@ using System.Runtime.InteropServices;
namespace ANX.Framework.Graphics.PackedVector
{
+ [PercentageComplete(100)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
internal class HalfTypeHelper
{
[StructLayout(LayoutKind.Explicit)]
diff --git a/ANX.Framework/Graphics/PackedVector/HalfVector2.cs b/ANX.Framework/Graphics/PackedVector/HalfVector2.cs
index 4aaba020..710c5c9b 100644
--- a/ANX.Framework/Graphics/PackedVector/HalfVector2.cs
+++ b/ANX.Framework/Graphics/PackedVector/HalfVector2.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct HalfVector2 : IPackedVector, IEquatable, IPackedVector
{
private uint packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/HalfVector4.cs b/ANX.Framework/Graphics/PackedVector/HalfVector4.cs
index d554f806..499a596b 100644
--- a/ANX.Framework/Graphics/PackedVector/HalfVector4.cs
+++ b/ANX.Framework/Graphics/PackedVector/HalfVector4.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct HalfVector4 : IPackedVector, IEquatable, IPackedVector
{
private ulong packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/IPackedVector.cs b/ANX.Framework/Graphics/PackedVector/IPackedVector.cs
index 706c503a..96f7473e 100644
--- a/ANX.Framework/Graphics/PackedVector/IPackedVector.cs
+++ b/ANX.Framework/Graphics/PackedVector/IPackedVector.cs
@@ -5,9 +5,9 @@
using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
- [PercentageComplete(100)]
- [TestState(TestStateAttribute.TestState.Tested)]
+ [PercentageComplete(100)]
[Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public interface IPackedVector
{
void PackFromVector4(Vector4 vector);
@@ -15,9 +15,9 @@ namespace ANX.Framework.Graphics.PackedVector
Vector4 ToVector4();
}
- [PercentageComplete(100)]
- [TestState(TestStateAttribute.TestState.Tested)]
+ [PercentageComplete(100)]
[Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public interface IPackedVector : IPackedVector
{
TPacked PackedValue
diff --git a/ANX.Framework/Graphics/PackedVector/NormalizedByte2.cs b/ANX.Framework/Graphics/PackedVector/NormalizedByte2.cs
index 90ea28bd..d5f90ed4 100644
--- a/ANX.Framework/Graphics/PackedVector/NormalizedByte2.cs
+++ b/ANX.Framework/Graphics/PackedVector/NormalizedByte2.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct NormalizedByte2 : IPackedVector, IEquatable, IPackedVector
{
private ushort packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/NormalizedByte4.cs b/ANX.Framework/Graphics/PackedVector/NormalizedByte4.cs
index e0553866..3c2885a0 100644
--- a/ANX.Framework/Graphics/PackedVector/NormalizedByte4.cs
+++ b/ANX.Framework/Graphics/PackedVector/NormalizedByte4.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct NormalizedByte4 : IPackedVector, IEquatable, IPackedVector
{
private uint packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/NormalizedShort2.cs b/ANX.Framework/Graphics/PackedVector/NormalizedShort2.cs
index f8a5dbea..1b8451a8 100644
--- a/ANX.Framework/Graphics/PackedVector/NormalizedShort2.cs
+++ b/ANX.Framework/Graphics/PackedVector/NormalizedShort2.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct NormalizedShort2 : IPackedVector, IEquatable, IPackedVector
{
private uint packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/NormalizedShort4.cs b/ANX.Framework/Graphics/PackedVector/NormalizedShort4.cs
index 38296e46..0f7707b2 100644
--- a/ANX.Framework/Graphics/PackedVector/NormalizedShort4.cs
+++ b/ANX.Framework/Graphics/PackedVector/NormalizedShort4.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct NormalizedShort4 : IPackedVector, IEquatable, IPackedVector
{
private ulong packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/Rg32.cs b/ANX.Framework/Graphics/PackedVector/Rg32.cs
index 21c742a6..f1b3b0f0 100644
--- a/ANX.Framework/Graphics/PackedVector/Rg32.cs
+++ b/ANX.Framework/Graphics/PackedVector/Rg32.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct Rg32 : IPackedVector, IEquatable, IPackedVector
{
private uint packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/Rgba1010102.cs b/ANX.Framework/Graphics/PackedVector/Rgba1010102.cs
index b5ff1ba0..c5fe8540 100644
--- a/ANX.Framework/Graphics/PackedVector/Rgba1010102.cs
+++ b/ANX.Framework/Graphics/PackedVector/Rgba1010102.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct Rgba1010102 : IPackedVector, IEquatable, IPackedVector
{
private uint packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/Rgba64.cs b/ANX.Framework/Graphics/PackedVector/Rgba64.cs
index 1b0b61d7..5aa3df64 100644
--- a/ANX.Framework/Graphics/PackedVector/Rgba64.cs
+++ b/ANX.Framework/Graphics/PackedVector/Rgba64.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct Rgba64 : IPackedVector, IEquatable, IPackedVector
{
private ulong packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/Short2.cs b/ANX.Framework/Graphics/PackedVector/Short2.cs
index 9d269525..78d0add7 100644
--- a/ANX.Framework/Graphics/PackedVector/Short2.cs
+++ b/ANX.Framework/Graphics/PackedVector/Short2.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct Short2 : IPackedVector, IEquatable, IPackedVector
{
private uint packedValue;
diff --git a/ANX.Framework/Graphics/PackedVector/Short4.cs b/ANX.Framework/Graphics/PackedVector/Short4.cs
index 6c88dd04..e8770f58 100644
--- a/ANX.Framework/Graphics/PackedVector/Short4.cs
+++ b/ANX.Framework/Graphics/PackedVector/Short4.cs
@@ -11,8 +11,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Graphics.PackedVector
{
[PercentageComplete(100)]
- [Developer("???")]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("Glatzemann")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public struct Short4 : IPackedVector, IEquatable, IPackedVector
{
private ulong packedValue;
diff --git a/ANX.Framework/Media/MediaPlayer.cs b/ANX.Framework/Media/MediaPlayer.cs
index e3afdd24..faf4a937 100644
--- a/ANX.Framework/Media/MediaPlayer.cs
+++ b/ANX.Framework/Media/MediaPlayer.cs
@@ -17,6 +17,7 @@ namespace ANX.Framework.Media
public static event EventHandler MediaStateChanged;
#endregion
+ private static bool isShuffled;
private static bool isRepeating;
private static float volume;
private static MediaState currentState;
@@ -26,7 +27,15 @@ namespace ANX.Framework.Media
}
#region Public
- public static bool IsShuffled { get; set; }
+ public static bool IsShuffled
+ {
+ get { return isShuffled; }
+ set
+ {
+ isShuffled = value;
+ Queue.UpdateOrder();
+ }
+ }
public static bool IsRepeating
{
@@ -79,7 +88,7 @@ namespace ANX.Framework.Media
isRepeating = false;
IsMuted = false;
IsVisualizationEnabled = false;
- IsShuffled = false;
+ isShuffled = false;
Queue = new MediaQueue();
FrameworkDispatcher.OnUpdate += Tick;
}
diff --git a/ANX.Framework/Media/MediaQueue.cs b/ANX.Framework/Media/MediaQueue.cs
index b919bbc0..28e23d50 100644
--- a/ANX.Framework/Media/MediaQueue.cs
+++ b/ANX.Framework/Media/MediaQueue.cs
@@ -13,7 +13,9 @@ namespace ANX.Framework.Media
[Developer("AstrorEnales")]
public sealed class MediaQueue
{
- private readonly List queue;
+ private readonly List queue;
+ private readonly List shuffledQueue;
+ private int activeSongIndex;
#region Public
public int Count
@@ -21,16 +23,28 @@ namespace ANX.Framework.Media
get { return queue.Count; }
}
- public int ActiveSongIndex { get; set; }
+ public int ActiveSongIndex
+ {
+ get { return activeSongIndex; }
+ set
+ {
+ if (Count <= 0)
+ return;
- public Song ActiveSong
+ ActiveSong.Stop();
+ activeSongIndex = Math.Min(value, queue.Count);
+ ActiveSong.Play();
+ }
+ }
+
+ public Song ActiveSong
{
- get { return queue.Count <= 0 ? null : queue[ActiveSongIndex]; }
+ get { return shuffledQueue.Count <= 0 ? null : shuffledQueue[ActiveSongIndex]; }
}
public Song this[int index]
{
- get { return queue[index]; }
+ get { return shuffledQueue[index]; }
}
#endregion
@@ -38,11 +52,13 @@ namespace ANX.Framework.Media
internal MediaQueue()
{
queue = new List();
+ shuffledQueue = new List();
}
~MediaQueue()
{
queue.Clear();
+ shuffledQueue.Clear();
}
#endregion
@@ -54,6 +70,7 @@ namespace ANX.Framework.Media
Clear();
queue.Add(song);
+ shuffledQueue.Add(song);
ActiveSong.Play();
}
@@ -64,9 +81,7 @@ namespace ANX.Framework.Media
Clear();
queue.AddRange(songCollection);
- // TODO: check if the shuffle is calculated after each finished song or like this!
- if (MediaPlayer.IsShuffled)
- Shuffle();
+ UpdateOrder();
ActiveSong.Play();
}
@@ -78,18 +93,34 @@ namespace ANX.Framework.Media
Clear();
ActiveSongIndex = index;
queue.AddRange(songCollection);
- // TODO: check if the shuffle is calculated after each finished song or like this!
- if (MediaPlayer.IsShuffled)
- Shuffle();
+ UpdateOrder();
ActiveSong.Play();
}
#endregion
+ internal void UpdateOrder()
+ {
+ if (Count <= 0)
+ return;
+
+ Song currentPlayingSong = ActiveSong;
+ if (MediaPlayer.IsShuffled)
+ Shuffle();
+ else
+ {
+ shuffledQueue.Clear();
+ shuffledQueue.AddRange(queue.ToArray());
+ }
+
+ activeSongIndex = shuffledQueue.IndexOf(currentPlayingSong);
+ }
+
private void Clear()
{
Stop();
ActiveSongIndex = 0;
queue.Clear();
+ shuffledQueue.Clear();
}
internal void Stop()
@@ -106,9 +137,9 @@ namespace ANX.Framework.Media
{
int k = rand.Next(n);
n--;
- Song value = queue[k];
- queue[k] = queue[n];
- queue[n] = value;
+ Song value = shuffledQueue[k];
+ shuffledQueue[k] = shuffledQueue[n];
+ shuffledQueue[n] = value;
}
}
diff --git a/ANX.Framework/Media/MediaSource.cs b/ANX.Framework/Media/MediaSource.cs
index 6d383f7c..94431a67 100644
--- a/ANX.Framework/Media/MediaSource.cs
+++ b/ANX.Framework/Media/MediaSource.cs
@@ -1,7 +1,6 @@
-using System;
using System.Collections.Generic;
-using ANX.Framework.NonXNA;
using ANX.Framework.NonXNA.PlatformSystem;
+using ANX.Framework.NonXNA.Development;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
@@ -9,42 +8,28 @@ using ANX.Framework.NonXNA.PlatformSystem;
namespace ANX.Framework.Media
{
- public sealed class MediaSource
+ [PercentageComplete(100)]
+ [Developer("AstrorEnales")]
+ [TestState(TestStateAttribute.TestState.Untested)]
+ public sealed class MediaSource
{
- #region Public
- public string Name
- {
- get;
- private set;
- }
+ public string Name { get; private set; }
+ public MediaSourceType MediaSourceType { get; private set; }
- public MediaSourceType MediaSourceType
- {
- get;
- private set;
- }
- #endregion
-
- #region Constructor
internal MediaSource(string setName, MediaSourceType setType)
{
Name = setName;
MediaSourceType = setType;
}
- #endregion
- #region Constructor
public static IList GetAvailableMediaSources()
{
return PlatformSystem.Instance.GetAvailableMediaSources();
}
- #endregion
- #region ToString
public override string ToString()
{
return Name;
}
- #endregion
}
}
diff --git a/ANX.Framework/PlaneIntersectionType.cs b/ANX.Framework/PlaneIntersectionType.cs
index c7a5420a..53c16421 100644
--- a/ANX.Framework/PlaneIntersectionType.cs
+++ b/ANX.Framework/PlaneIntersectionType.cs
@@ -1,9 +1,13 @@
+using ANX.Framework.NonXNA.Development;
+
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework
{
+ [PercentageComplete(100)]
+ [TestState(TestStateAttribute.TestState.Tested)]
public enum PlaneIntersectionType
{
Front = 0,
diff --git a/ANX.Framework/PlayerIndex.cs b/ANX.Framework/PlayerIndex.cs
index 11a68de7..8df51f92 100644
--- a/ANX.Framework/PlayerIndex.cs
+++ b/ANX.Framework/PlayerIndex.cs
@@ -1,9 +1,13 @@
+using ANX.Framework.NonXNA.Development;
+
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework
{
+ [PercentageComplete(100)]
+ [TestState(TestStateAttribute.TestState.Tested)]
public enum PlayerIndex
{
One = 0,
diff --git a/ANX.Framework/TitleContainer.cs b/ANX.Framework/TitleContainer.cs
index 4bb6c08f..bedd5953 100644
--- a/ANX.Framework/TitleContainer.cs
+++ b/ANX.Framework/TitleContainer.cs
@@ -9,45 +9,26 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework
{
- [PercentageComplete(100)]
- [TestState(TestStateAttribute.TestState.Untested)]
- [Developer("AstrorEnales")]
- public static class TitleContainer
- {
- private static INativeTitleContainer nativeImplementation;
+ [PercentageComplete(100)]
+ [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("AstrorEnales")]
+ public static class TitleContainer
+ {
+ private static readonly INativeTitleContainer nativeImplementation;
- static TitleContainer()
- {
- try
- {
- nativeImplementation = PlatformSystem.Instance.CreateTitleContainer();
- }
- catch (PlatformSystemInstanceException ex)
- {
- //TODO: error handling
- }
- }
-
- public static Stream OpenStream(string name)
- {
- if (nativeImplementation == null)
- {
- //TODO: error handling
- return null;
- }
+ static TitleContainer()
+ {
+ nativeImplementation = PlatformSystem.Instance.CreateTitleContainer();
+ }
- return nativeImplementation.OpenStream(name);
- }
+ public static Stream OpenStream(string name)
+ {
+ return nativeImplementation.OpenStream(name);
+ }
- internal static string GetCleanPath(string path)
- {
- if (nativeImplementation == null)
- {
- //TODO: error handling
- return null;
- }
-
- return nativeImplementation.GetCleanPath(path);
- }
- }
+ internal static string GetCleanPath(string path)
+ {
+ return nativeImplementation.GetCleanPath(path);
+ }
+ }
}
diff --git a/PlatformSystems/ANX.PlatformSystem.Windows/WindowsPlatformSystem.cs b/PlatformSystems/ANX.PlatformSystem.Windows/WindowsPlatformSystem.cs
index 3a12a618..8edd5a62 100644
--- a/PlatformSystems/ANX.PlatformSystem.Windows/WindowsPlatformSystem.cs
+++ b/PlatformSystems/ANX.PlatformSystem.Windows/WindowsPlatformSystem.cs
@@ -70,12 +70,15 @@ namespace ANX.PlatformSystem.Windows
}
#endregion
- #region GetAvailableMediaSources (TODO)
- public IList GetAvailableMediaSources()
- {
- throw new NotImplementedException();
- }
- #endregion
+ #region GetAvailableMediaSources
+ public IList GetAvailableMediaSources()
+ {
+ return new[]
+ {
+ new MediaSource("Local Windows Media Player Library", MediaSourceType.LocalDevice)
+ };
+ }
+ #endregion
#region OpenReadFilestream
public Stream OpenReadFilestream(string filepath)