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) {
#if BYTES_PER_FRAME == 4
equalizer.volume = (left + right) / 2;
float volume = (left + right) / 2;
// do classic dB conversion and scale it 0..100
if (equalizer.volume) equalizer.volume = log2(equalizer.volume);
equalizer.volume = equalizer.volume / 16.0 * 100.0;
calculate_loudness();
equalizer.update = true;
if (volume) volume = log2(volume);
volume = volume / 16.0 * 100.0;
if (volume != equalizer.volume) {
equalizer.volume = volume;
calculate_loudness();
equalizer.update = true;
}
#endif
}