From 4a953e42f04191921af3a49c7b26a044337a36f0 Mon Sep 17 00:00:00 2001 From: Kendall Garner <17521368+kgarner7@users.noreply.github.com> Date: Thu, 25 Jan 2024 08:54:25 -0800 Subject: [PATCH] [bugfix]: SAFARI WHY. Use GainNode volume instead for volume control --- src/renderer/components/audio-player/index.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/renderer/components/audio-player/index.tsx b/src/renderer/components/audio-player/index.tsx index 559eb14ad..59e2c03c9 100644 --- a/src/renderer/components/audio-player/index.tsx +++ b/src/renderer/components/audio-player/index.tsx @@ -81,7 +81,7 @@ export const AudioPlayer = forwardRef( const calculateReplayGain = useCallback( (song: Song): number => { if (playback.replayGainMode === 'no') { - return 1; + return volume; } let gain: number | undefined; @@ -99,7 +99,7 @@ export const AudioPlayer = forwardRef( gain = playback.replayGainFallbackDB; if (!gain) { - return 1; + return volume; } } @@ -116,13 +116,14 @@ export const AudioPlayer = forwardRef( if (playback.replayGainClip) { return Math.min(expectedGain, 1 / peak); } - return expectedGain; + return expectedGain * volume; }, [ playback.replayGainClip, playback.replayGainFallbackDB, playback.replayGainMode, playback.replayGainPreampDB, + volume, ], ); @@ -311,6 +312,9 @@ export const AudioPlayer = forwardRef( [player2Source, webAudio], ); + // Bugfix for Safari: rather than use the `