yeah, start OpenAL sound output
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2764 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
a5db816490
commit
13ddd0648b
|
@ -409,14 +409,9 @@
|
||||||
<References>
|
<References>
|
||||||
</References>
|
</References>
|
||||||
<Files>
|
<Files>
|
||||||
<File
|
<Filter
|
||||||
RelativePath=".\Src\AudioCommon.cpp"
|
Name="StreamOut"
|
||||||
>
|
>
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\Src\AudioCommon.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Src\AOSoundStream.cpp"
|
RelativePath=".\Src\AOSoundStream.cpp"
|
||||||
>
|
>
|
||||||
|
@ -425,7 +420,6 @@
|
||||||
RelativePath=".\Src\AOSoundStream.h"
|
RelativePath=".\Src\AOSoundStream.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Src\DSoundStream.cpp"
|
RelativePath=".\Src\DSoundStream.cpp"
|
||||||
>
|
>
|
||||||
|
@ -439,17 +433,34 @@
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Src\SoundStream.h"
|
RelativePath=".\Src\OpenALStream.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Src\Mixer.h"
|
RelativePath=".\Src\OpenALStream.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Src\SoundStream.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Src\AudioCommon.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Src\AudioCommon.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Src\Mixer.cpp"
|
RelativePath=".\Src\Mixer.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Src\Mixer.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Src\WaveFile.cpp"
|
RelativePath=".\Src\WaveFile.cpp"
|
||||||
>
|
>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#include "AOSoundStream.h"
|
#include "AOSoundStream.h"
|
||||||
#include "DSoundStream.h"
|
#include "DSoundStream.h"
|
||||||
#include "NullSoundStream.h"
|
#include "NullSoundStream.h"
|
||||||
|
#include "OpenALStream.h"
|
||||||
|
|
||||||
namespace AudioCommon {
|
namespace AudioCommon {
|
||||||
|
|
||||||
|
@ -21,6 +21,10 @@ SoundStream *InitSoundStream(std::string backend, CMixer *mixer) {
|
||||||
if (AOSound::isValid())
|
if (AOSound::isValid())
|
||||||
soundStream = new AOSound(mixer);
|
soundStream = new AOSound(mixer);
|
||||||
}
|
}
|
||||||
|
else if (backend == "OpenAL") {
|
||||||
|
if (OpenALStream::isValid())
|
||||||
|
soundStream = new OpenALStream(mixer);
|
||||||
|
}
|
||||||
else if (backend == "NullSound") {
|
else if (backend == "NullSound") {
|
||||||
soundStream = new NullSound(mixer);
|
soundStream = new NullSound(mixer);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
|
@ -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 <list>
|
||||||
|
//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
|
Loading…
Reference in New Issue