From 8311607e5c2ffa16dde1b65b8e40b2ad77f8d70d Mon Sep 17 00:00:00 2001 From: "Julien \"_FrnchFrgg_\" RIVAUD" Date: Tue, 2 Aug 2016 21:28:22 +0200 Subject: [PATCH] Enable overriding the configuration penalty This is useful for exact matches that would otherwise need to duplicate the bookeeping done by FOUNDCFG() --- libs/ardour/luaproc.cc | 16 ++++++++++------ 1 file 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) -- 2.30.2