From 67e5d8f6e98caf4b6fb8bb642e112b32a681058f Mon Sep 17 00:00:00 2001 From: Ghabry Date: Tue, 31 Aug 2021 23:05:48 +0200 Subject: [PATCH] Fix SE volume always being 100 --- src/audio_generic.cpp | 4 ++-- src/audio_generic.h | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/audio_generic.cpp b/src/audio_generic.cpp index 9aaa250127..3988e2bbc2 100644 --- a/src/audio_generic.cpp +++ b/src/audio_generic.cpp @@ -255,7 +255,7 @@ bool GenericAudio::PlayOnChannel(SeChannel& chan, Filesystem_Stream::InputStream chan.decoder = cache->CreateSeDecoder(); chan.decoder->SetPitch(pitch); chan.decoder->SetFormat(output_format.frequency, output_format.format, output_format.channels); - chan.volume = volume; + chan.decoder->SetVolume(volume); chan.paused = false; // Unpause channel -> Play it. return true; } else { @@ -338,7 +338,7 @@ void GenericAudio::Decode(uint8_t* output_buffer, int buffer_length) { if (currently_mixed_channel.stopped) { currently_mixed_channel.decoder.reset(); } else { - volume = current_master_volume * (currently_mixed_channel.volume / 100.0); + volume = current_master_volume * (currently_mixed_channel.decoder->GetVolume() / 100.0); currently_mixed_channel.decoder->GetFormat(frequency, sampleformat, channels); samplesize = AudioDecoder::GetSamplesizeForFormat(sampleformat); diff --git a/src/audio_generic.h b/src/audio_generic.h index af839e3c0a..0eee997276 100644 --- a/src/audio_generic.h +++ b/src/audio_generic.h @@ -83,7 +83,6 @@ class GenericAudio : public AudioInterface { struct SeChannel { int id; std::unique_ptr decoder; - int volume; bool paused; bool stopped; };