mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-06 11:36:59 +03:00
Equalizer: change gain to int8 and memcmp-based update check
This commit is contained in:
@@ -22,7 +22,8 @@ static EXT_RAM_ATTR struct {
|
|||||||
void *handle;
|
void *handle;
|
||||||
float loudness, volume;
|
float loudness, volume;
|
||||||
uint32_t samplerate;
|
uint32_t samplerate;
|
||||||
float gain[EQ_BANDS], loudness_gain[EQ_BANDS];
|
int8_t gain[EQ_BANDS];
|
||||||
|
float loudness_gain[EQ_BANDS];
|
||||||
bool update;
|
bool update;
|
||||||
} equalizer;
|
} equalizer;
|
||||||
|
|
||||||
@@ -151,6 +152,8 @@ void equalizer_set_gain(int8_t *gain) {
|
|||||||
char config[EQ_BANDS * 4 + 1] = { };
|
char config[EQ_BANDS * 4 + 1] = { };
|
||||||
int n = 0;
|
int n = 0;
|
||||||
|
|
||||||
|
if (memcmp(equalizer.gain, gain, EQ_BANDS) != 0) equalizer.update = true;
|
||||||
|
|
||||||
for (int i = 0; i < EQ_BANDS; i++) {
|
for (int i = 0; i < EQ_BANDS; i++) {
|
||||||
equalizer.gain[i] = gain[i];
|
equalizer.gain[i] = gain[i];
|
||||||
n += sprintf(config + n, "%d,", gain[i]);
|
n += sprintf(config + n, "%d,", gain[i]);
|
||||||
@@ -159,8 +162,6 @@ void equalizer_set_gain(int8_t *gain) {
|
|||||||
config[n-1] = '\0';
|
config[n-1] = '\0';
|
||||||
config_set_value(NVS_TYPE_STR, "equalizer", config);
|
config_set_value(NVS_TYPE_STR, "equalizer", config);
|
||||||
|
|
||||||
equalizer.update = true;
|
|
||||||
|
|
||||||
LOG_INFO("equalizer gain %s", config);
|
LOG_INFO("equalizer gain %s", config);
|
||||||
#else
|
#else
|
||||||
LOG_INFO("no equalizer with 32 bits samples");
|
LOG_INFO("no equalizer with 32 bits samples");
|
||||||
|
|||||||
Reference in New Issue
Block a user