summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/luaproc.cc16
1 files changed, 10 insertions, 6 deletions
diff --git a/libs/ardour/luaproc.cc b/libs/ardour/luaproc.cc
index 52b567711d..27de050c31 100644
--- a/libs/ardour/luaproc.cc
+++ b/libs/ardour/luaproc.cc
@@ -385,13 +385,8 @@ LuaProc::can_support_io_configuration (const ChanCount& in, ChanCount& out, Chan
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) { \
@@ -404,6 +399,15 @@ LuaProc::can_support_io_configuration (const ChanCount& in, ChanCount& out, Chan
} \
}
+#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)