13
0

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:
Julien "_FrnchFrgg_" RIVAUD 2016-08-01 15:01:44 +02:00
parent 4c7242545b
commit 0f00d51471

View File

@ -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 // caller must hold process lock (no concurrent calls to interpreter
_output_configs.clear (); _output_configs.clear ();
if (in.n_midi() > 0 && !_has_midi_input && !imprecise) {
return false;
}
lua_State* L = lua.getState (); lua_State* L = lua.getState ();
luabridge::LuaRef ioconfig = luabridge::getGlobal (L, "dsp_ioconfig"); luabridge::LuaRef ioconfig = luabridge::getGlobal (L, "dsp_ioconfig");
if (!ioconfig.isFunction ()) { 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 audio_in = in.n_audio ();
const int midi_in = in.n_midi ();
// preferred setting (provided by plugin_insert) // preferred setting (provided by plugin_insert)
const int preferred_out = out.n_audio (); 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_in = io["audio_in"].isNumber() ? io["audio_in"] : -1;
int possible_out = io["audio_out"].isNumber() ? io["audio_out"] : -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 // exact match
if ((possible_in == audio_in) && (possible_out == preferred_out)) { if ((possible_in == audio_in) && (possible_out == preferred_out)) {