diff options
| author | XTra.KrazzY <XTra.KrazzY@gmail.com> | 2009-11-07 20:01:39 +0000 |
|---|---|---|
| committer | XTra.KrazzY <XTra.KrazzY@gmail.com> | 2009-11-07 20:01:39 +0000 |
| commit | a0129e51a3fead84c91f5bd302d627ac84e36feb (patch) | |
| tree | 107111240fa8ce392da2b944bc96aca28688b657 /Source/Core/AudioCommon | |
| parent | ebaad032eb7a1f2598fa8b87c6adf2eb996ef4a8 (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.cpp | 9 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/AOSoundStream.h | 2 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/DSoundStream.cpp | 7 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/DSoundStream.h | 1 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/OpenALStream.cpp | 7 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/OpenALStream.h | 1 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/SoundStream.h | 1 |
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; |
