summaryrefslogtreecommitdiff
path: root/libs/ardour/luaproc.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/luaproc.cc')
-rw-r--r--libs/ardour/luaproc.cc6
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; }