diff options
Diffstat (limited to 'libs/ardour/luaproc.cc')
-rw-r--r-- | libs/ardour/luaproc.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/luaproc.cc b/libs/ardour/luaproc.cc index 26442aa32e..75d957779d 100644 --- a/libs/ardour/luaproc.cc +++ b/libs/ardour/luaproc.cc @@ -52,6 +52,7 @@ LuaProc::LuaProc (AudioEngine& engine, , _script (script) , _lua_does_channelmapping (false) , _lua_has_inline_display (false) + , _designated_bypass_port (UINT32_MAX) , _control_data (0) , _shadow_data (0) , _has_midi_input (false) @@ -75,6 +76,7 @@ LuaProc::LuaProc (const LuaProc &other) , _script (other.script ()) , _lua_does_channelmapping (false) , _lua_has_inline_display (false) + , _designated_bypass_port (UINT32_MAX) , _control_data (0) , _shadow_data (0) , _has_midi_input (false) @@ -286,6 +288,10 @@ LuaProc::load_script () _param_desc[pn].sr_dependent = lr["ratemult"].isBoolean () && (lr["ratemult"]).cast<bool> (); _param_desc[pn].enumeration = lr["enum"].isBoolean () && (lr["enum"]).cast<bool> (); + if (lr["bypass"].isBoolean () && (lr["bypass"]).cast<bool> ()) { + _designated_bypass_port = pn - 1; // lua table starts at 1. + } + if (lr["unit"].isString ()) { std::string unit = lr["unit"].cast<std::string> (); if (unit == "dB") { _param_desc[pn].unit = ParameterDescriptor::DB; } |