implement designated enable/bypass port for lua-proc
This commit is contained in:
@@ -89,6 +89,10 @@ public:
|
||||
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);
|
||||
@@ -145,6 +149,7 @@ private:
|
||||
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;
|
||||
|
||||
@@ -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; }
|
||||
|
||||
Reference in New Issue
Block a user