float penalty = 9999;
bool found = false;
-#define FOUNDCFG_IMPRECISE(in, out) { \
- float p = fabsf ((float)(out) - preferred_out); \
- if (in != audio_in) { \
- p += 1000; \
- } \
+#define FOUNDCFG_PENALTY(in, out, p) { \
_output_configs.insert (out); \
- if ((out) > preferred_out) { p *= 1.1; } \
if (p < penalty) { \
audio_out = (out); \
if (imprecise) { \
} \
}
+#define FOUNDCFG_IMPRECISE(in, out) { \
+ float p = fabsf ((float)(out) - preferred_out); \
+ if (in != audio_in) { \
+ p += 1000; \
+ } \
+ if ((out) > preferred_out) { p *= 1.1; } \
+ FOUNDCFG_PENALTY(in, out, p); \
+}
+
#define FOUNDCFG(out) \
FOUNDCFG_IMPRECISE(audio_in, out)