diff --git a/Source/Core/AudioCommon/AudioCommon.vcproj b/Source/Core/AudioCommon/AudioCommon.vcproj index 22724ae219..72fa38fd81 100644 --- a/Source/Core/AudioCommon/AudioCommon.vcproj +++ b/Source/Core/AudioCommon/AudioCommon.vcproj @@ -409,6 +409,42 @@ + + + + + + + + + + + + + + + + + + @@ -417,39 +453,14 @@ RelativePath=".\Src\AudioCommon.h" > - - - - - - - - - - - - - diff --git a/Source/Core/AudioCommon/Src/AudioCommon.cpp b/Source/Core/AudioCommon/Src/AudioCommon.cpp index bc3d30c25f..e703e55686 100644 --- a/Source/Core/AudioCommon/Src/AudioCommon.cpp +++ b/Source/Core/AudioCommon/Src/AudioCommon.cpp @@ -3,7 +3,7 @@ #include "AOSoundStream.h" #include "DSoundStream.h" #include "NullSoundStream.h" - +#include "OpenALStream.h" namespace AudioCommon { @@ -21,6 +21,10 @@ SoundStream *InitSoundStream(std::string backend, CMixer *mixer) { if (AOSound::isValid()) soundStream = new AOSound(mixer); } + else if (backend == "OpenAL") { + if (OpenALStream::isValid()) + soundStream = new OpenALStream(mixer); + } else if (backend == "NullSound") { soundStream = new NullSound(mixer); } diff --git a/Source/Core/AudioCommon/Src/OpenALStream.cpp b/Source/Core/AudioCommon/Src/OpenALStream.cpp new file mode 100644 index 0000000000..2a929a61e9 --- /dev/null +++ b/Source/Core/AudioCommon/Src/OpenALStream.cpp @@ -0,0 +1,47 @@ +// Copyright (C) 2003-2009 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + + +#include "OpenAlStream.h" + +#define AUDIO_NUMBUFFERS (4) + + +bool OpenALStream::Start() +{ + return false; +} + +void OpenALStream::SoundLoop() +{ + +} + +void OpenALStream::Stop() +{ + +} + +void OpenALStream::Update() +{ + +} + +void OpenALStream::SoundThread() +{ + +} \ No newline at end of file diff --git a/Source/Core/AudioCommon/Src/OpenALStream.h b/Source/Core/AudioCommon/Src/OpenALStream.h new file mode 100644 index 0000000000..98a51504a9 --- /dev/null +++ b/Source/Core/AudioCommon/Src/OpenALStream.h @@ -0,0 +1,52 @@ +// Copyright (C) 2003-2009 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + +#ifndef __OPENALSTREAM_H__ +#define __OPENALSTREAM_H__ +#include "SoundStream.h" +#include "Thread.h" + +//#include +//using namespace std; + +#include "../../../../Externals/OpenAL/al/al.h" +#include "../../../../Externals/OpenAL/al/alc.h" + +// public use +#define SFX_MAX_SOURCE 1 + +class OpenALStream: public SoundStream +{ +public: + OpenALStream(CMixer *mixer, void *hWnd = NULL): SoundStream(mixer) {}; + virtual ~OpenALStream() {}; + + virtual bool Start(); + virtual void SoundLoop(); + virtual void Stop(); + static bool isValid() { return true; } + virtual bool usesMixer() const { return true; } + virtual void Update(); +private: + virtual void SoundThread(); +private: + Common::Thread *thread; + Common::CriticalSection soundCriticalSection; + Common::Event soundSyncEvent; +}; + +#endif \ No newline at end of file