From eaa1dacf5fc9537cfff36e2339bd07aab348aa2e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 18 Sep 2016 01:10:53 +0200 Subject: ensure that Lua DSP scripts are configured (even with 0 channels) This fixes an issue with dsp_configure not being when there are only MIDI signals at the given insertion point. --- libs/ardour/luaproc.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libs/ardour/luaproc.cc') diff --git a/libs/ardour/luaproc.cc b/libs/ardour/luaproc.cc index 7b676167de..752aa8108f 100644 --- a/libs/ardour/luaproc.cc +++ b/libs/ardour/luaproc.cc @@ -61,6 +61,7 @@ LuaProc::LuaProc (AudioEngine& engine, , _designated_bypass_port (UINT32_MAX) , _control_data (0) , _shadow_data (0) + , _configured (false) , _has_midi_input (false) , _has_midi_output (false) { @@ -91,6 +92,7 @@ LuaProc::LuaProc (const LuaProc &other) , _designated_bypass_port (UINT32_MAX) , _control_data (0) , _shadow_data (0) + , _configured (false) , _has_midi_input (false) , _has_midi_output (false) { @@ -526,7 +528,7 @@ LuaProc::configure_io (ChanCount in, ChanCount out) _info->n_outputs = _selected_out; // configure the DSP if needed - if (in != _configured_in || out != _configured_out) { + if (in != _configured_in || out != _configured_out || !_configured) { lua_State* L = lua.getState (); luabridge::LuaRef lua_dsp_configure = luabridge::getGlobal (L, "dsp_configure"); if (lua_dsp_configure.type () == LUA_TFUNCTION) { @@ -563,6 +565,7 @@ LuaProc::configure_io (ChanCount in, ChanCount out) _info->n_inputs = lin; _info->n_outputs = lout; } + _configured = true; } catch (luabridge::LuaException const& e) { PBD::error << "LuaException: " << e.what () << "\n"; #ifndef NDEBUG -- cgit v1.2.3