Move a MIDI test in the table handling loop...
...to later enable that condition truthiness to depend on the loop iteration. The goal here is to prepare for the upcoming rewrite, without introducing any policy change for now. There is no behavior change because if all loop iterations are skipped, then \found will be false, and with \imprecise being null the last attempt will be skipped and we will return false.
This commit is contained in:
parent
4c7242545b
commit
0f00d51471
@ -346,10 +346,6 @@ LuaProc::can_support_io_configuration (const ChanCount& in, ChanCount& out, Chan
|
||||
// caller must hold process lock (no concurrent calls to interpreter
|
||||
_output_configs.clear ();
|
||||
|
||||
if (in.n_midi() > 0 && !_has_midi_input && !imprecise) {
|
||||
return false;
|
||||
}
|
||||
|
||||
lua_State* L = lua.getState ();
|
||||
luabridge::LuaRef ioconfig = luabridge::getGlobal (L, "dsp_ioconfig");
|
||||
if (!ioconfig.isFunction ()) {
|
||||
@ -379,6 +375,7 @@ LuaProc::can_support_io_configuration (const ChanCount& in, ChanCount& out, Chan
|
||||
}
|
||||
|
||||
const int audio_in = in.n_audio ();
|
||||
const int midi_in = in.n_midi ();
|
||||
|
||||
// preferred setting (provided by plugin_insert)
|
||||
const int preferred_out = out.n_audio ();
|
||||
@ -416,6 +413,11 @@ LuaProc::can_support_io_configuration (const ChanCount& in, ChanCount& out, Chan
|
||||
|
||||
int possible_in = io["audio_in"].isNumber() ? io["audio_in"] : -1;
|
||||
int possible_out = io["audio_out"].isNumber() ? io["audio_out"] : -1;
|
||||
int possible_midiin = _has_midi_input ? 1 : 0;
|
||||
|
||||
if (midi_in > 0 && possible_midiin == 0 && !imprecise) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// exact match
|
||||
if ((possible_in == audio_in) && (possible_out == preferred_out)) {
|
||||
|
Loading…
Reference in New Issue
Block a user