SND\AstrorEnales_cp 5505f7dcbf - Added PlatformSystem Plugins layer
- Started Windows, Metro and Linux Platform-Plugins
- Moved the RecordingSample to the Samples folder
- Started two samples for using the graphics device in a WinForms and Wpf Editor
- Refactorings in the AddIn-System
- Moved the Window initialization-code to the Platform modules
- Changed the License text in all code files which is now way smaller
- Started ProjectConverter tool which converts all the projects and solution to the target configuration
- Changed the SupportedPlatform names in the Resource files
- Changed the WIN8 define to WINDOWSMETRO which is actually meant
- Removed NLog and started our own Logger class
- Many more stuff...
2012-08-09 09:45:04 +00:00

157 lines
3.2 KiB
C#

using System;
using System.IO;
using ANX.Framework.Audio;
using ANX.Framework.NonXNA;
using ANX.Framework.NonXNA.SoundSystem;
// 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.SoundSystem.OpenAL
{
public class Creator : ISoundSystemCreator
{
#region Public
#region Name
public string Name
{
get
{
return "Sound.OpenAL";
}
}
#endregion
#region Priority
public int Priority
{
get
{
return 100;
}
}
#endregion
#region IsSupported
public bool IsSupported
{
get
{
PlatformName os = OSInformation.GetName();
return OSInformation.IsWindows ||
os == PlatformName.Linux ||
os == PlatformName.MacOSX;
}
}
#endregion
#region DistanceScale
public float DistanceScale
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
#endregion
#region DopplerScale
public float DopplerScale
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
#endregion
#region MasterVolume
public float MasterVolume
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
#endregion
#region SpeedOfSound
public float SpeedOfSound
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
#endregion
#endregion
#region RegisterCreator
public void RegisterCreator(AddInSystemFactory factory)
{
factory.AddCreator(this);
}
#endregion
#region CreateSoundEffectInstance
public ISoundEffectInstance CreateSoundEffectInstance(
ISoundEffect nativeSoundEffect)
{
AddInSystemFactory.Instance.PreventSystemChange(AddInType.SoundSystem);
return new OpenALSoundEffectInstance((OpenALSoundEffect)nativeSoundEffect);
}
#endregion
#region CreateSoundEffect
public ISoundEffect CreateSoundEffect(SoundEffect parent, Stream stream)
{
AddInSystemFactory.Instance.PreventSystemChange(AddInType.SoundSystem);
return new OpenALSoundEffect(parent, stream);
}
#endregion
#region CreateSoundEffect (TODO)
public ISoundEffect CreateSoundEffect(SoundEffect parent, byte[] buffer,
int offset, int count, int sampleRate, AudioChannels channels,
int loopStart, int loopLength)
{
AddInSystemFactory.Instance.PreventSystemChange(AddInType.SoundSystem);
throw new NotImplementedException();
}
#endregion
#region CreateAudioListener (TODO)
public IAudioListener CreateAudioListener()
{
AddInSystemFactory.Instance.PreventSystemChange(AddInType.SoundSystem);
throw new NotImplementedException();
}
#endregion
#region CreateAudioEmitter (TODO)
public IAudioEmitter CreateAudioEmitter()
{
AddInSystemFactory.Instance.PreventSystemChange(AddInType.SoundSystem);
throw new NotImplementedException();
}
#endregion
}
}