13
0

Make the configuration penalty subtler about inputs

Instead of uniformly demote configurations with a non-matching audio
input count (using a penalty offset of 1000), also grade the
impreciseness of the configuration so that those with the nearest input
count are preferred. As for outputs, give a slightly higher handicap to
configuration with too many inputs with regard to the actual audio
inputs that can be fed to the plugin.

POLICY CHANGE: when only imprecise configurations are found the actually
selected one can be different (better) than before this commit.
This commit is contained in:
Julien "_FrnchFrgg_" RIVAUD 2016-08-04 09:45:33 +02:00
parent 0f64e5ce84
commit 539c062ed2

View File

@ -400,11 +400,10 @@ 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; } \
const float p = fabsf ((float)(out) - preferred_out) * \
(((out) > preferred_out) ? 1.1 : 1) \
+ fabsf ((float)(in) - audio_in) * \
(((in) > audio_in) ? 275 : 250); \
FOUNDCFG_PENALTY(in, out, p); \
}