diff --git a/ANX.Framework.sln b/ANX.Framework.sln index 9ea24618..e1c14acd 100644 --- a/ANX.Framework.sln +++ b/ANX.Framework.sln @@ -109,6 +109,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Primitives", "Samples\Primi EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.InputSystems.Windows.Recording", "InputSystems\ANX.InputSystems.Windows.Recording\ANX.InputSystems.Windows.Recording.csproj", "{DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.InputSystem.OpenTK", "InputSystems\ANX.InputSystem.OpenTK\ANX.InputSystem.OpenTK.csproj", "{5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.SoundSystem.OpenAL", "SoundSystems\ANX.SoundSystem.OpenAL\ANX.SoundSystem.OpenAL.csproj", "{14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}" +EndProject Global GlobalSection(SubversionScc) = preSolution Svn-Managed = True @@ -361,6 +365,26 @@ Global {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Release|Mixed Platforms.Build.0 = Release|Any CPU {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Release|x86.ActiveCfg = Release|Any CPU + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}.Debug|x86.ActiveCfg = Debug|Any CPU + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}.Release|Any CPU.Build.0 = Release|Any CPU + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}.Release|x86.ActiveCfg = Release|Any CPU + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}.Debug|x86.ActiveCfg = Debug|Any CPU + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}.Release|Any CPU.Build.0 = Release|Any CPU + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -386,7 +410,9 @@ Global {E5D69E75-D77C-493F-BBDA-6F9E73B82549} = {7AD65E6B-2A48-437F-81D9-4CA9C9A85C64} {60D08399-244F-46A3-91F1-4CFD26D961A3} = {7AD65E6B-2A48-437F-81D9-4CA9C9A85C64} {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A} = {7AD65E6B-2A48-437F-81D9-4CA9C9A85C64} + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75} = {7AD65E6B-2A48-437F-81D9-4CA9C9A85C64} {6A582788-C4D2-410C-96CD-177F75712D65} = {5725DA44-4F5C-4E93-A957-AC5C85603EE9} + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A} = {5725DA44-4F5C-4E93-A957-AC5C85603EE9} {CCB4679D-11AF-4EC6-AAA4-36619FCE70FA} = {60824BDB-AC8A-42ED-9B79-111FB44669FF} {E4FFD875-95FC-48F2-8B6D-8483D0B71666} = {60824BDB-AC8A-42ED-9B79-111FB44669FF} {BD648BB8-EF28-453C-B4F5-EE3C93EB4DAF} = {60824BDB-AC8A-42ED-9B79-111FB44669FF} diff --git a/InputSystems/ANX.InputSystem.OpenTK/ANX.InputSystem.OpenTK.csproj b/InputSystems/ANX.InputSystem.OpenTK/ANX.InputSystem.OpenTK.csproj new file mode 100644 index 00000000..c9c1d73e --- /dev/null +++ b/InputSystems/ANX.InputSystem.OpenTK/ANX.InputSystem.OpenTK.csproj @@ -0,0 +1,86 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75} + Library + Properties + ANX.InputSystem.OpenTK + ANX.InputSystem.OpenTK + v4.0 + 512 + + + true + full + false + ..\..\bin\Debug\ + TRACE;DEBUG;XNAEXT + prompt + 4 + + + pdbonly + true + ..\..\bin\Release\ + TRACE;XNAEXT + prompt + 4 + + + + False + ..\..\lib\NLog\NLog.dll + + + False + ..\..\lib\OpenTK\OpenTK.dll + + + False + ..\..\lib\OpenTK\OpenTK.Compatibility.dll + + + + + + + + + + + + + + + Metadata.resx + True + True + + + + + + + PublicResXFileCodeGenerator + Metadata.Designer.cs + + + + + {6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35} + ANX.Framework + + + + + \ No newline at end of file diff --git a/InputSystems/ANX.InputSystem.OpenTK/Creator.cs b/InputSystems/ANX.InputSystem.OpenTK/Creator.cs new file mode 100644 index 00000000..99fc34c7 --- /dev/null +++ b/InputSystems/ANX.InputSystem.OpenTK/Creator.cs @@ -0,0 +1,130 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +using System.Runtime.InteropServices; +using ANX.Framework.NonXNA; +using NLog; + +#endregion // Using Statements + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.OpenTK +{ + public class Creator : IInputSystemCreator + { + private static Logger logger = LogManager.GetCurrentClassLogger(); + + public string Name + { + get + { + return "OpenTK"; + } + } + + public int Priority + { + get { return 100; } + } + + public bool IsSupported + { + get + { + //TODO: this is just a very basic version of test for support + return AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.Win32NT || + AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.Unix || + AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.MacOSX; + } + } + + public void RegisterCreator(AddInSystemFactory factory) + { + logger.Debug("adding OpenTK InputSystem creator to creator collection of AddInSystemFactory"); + factory.AddCreator(this); + } + + public IGamePad GamePad + { + get + { + logger.Debug("returning a new OpenTK GamePad device"); + return new GamePad(); + } + } + + public IMouse Mouse + { + get + { + logger.Debug("returning a new OpenTK Mouse device"); + return new Mouse(); + } + } + + public IKeyboard Keyboard + { + get + { + logger.Debug("returning a new OpenTK Keyboard device"); + return new Keyboard(); + } + } + +#if XNAEXT + public IMotionSensingDevice MotionSensingDevice + { + get { return null; } + } +#endif + } +} diff --git a/InputSystems/ANX.InputSystem.OpenTK/GamePad.cs b/InputSystems/ANX.InputSystem.OpenTK/GamePad.cs new file mode 100644 index 00000000..41b9278f --- /dev/null +++ b/InputSystems/ANX.InputSystem.OpenTK/GamePad.cs @@ -0,0 +1,81 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.NonXNA; + +#endregion // Using Statements + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.OpenTK +{ + public class GamePad : IGamePad + { + public Framework.Input.GamePadCapabilities GetCapabilities(Framework.PlayerIndex playerIndex) + { + throw new NotImplementedException(); + } + + public Framework.Input.GamePadState GetState(Framework.PlayerIndex playerIndex, out bool isConnected, out int packetNumber) + { + throw new NotImplementedException(); + } + + public Framework.Input.GamePadState GetState(Framework.PlayerIndex playerIndex, Framework.Input.GamePadDeadZone deadZoneMode, out bool isConnected, out int packetNumber) + { + throw new NotImplementedException(); + } + + public bool SetVibration(Framework.PlayerIndex playerIndex, float leftMotor, float rightMotor) + { + throw new NotImplementedException(); + } + } +} diff --git a/InputSystems/ANX.InputSystem.OpenTK/Keyboard.cs b/InputSystems/ANX.InputSystem.OpenTK/Keyboard.cs new file mode 100644 index 00000000..1eda3445 --- /dev/null +++ b/InputSystems/ANX.InputSystem.OpenTK/Keyboard.cs @@ -0,0 +1,90 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.NonXNA; + +#endregion // Using Statements + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.OpenTK +{ + public class Keyboard : IKeyboard + { + private IntPtr windowHandle; + + public IntPtr WindowHandle + { + get + { + return this.windowHandle; + } + set + { + this.windowHandle = value; + } + } + + public Framework.Input.KeyboardState GetState() + { + throw new NotImplementedException(); + } + + public Framework.Input.KeyboardState GetState(Framework.PlayerIndex playerIndex) + { + throw new NotImplementedException(); + } + + public void Dispose() + { + throw new NotImplementedException(); + } + } +} diff --git a/InputSystems/ANX.InputSystem.OpenTK/Metadata.Designer.cs b/InputSystems/ANX.InputSystem.OpenTK/Metadata.Designer.cs new file mode 100644 index 00000000..e1be905f --- /dev/null +++ b/InputSystems/ANX.InputSystem.OpenTK/Metadata.Designer.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.239 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace ANX.InputSystem.OpenTK { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Metadata { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Metadata() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ANX.InputSystem.OpenTK.Metadata", typeof(Metadata).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Win32NT Unix MacOsX ähnelt. + /// + public static string SupportedPlatforms { + get { + return ResourceManager.GetString("SupportedPlatforms", resourceCulture); + } + } + } +} diff --git a/InputSystems/ANX.InputSystem.OpenTK/Metadata.resx b/InputSystems/ANX.InputSystem.OpenTK/Metadata.resx new file mode 100644 index 00000000..8451d556 --- /dev/null +++ b/InputSystems/ANX.InputSystem.OpenTK/Metadata.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Win32NT Unix MacOsX + + \ No newline at end of file diff --git a/InputSystems/ANX.InputSystem.OpenTK/Mouse.cs b/InputSystems/ANX.InputSystem.OpenTK/Mouse.cs new file mode 100644 index 00000000..86c90cc0 --- /dev/null +++ b/InputSystems/ANX.InputSystem.OpenTK/Mouse.cs @@ -0,0 +1,84 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.NonXNA; + +#endregion // Using Statements + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.OpenTK +{ + public class Mouse : IMouse + { + + public IntPtr WindowHandle + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + public Framework.Input.MouseState GetState() + { + throw new NotImplementedException(); + } + + public void SetPosition(int x, int y) + { + throw new NotImplementedException(); + } + } +} diff --git a/InputSystems/ANX.InputSystem.OpenTK/Properties/AssemblyInfo.cs b/InputSystems/ANX.InputSystem.OpenTK/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..bdb16075 --- /dev/null +++ b/InputSystems/ANX.InputSystem.OpenTK/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die mit einer Assembly verknüpft sind. +[assembly: AssemblyTitle("ANX.InputSystem.OpenTK")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("ANX.Framework Team")] +[assembly: AssemblyProduct("ANX.InputSystem.OpenTK")] +[assembly: AssemblyCopyright("Copyright © ANX.Framework Team 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar +// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von +// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("239b9c28-3493-4325-9f03-303b25b0efda")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.0.1.0")] +[assembly: AssemblyFileVersion("0.0.1.0")] diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj b/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj index 5d785f3c..caeb2abf 100644 --- a/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj +++ b/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj @@ -17,7 +17,7 @@ true full false - bin\Debug\ + ..\..\bin\Debug\ DEBUG;TRACE prompt 4 @@ -25,7 +25,7 @@ pdbonly true - bin\Release\ + ..\..\bin\Release\ TRACE prompt 4 diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/Properties/AssemblyInfo.cs b/InputSystems/ANX.InputSystems.Windows.Recording/Properties/AssemblyInfo.cs index ea0db167..a6c23285 100644 --- a/InputSystems/ANX.InputSystems.Windows.Recording/Properties/AssemblyInfo.cs +++ b/InputSystems/ANX.InputSystems.Windows.Recording/Properties/AssemblyInfo.cs @@ -8,9 +8,9 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("ANX.InputSystems.Windows.Recording")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] +[assembly: AssemblyCompany("ANX.Framework Team")] [assembly: AssemblyProduct("ANX.InputSystems.Windows.Recording")] -[assembly: AssemblyCopyright("Copyright © 2011")] +[assembly: AssemblyCopyright("Copyright © ANX.Framework Team 2011")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.0.1.0")] +[assembly: AssemblyFileVersion("0.0.1.0")] diff --git a/Samples/WindowsGame/WindowsGame.csproj b/Samples/WindowsGame/WindowsGame.csproj index 05c9ad97..5d26286b 100644 --- a/Samples/WindowsGame/WindowsGame.csproj +++ b/Samples/WindowsGame/WindowsGame.csproj @@ -99,6 +99,10 @@ {6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35} ANX.Framework + + {5CA3CDF5-4D2C-42AC-AD08-641BD3992B75} + ANX.InputSystem.OpenTK + {E5D69E75-D77C-493F-BBDA-6F9E73B82549} ANX.InputSystem.Windows.Kinect @@ -107,6 +111,10 @@ {60D08399-244F-46A3-91F1-4CFD26D961A3} ANX.InputSystem.Windows.XInput + + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A} + ANX.InputSystems.Windows.Recording + {5BE49183-2F6F-4527-AC90-D816911FCF90} ANX.Framework.Windows.DX10 @@ -119,6 +127,10 @@ {B30DE9C2-0926-46B6-8351-9AF276C472D5} ANX.RenderSystem.Windows.DX11 + + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A} + ANX.SoundSystem.OpenAL + {6A582788-C4D2-410C-96CD-177F75712D65} ANX.SoundSystem.Windows.XAudio diff --git a/SoundSystems/ANX.SoundSystem.OpenAL/ANX.SoundSystem.OpenAL.csproj b/SoundSystems/ANX.SoundSystem.OpenAL/ANX.SoundSystem.OpenAL.csproj new file mode 100644 index 00000000..70488076 --- /dev/null +++ b/SoundSystems/ANX.SoundSystem.OpenAL/ANX.SoundSystem.OpenAL.csproj @@ -0,0 +1,79 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A} + Library + Properties + ANX.SoundSystem.OpenAL + ANX.SoundSystem.OpenAL + v4.0 + 512 + + + true + full + false + ..\..\bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + ..\..\bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\lib\OpenTK\OpenTK.dll + + + False + ..\..\lib\OpenTK\OpenTK.Compatibility.dll + + + + + + + + + + + + + Metadata.resx + True + True + + + + + + {6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35} + ANX.Framework + + + + + PublicResXFileCodeGenerator + Metadata.Designer.cs + + + + + \ No newline at end of file diff --git a/SoundSystems/ANX.SoundSystem.OpenAL/Creator.cs b/SoundSystems/ANX.SoundSystem.OpenAL/Creator.cs new file mode 100644 index 00000000..4d6a9ba8 --- /dev/null +++ b/SoundSystems/ANX.SoundSystem.OpenAL/Creator.cs @@ -0,0 +1,91 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +using System.Runtime.InteropServices; +using ANX.Framework.NonXNA; + +#endregion // Using Statements + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.SoundSystem.OpenAL +{ + public class Creator : ISoundSystemCreator + { + + public void RegisterCreator(AddInSystemFactory factory) + { + factory.AddCreator(this); + } + + public string Name + { + get { return "OpenAL"; } + } + + public int Priority + { + get { return 10; } + } + + public bool IsSupported + { + get + { + //TODO: this is just a very basic version of test for support + return AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.Win32NT || + AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.Unix || + AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.MacOSX; + } + } + + } +} diff --git a/SoundSystems/ANX.SoundSystem.OpenAL/Metadata.Designer.cs b/SoundSystems/ANX.SoundSystem.OpenAL/Metadata.Designer.cs new file mode 100644 index 00000000..7219202d --- /dev/null +++ b/SoundSystems/ANX.SoundSystem.OpenAL/Metadata.Designer.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.239 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace ANX.SoundSystem.OpenAL { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Metadata { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Metadata() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ANX.SoundSystem.OpenAL.Metadata", typeof(Metadata).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Win32NT Unix MacOsX ähnelt. + /// + public static string SupportedPlatforms { + get { + return ResourceManager.GetString("SupportedPlatforms", resourceCulture); + } + } + } +} diff --git a/SoundSystems/ANX.SoundSystem.OpenAL/Metadata.resx b/SoundSystems/ANX.SoundSystem.OpenAL/Metadata.resx new file mode 100644 index 00000000..8451d556 --- /dev/null +++ b/SoundSystems/ANX.SoundSystem.OpenAL/Metadata.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Win32NT Unix MacOsX + + \ No newline at end of file diff --git a/SoundSystems/ANX.SoundSystem.OpenAL/Properties/AssemblyInfo.cs b/SoundSystems/ANX.SoundSystem.OpenAL/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..20e687f5 --- /dev/null +++ b/SoundSystems/ANX.SoundSystem.OpenAL/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die mit einer Assembly verknüpft sind. +[assembly: AssemblyTitle("ANX.SoundSystem.OpenAL")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("ANX.Framework Team")] +[assembly: AssemblyProduct("ANX.SoundSystem.OpenAL")] +[assembly: AssemblyCopyright("Copyright © ANX.Framework Team 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar +// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von +// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("4ba1bcba-d497-4e98-a36d-4f5c7d24b8f3")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.0.1.0")] +[assembly: AssemblyFileVersion("0.0.1.0")] diff --git a/build/ANX.Framework.build b/build/ANX.Framework.build index 0230acfc..087b54e7 100644 --- a/build/ANX.Framework.build +++ b/build/ANX.Framework.build @@ -13,9 +13,15 @@ + + + + + + @@ -43,7 +49,10 @@ + + + @@ -164,6 +173,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -195,6 +232,20 @@ + + + + + + + + + + + + + +