feat(sound): add SESound::MuteChannelGroup

This commit is contained in:
fallenoak 2025-11-29 15:13:01 -06:00
parent 73001e7e45
commit dafab62718
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
2 changed files with 16 additions and 0 deletions

View File

@ -577,6 +577,21 @@ void SESound::Log_Write(int32_t line, const char* file, FMOD_RESULT result, cons
// TODO // TODO
} }
void SESound::MuteChannelGroup(const char* name, bool mute) {
if (!SESound::s_Initialized || !name) {
return;
}
auto channelGroup = SESound::GetChannelGroup(name, false, false);
if (!channelGroup) {
return;
}
channelGroup->m_dirty = true;
channelGroup->m_muteVolume = mute ? 0.0f : 1.0f;
}
void SESound::ProcessReadyDiskSounds() { void SESound::ProcessReadyDiskSounds() {
while (auto diskSound = SESound::s_ReadyDiskSounds.Head()) { while (auto diskSound = SESound::s_ReadyDiskSounds.Head()) {
SESound::s_ReadyDiskSounds.UnlinkNode(diskSound); SESound::s_ReadyDiskSounds.UnlinkNode(diskSound);

View File

@ -37,6 +37,7 @@ class SESound {
static void Init(int32_t maxChannels, int32_t (*a2), int32_t enableReverb, int32_t enableSoftwareHRTF, int32_t* numChannels, int32_t* outputDriverIndex, const char* outputDriverName, void (*a8), int32_t a9); static void Init(int32_t maxChannels, int32_t (*a2), int32_t enableReverb, int32_t enableSoftwareHRTF, int32_t* numChannels, int32_t* outputDriverIndex, const char* outputDriverName, void (*a8), int32_t a9);
static int32_t IsInitialized(); static int32_t IsInitialized();
static void Log_Write(int32_t line, const char* file, FMOD_RESULT result, const char* fmt, ...); static void Log_Write(int32_t line, const char* file, FMOD_RESULT result, const char* fmt, ...);
static void MuteChannelGroup(const char* name, bool mute);
static void SetChannelGroupVolume(const char* name, float volume); static void SetChannelGroupVolume(const char* name, float volume);
// Public member functions // Public member functions