as equalizer parameter change produced a small glitch, do not update these if volume has not changes

This commit is contained in:
philippe44
2023-09-01 21:44:54 -07:00
parent 4227fc9603
commit 7c1a1081c4

View File

@@ -125,12 +125,15 @@ void equalizer_set_samplerate(uint32_t samplerate) {
*/ */
void equalizer_set_volume(unsigned left, unsigned right) { void equalizer_set_volume(unsigned left, unsigned right) {
#if BYTES_PER_FRAME == 4 #if BYTES_PER_FRAME == 4
equalizer.volume = (left + right) / 2; float volume = (left + right) / 2;
// do classic dB conversion and scale it 0..100 // do classic dB conversion and scale it 0..100
if (equalizer.volume) equalizer.volume = log2(equalizer.volume); if (volume) volume = log2(volume);
equalizer.volume = equalizer.volume / 16.0 * 100.0; volume = volume / 16.0 * 100.0;
if (volume != equalizer.volume) {
equalizer.volume = volume;
calculate_loudness(); calculate_loudness();
equalizer.update = true; equalizer.update = true;
}
#endif #endif
} }