diff options
-rw-r--r-- | libs/ardour/luaproc.cc | 16 |
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) |