bool parameter_is_input (uint32_t) const;
bool parameter_is_output (uint32_t) const;
+ uint32_t designated_bypass_port () {
+ return _designated_bypass_port;
+ }
+
std::string state_node_name() const { return "luaproc"; }
void add_state (XMLNode *) const;
int set_state (const XMLNode&, int version);
std::vector<std::pair<bool, int> > _ctrl_params;
std::map<int, ARDOUR::ParameterDescriptor> _param_desc;
std::map<int, std::string> _param_doc;
+ uint32_t _designated_bypass_port;
float* _control_data;
float* _shadow_data;
, _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)
, _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)
_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; }