summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon
diff options
context:
space:
mode:
authorXTra.KrazzY <XTra.KrazzY@gmail.com>2009-11-07 20:01:39 +0000
committerXTra.KrazzY <XTra.KrazzY@gmail.com>2009-11-07 20:01:39 +0000
commita0129e51a3fead84c91f5bd302d627ac84e36feb (patch)
tree107111240fa8ce392da2b944bc96aca28688b657 /Source/Core/AudioCommon
parentebaad032eb7a1f2598fa8b87c6adf2eb996ef4a8 (diff)
LUAInterface should have all its functionality now (excluding input/controller management). Now we need a GUI to see how it works. Added new DSP function: ClearAudioBuffer, which clears the audio buffer for pausing. Currently it doesn't work with DSound.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4507 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/AudioCommon')
-rw-r--r--Source/Core/AudioCommon/Src/AOSoundStream.cpp9
-rw-r--r--Source/Core/AudioCommon/Src/AOSoundStream.h2
-rw-r--r--Source/Core/AudioCommon/Src/DSoundStream.cpp7
-rw-r--r--Source/Core/AudioCommon/Src/DSoundStream.h1
-rw-r--r--Source/Core/AudioCommon/Src/OpenALStream.cpp7
-rw-r--r--Source/Core/AudioCommon/Src/OpenALStream.h1
-rw-r--r--Source/Core/AudioCommon/Src/SoundStream.h1
7 files changed, 27 insertions, 1 deletions
diff --git a/Source/Core/AudioCommon/Src/AOSoundStream.cpp b/Source/Core/AudioCommon/Src/AOSoundStream.cpp
index 646d011022..137864a832 100644
--- a/Source/Core/AudioCommon/Src/AOSoundStream.cpp
+++ b/Source/Core/AudioCommon/Src/AOSoundStream.cpp
@@ -81,7 +81,14 @@ void AOSound::Update()
{
soundSyncEvent.Set();
}
-
+
+void AOSound::Clear()
+{
+ memset(realtimeBuffer, 0, sizeof(realtimeBuffer));
+
+ Update();
+}
+
void AOSound::Stop()
{
soundCriticalSection.Enter();
diff --git a/Source/Core/AudioCommon/Src/AOSoundStream.h b/Source/Core/AudioCommon/Src/AOSoundStream.h
index afba7b363f..dbe0a09471 100644
--- a/Source/Core/AudioCommon/Src/AOSoundStream.h
+++ b/Source/Core/AudioCommon/Src/AOSoundStream.h
@@ -51,6 +51,8 @@ public:
virtual void SoundLoop();
virtual void Stop();
+
+ virtual void Clear();
static bool isValid() {
return true;
diff --git a/Source/Core/AudioCommon/Src/DSoundStream.cpp b/Source/Core/AudioCommon/Src/DSoundStream.cpp
index 6ddb866459..aa08f3f7f8 100644
--- a/Source/Core/AudioCommon/Src/DSoundStream.cpp
+++ b/Source/Core/AudioCommon/Src/DSoundStream.cpp
@@ -170,6 +170,13 @@ void DSound::Update()
soundSyncEvent.Set();
}
+void DSound::Clear()
+{
+ memset(realtimeBuffer, 0, sizeof(realtimeBuffer));
+
+ Update();
+}
+
void DSound::Stop()
{
soundCriticalSection.Enter();
diff --git a/Source/Core/AudioCommon/Src/DSoundStream.h b/Source/Core/AudioCommon/Src/DSoundStream.h
index 6848b0480e..cad273d268 100644
--- a/Source/Core/AudioCommon/Src/DSoundStream.h
+++ b/Source/Core/AudioCommon/Src/DSoundStream.h
@@ -78,6 +78,7 @@ public:
virtual void SoundLoop();
virtual void SetVolume(int volume);
virtual void Stop();
+ virtual void Clear();
static bool isValid() { return true; }
virtual bool usesMixer() const { return true; }
virtual void Update();
diff --git a/Source/Core/AudioCommon/Src/OpenALStream.cpp b/Source/Core/AudioCommon/Src/OpenALStream.cpp
index c5b164fbb3..53a3a629bb 100644
--- a/Source/Core/AudioCommon/Src/OpenALStream.cpp
+++ b/Source/Core/AudioCommon/Src/OpenALStream.cpp
@@ -92,6 +92,13 @@ void OpenALStream::Update()
}
}
+void OpenALStream::Clear()
+{
+ memset(realtimeBuffer, 0, sizeof(realtimeBuffer));
+
+ Update();
+}
+
THREAD_RETURN OpenALStream::ThreadFunc(void* args)
{
(reinterpret_cast<OpenALStream *>(args))->SoundLoop();
diff --git a/Source/Core/AudioCommon/Src/OpenALStream.h b/Source/Core/AudioCommon/Src/OpenALStream.h
index 969102fca6..083723951b 100644
--- a/Source/Core/AudioCommon/Src/OpenALStream.h
+++ b/Source/Core/AudioCommon/Src/OpenALStream.h
@@ -50,6 +50,7 @@ public:
virtual bool Start();
virtual void SoundLoop();
virtual void Stop();
+ virtual void Clear();
static bool isValid() { return true; }
virtual bool usesMixer() const { return true; }
virtual void Update();
diff --git a/Source/Core/AudioCommon/Src/SoundStream.h b/Source/Core/AudioCommon/Src/SoundStream.h
index fdaf871eaf..2fba16756e 100644
--- a/Source/Core/AudioCommon/Src/SoundStream.h
+++ b/Source/Core/AudioCommon/Src/SoundStream.h
@@ -44,6 +44,7 @@ public:
virtual void SoundLoop() {}
virtual void Stop() {}
virtual void Update() {}
+ virtual void Clear() {}
virtual void StartLogAudio(const char *filename) {
if (! m_logAudio) {
m_logAudio = true;