From 04c47d493d630bef042704584d4b8edfcf824325 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Fri, 27 Nov 2015 07:33:56 +1100 Subject: [PATCH] Setup framework for AudioManager class. --- ClassicalSharp/Audio/AudioManager.cs | 38 +++++++++++++++++++ ClassicalSharp/ClassicalSharp.csproj | 14 ++++--- .../Particles/CollidableParticle.cs | 0 .../{Entities => }/Particles/Particle.cs | 0 .../Particles/ParticleManager.cs | 0 .../{Entities => }/Particles/RainParticle.cs | 0 .../Particles/TerrainParticle.cs | 0 7 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 ClassicalSharp/Audio/AudioManager.cs rename ClassicalSharp/{Entities => }/Particles/CollidableParticle.cs (100%) rename ClassicalSharp/{Entities => }/Particles/Particle.cs (100%) rename ClassicalSharp/{Entities => }/Particles/ParticleManager.cs (100%) rename ClassicalSharp/{Entities => }/Particles/RainParticle.cs (100%) rename ClassicalSharp/{Entities => }/Particles/TerrainParticle.cs (100%) diff --git a/ClassicalSharp/Audio/AudioManager.cs b/ClassicalSharp/Audio/AudioManager.cs new file mode 100644 index 000000000..442ad87c7 --- /dev/null +++ b/ClassicalSharp/Audio/AudioManager.cs @@ -0,0 +1,38 @@ +using System; +using OpenTK; +using SharpWave; + +namespace ClassicalSharp.Audio { + + public sealed class AudioManager { + + IAudioOutput musicOut, soundOut; + public AudioManager( Game game ) { + Init( game ); + } + + void Init( Game game ) { + if( Configuration.RunningOnWindows ) { + musicOut = new WinMmOut(); + soundOut = new WinMmOut(); + } else { + musicOut = new OpenALOut(); + soundOut = new OpenALOut(); + } + musicOut.Create( 4 ); + soundOut.Create( 4, musicOut ); + } + + double accumulator; + Random rnd = new Random(); + public void Tick( double delta ) { + accumulator += delta; + } + + public void Dispose() { + // TODO: stop playing current sound and/or music + musicOut.Dispose(); + soundOut.Dispose(); + } + } +} diff --git a/ClassicalSharp/ClassicalSharp.csproj b/ClassicalSharp/ClassicalSharp.csproj index 90cbee10e..5bde9d4bd 100644 --- a/ClassicalSharp/ClassicalSharp.csproj +++ b/ClassicalSharp/ClassicalSharp.csproj @@ -124,6 +124,7 @@ + @@ -135,11 +136,11 @@ - - - - - + + + + + @@ -258,7 +259,7 @@ - + @@ -268,6 +269,7 @@ + diff --git a/ClassicalSharp/Entities/Particles/CollidableParticle.cs b/ClassicalSharp/Particles/CollidableParticle.cs similarity index 100% rename from ClassicalSharp/Entities/Particles/CollidableParticle.cs rename to ClassicalSharp/Particles/CollidableParticle.cs diff --git a/ClassicalSharp/Entities/Particles/Particle.cs b/ClassicalSharp/Particles/Particle.cs similarity index 100% rename from ClassicalSharp/Entities/Particles/Particle.cs rename to ClassicalSharp/Particles/Particle.cs diff --git a/ClassicalSharp/Entities/Particles/ParticleManager.cs b/ClassicalSharp/Particles/ParticleManager.cs similarity index 100% rename from ClassicalSharp/Entities/Particles/ParticleManager.cs rename to ClassicalSharp/Particles/ParticleManager.cs diff --git a/ClassicalSharp/Entities/Particles/RainParticle.cs b/ClassicalSharp/Particles/RainParticle.cs similarity index 100% rename from ClassicalSharp/Entities/Particles/RainParticle.cs rename to ClassicalSharp/Particles/RainParticle.cs diff --git a/ClassicalSharp/Entities/Particles/TerrainParticle.cs b/ClassicalSharp/Particles/TerrainParticle.cs similarity index 100% rename from ClassicalSharp/Entities/Particles/TerrainParticle.cs rename to ClassicalSharp/Particles/TerrainParticle.cs