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:
parent
0f64e5ce84
commit
539c062ed2
@ -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); \
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user