diff --git a/src/modules/module-filter-chain.c b/src/modules/module-filter-chain.c index 9d65aa938..b76644729 100644 --- a/src/modules/module-filter-chain.c +++ b/src/modules/module-filter-chain.c @@ -785,10 +785,10 @@ static struct spa_pod *get_prop_info(struct graph *graph, struct spa_pod_builder spa_pod_builder_prop(b, SPA_PROP_INFO_type, 0); if (p->hint & FC_HINT_BOOLEAN) { if (min == max) { - spa_pod_builder_bool(b, def <= 0.0 ? false : true); + spa_pod_builder_bool(b, def <= 0.0f ? false : true); } else { spa_pod_builder_push_choice(b, &f[1], SPA_CHOICE_Enum, 0); - spa_pod_builder_bool(b, def <= 0.0 ? false : true); + spa_pod_builder_bool(b, def <= 0.0f ? false : true); spa_pod_builder_bool(b, false); spa_pod_builder_bool(b, true); spa_pod_builder_pop(b, &f[1]); @@ -844,7 +844,7 @@ static struct spa_pod *get_props_param(struct graph *graph, struct spa_pod_build spa_pod_builder_string(b, name); if (p->hint & FC_HINT_BOOLEAN) { - spa_pod_builder_bool(b, port->control_data <= 0.0 ? false : true); + spa_pod_builder_bool(b, port->control_data <= 0.0f ? false : true); } else if (p->hint & FC_HINT_INTEGER) { spa_pod_builder_int(b, port->control_data); } else { diff --git a/src/modules/module-filter-chain/biquad.c b/src/modules/module-filter-chain/biquad.c index 296cdd8e4..58c8dd0b7 100644 --- a/src/modules/module-filter-chain/biquad.c +++ b/src/modules/module-filter-chain/biquad.c @@ -11,24 +11,6 @@ #include #include "biquad.h" -#ifndef max -#define max(a, b) \ - ({ \ - __typeof__(a) _a = (a); \ - __typeof__(b) _b = (b); \ - _a > _b ? _a : _b; \ - }) -#endif - -#ifndef min -#define min(a, b) \ - ({ \ - __typeof__(a) _a = (a); \ - __typeof__(b) _b = (b); \ - _a < _b ? _a : _b; \ - }) -#endif - #ifndef M_PI #define M_PI 3.14159265358979323846 #endif @@ -47,7 +29,7 @@ static void set_coefficient(struct biquad *bq, double b0, double b1, double b2, static void biquad_lowpass(struct biquad *bq, double cutoff, double resonance) { /* Limit cutoff to 0 to 1. */ - cutoff = max(0.0, min(cutoff, 1.0)); + cutoff = fmax(0.0, fmin(cutoff, 1.0)); if (cutoff == 1 || cutoff == 0) { /* When cutoff is 1, the z-transform is 1. @@ -59,7 +41,7 @@ static void biquad_lowpass(struct biquad *bq, double cutoff, double resonance) } /* Compute biquad coefficients for lowpass filter */ - resonance = max(0.0, resonance); /* can't go negative */ + resonance = fmax(0.0, resonance); /* can't go negative */ double g = pow(10.0, 0.05 * resonance); double d = sqrt((4 - sqrt(16 - 16 / (g * g))) / 2); @@ -81,7 +63,7 @@ static void biquad_lowpass(struct biquad *bq, double cutoff, double resonance) static void biquad_highpass(struct biquad *bq, double cutoff, double resonance) { /* Limit cutoff to 0 to 1. */ - cutoff = max(0.0, min(cutoff, 1.0)); + cutoff = fmax(0.0, fmin(cutoff, 1.0)); if (cutoff == 1 || cutoff == 0) { /* When cutoff is one, the z-transform is 0. */ @@ -95,7 +77,7 @@ static void biquad_highpass(struct biquad *bq, double cutoff, double resonance) } /* Compute biquad coefficients for highpass filter */ - resonance = max(0.0, resonance); /* can't go negative */ + resonance = fmax(0.0, resonance); /* can't go negative */ double g = pow(10.0, 0.05 * resonance); double d = sqrt((4 - sqrt(16 - 16 / (g * g))) / 2); @@ -117,10 +99,10 @@ static void biquad_highpass(struct biquad *bq, double cutoff, double resonance) static void biquad_bandpass(struct biquad *bq, double frequency, double Q) { /* No negative frequencies allowed. */ - frequency = max(0.0, frequency); + frequency = fmax(0.0, frequency); /* Don't let Q go negative, which causes an unstable filter. */ - Q = max(0.0, Q); + Q = fmax(0.0, Q); if (frequency <= 0 || frequency >= 1) { /* When the cutoff is zero, the z-transform approaches 0, if Q @@ -158,7 +140,7 @@ static void biquad_bandpass(struct biquad *bq, double frequency, double Q) static void biquad_lowshelf(struct biquad *bq, double frequency, double db_gain) { /* Clip frequencies to between 0 and 1, inclusive. */ - frequency = max(0.0, min(frequency, 1.0)); + frequency = fmax(0.0, fmin(frequency, 1.0)); double A = pow(10.0, db_gain / 40); @@ -195,7 +177,7 @@ static void biquad_highshelf(struct biquad *bq, double frequency, double db_gain) { /* Clip frequencies to between 0 and 1, inclusive. */ - frequency = max(0.0, min(frequency, 1.0)); + frequency = fmax(0.0, fmin(frequency, 1.0)); double A = pow(10.0, db_gain / 40); @@ -232,10 +214,10 @@ static void biquad_peaking(struct biquad *bq, double frequency, double Q, double db_gain) { /* Clip frequencies to between 0 and 1, inclusive. */ - frequency = max(0.0, min(frequency, 1.0)); + frequency = fmax(0.0, fmin(frequency, 1.0)); /* Don't let Q go negative, which causes an unstable filter. */ - Q = max(0.0, Q); + Q = fmax(0.0, Q); double A = pow(10.0, db_gain / 40); @@ -270,10 +252,10 @@ static void biquad_peaking(struct biquad *bq, double frequency, double Q, static void biquad_notch(struct biquad *bq, double frequency, double Q) { /* Clip frequencies to between 0 and 1, inclusive. */ - frequency = max(0.0, min(frequency, 1.0)); + frequency = fmax(0.0, fmin(frequency, 1.0)); /* Don't let Q go negative, which causes an unstable filter. */ - Q = max(0.0, Q); + Q = fmax(0.0, Q); if (frequency <= 0 || frequency >= 1) { /* When frequency is 0 or 1, the z-transform is 1. */ @@ -306,10 +288,10 @@ static void biquad_notch(struct biquad *bq, double frequency, double Q) static void biquad_allpass(struct biquad *bq, double frequency, double Q) { /* Clip frequencies to between 0 and 1, inclusive. */ - frequency = max(0.0, min(frequency, 1.0)); + frequency = fmax(0.0, fmin(frequency, 1.0)); /* Don't let Q go negative, which causes an unstable filter. */ - Q = max(0.0, Q); + Q = fmax(0.0, Q); if (frequency <= 0 || frequency >= 1) { /* When frequency is 0 or 1, the z-transform is 1. */ diff --git a/src/modules/module-filter-chain/ladspa_plugin.c b/src/modules/module-filter-chain/ladspa_plugin.c index 3cce6e2ca..a34597709 100644 --- a/src/modules/module-filter-chain/ladspa_plugin.c +++ b/src/modules/module-filter-chain/ladspa_plugin.c @@ -80,39 +80,39 @@ static float get_default(struct fc_port *port, LADSPA_PortRangeHintDescriptor hi break; case LADSPA_HINT_DEFAULT_LOW: if (LADSPA_IS_HINT_LOGARITHMIC(hint)) - def = (LADSPA_Data) exp(log(lower) * 0.75 + log(upper) * 0.25); + def = (LADSPA_Data) expf(logf(lower) * 0.75f + logf(upper) * 0.25f); else - def = (LADSPA_Data) (lower * 0.75 + upper * 0.25); + def = (LADSPA_Data) (lower * 0.75f + upper * 0.25f); break; case LADSPA_HINT_DEFAULT_MIDDLE: if (LADSPA_IS_HINT_LOGARITHMIC(hint)) - def = (LADSPA_Data) exp(log(lower) * 0.5 + log(upper) * 0.5); + def = (LADSPA_Data) expf(logf(lower) * 0.5f + logf(upper) * 0.5f); else - def = (LADSPA_Data) (lower * 0.5 + upper * 0.5); + def = (LADSPA_Data) (lower * 0.5f + upper * 0.5f); break; case LADSPA_HINT_DEFAULT_HIGH: if (LADSPA_IS_HINT_LOGARITHMIC(hint)) - def = (LADSPA_Data) exp(log(lower) * 0.25 + log(upper) * 0.75); + def = (LADSPA_Data) expf(logf(lower) * 0.25f + logf(upper) * 0.75f); else - def = (LADSPA_Data) (lower * 0.25 + upper * 0.75); + def = (LADSPA_Data) (lower * 0.25f + upper * 0.75f); break; case LADSPA_HINT_DEFAULT_0: - def = 0; + def = 0.0f; break; case LADSPA_HINT_DEFAULT_1: - def = 1; + def = 1.0f; break; case LADSPA_HINT_DEFAULT_100: - def = 100; + def = 100.0f; break; case LADSPA_HINT_DEFAULT_440: - def = 440; + def = 440.0f; break; default: if (upper == lower) def = upper; else - def = SPA_CLAMP(0.5 * upper, lower, upper); + def = SPA_CLAMPF(0.5f * upper, lower, upper); break; } if (LADSPA_IS_HINT_INTEGER(hint))