From 51d60e1db1c44589bc2ee0ce5cb51f6edc4c36d9 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 22 Oct 2003 03:39:52 +0000 Subject: [PATCH] add RageSoundManager::AttenuateBuf --- stepmania/src/RageSoundManager.cpp | 10 ++++++++++ stepmania/src/RageSoundManager.h | 1 + 2 files changed, 11 insertions(+) diff --git a/stepmania/src/RageSoundManager.cpp b/stepmania/src/RageSoundManager.cpp index 112bf853cd..819cbc61e8 100644 --- a/stepmania/src/RageSoundManager.cpp +++ b/stepmania/src/RageSoundManager.cpp @@ -262,6 +262,16 @@ void RageSoundManager::SetPrefs(float MixVol) driver->VolumeChanged(); } +void RageSoundManager::AttenuateBuf( Sint16 *buf, int samples, float vol ) +{ + while( samples-- ) + { + *buf = Sint16( (*buf) * vol ); + ++buf; + } +} + + SoundMixBuffer::SoundMixBuffer() { bufsize = used = 0; diff --git a/stepmania/src/RageSoundManager.h b/stepmania/src/RageSoundManager.h index 671022a3f8..204966a9d8 100644 --- a/stepmania/src/RageSoundManager.h +++ b/stepmania/src/RageSoundManager.h @@ -62,6 +62,7 @@ public: set all_sounds; static void MixAudio(Sint16 *dst, const Sint16 *src, Uint32 len, float volume); + static void AttenuateBuf( Sint16 *buf, int samples, float vol ); }; /* This inputs and outputs 16-bit 44khz stereo input. */