diff options
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/route.h | 10 | ||||
-rw-r--r-- | libs/ardour/ardour/stripable.h | 9 | ||||
-rw-r--r-- | libs/ardour/ardour/vca.h | 12 | ||||
-rw-r--r-- | libs/ardour/luabindings.cc | 6 | ||||
-rw-r--r-- | libs/ardour/route.cc | 74 |
5 files changed, 62 insertions, 49 deletions
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index 038e750d01..0879071aca 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -504,16 +504,16 @@ public: */ uint32_t eq_band_cnt () const; std::string eq_band_name (uint32_t) const; + boost::shared_ptr<AutomationControl> eq_enable_controllable () const; boost::shared_ptr<AutomationControl> eq_gain_controllable (uint32_t band) const; boost::shared_ptr<AutomationControl> eq_freq_controllable (uint32_t band) const; boost::shared_ptr<AutomationControl> eq_q_controllable (uint32_t band) const; boost::shared_ptr<AutomationControl> eq_shape_controllable (uint32_t band) const; - boost::shared_ptr<AutomationControl> eq_enable_controllable () const; - boost::shared_ptr<AutomationControl> eq_hpf_controllable () const; - //additional filter params (currently 32C only ) - boost::shared_ptr<AutomationControl> eq_lpf_controllable () const; - boost::shared_ptr<AutomationControl> filter_enable_controllable () const; + //additional HP/LP filters + boost::shared_ptr<AutomationControl> filter_freq_controllable (bool hpf) const; + boost::shared_ptr<AutomationControl> filter_slope_controllable (bool) const; + boost::shared_ptr<AutomationControl> filter_enable_controllable (bool) const; /* "well-known" controls for a compressor in this route. Any or all may diff --git a/libs/ardour/ardour/stripable.h b/libs/ardour/ardour/stripable.h index dea2d55c89..b657ac6161 100644 --- a/libs/ardour/ardour/stripable.h +++ b/libs/ardour/ardour/stripable.h @@ -134,17 +134,16 @@ class LIBARDOUR_API Stripable : public SessionObject, * return of a null ptr (or an empty string for eq_band_name()). */ virtual uint32_t eq_band_cnt () const = 0; + virtual boost::shared_ptr<AutomationControl> eq_enable_controllable () const = 0; virtual std::string eq_band_name (uint32_t) const = 0; virtual boost::shared_ptr<AutomationControl> eq_gain_controllable (uint32_t band) const = 0; virtual boost::shared_ptr<AutomationControl> eq_freq_controllable (uint32_t band) const = 0; virtual boost::shared_ptr<AutomationControl> eq_q_controllable (uint32_t band) const = 0; virtual boost::shared_ptr<AutomationControl> eq_shape_controllable (uint32_t band) const = 0; - virtual boost::shared_ptr<AutomationControl> eq_enable_controllable () const = 0; - virtual boost::shared_ptr<AutomationControl> eq_hpf_controllable () const = 0; - //additional filter params (currently 32C only ) - virtual boost::shared_ptr<AutomationControl> eq_lpf_controllable () const = 0; - virtual boost::shared_ptr<AutomationControl> filter_enable_controllable () const = 0; + virtual boost::shared_ptr<AutomationControl> filter_freq_controllable (bool hp /* false for LPF*/) const = 0; + virtual boost::shared_ptr<AutomationControl> filter_slope_controllable (bool hp) const = 0; + virtual boost::shared_ptr<AutomationControl> filter_enable_controllable (bool hp) const = 0; /* "well-known" controls for a compressor in this route. Any or all may * be null. diff --git a/libs/ardour/ardour/vca.h b/libs/ardour/ardour/vca.h index 8ef0b9d241..fa0b08a2cf 100644 --- a/libs/ardour/ardour/vca.h +++ b/libs/ardour/ardour/vca.h @@ -119,12 +119,14 @@ class LIBARDOUR_API VCA : public Stripable, boost::shared_ptr<AutomationControl> pan_lfe_control() const { return boost::shared_ptr<AutomationControl>(); } uint32_t eq_band_cnt () const { return 0; } std::string eq_band_name (uint32_t) const { return std::string(); } - boost::shared_ptr<AutomationControl> eq_gain_controllable (uint32_t band) const { return boost::shared_ptr<AutomationControl>(); } - boost::shared_ptr<AutomationControl> eq_freq_controllable (uint32_t band) const { return boost::shared_ptr<AutomationControl>(); } - boost::shared_ptr<AutomationControl> eq_q_controllable (uint32_t band) const { return boost::shared_ptr<AutomationControl>(); } - boost::shared_ptr<AutomationControl> eq_shape_controllable (uint32_t band) const { return boost::shared_ptr<AutomationControl>(); } boost::shared_ptr<AutomationControl> eq_enable_controllable () const { return boost::shared_ptr<AutomationControl>(); } - boost::shared_ptr<AutomationControl> eq_hpf_controllable () const { return boost::shared_ptr<AutomationControl>(); } + boost::shared_ptr<AutomationControl> eq_gain_controllable (uint32_t) const { return boost::shared_ptr<AutomationControl>(); } + boost::shared_ptr<AutomationControl> eq_freq_controllable (uint32_t) const { return boost::shared_ptr<AutomationControl>(); } + boost::shared_ptr<AutomationControl> eq_q_controllable (uint32_t) const { return boost::shared_ptr<AutomationControl>(); } + boost::shared_ptr<AutomationControl> eq_shape_controllable (uint32_t) const { return boost::shared_ptr<AutomationControl>(); } + boost::shared_ptr<AutomationControl> filter_freq_controllable (bool) const { return boost::shared_ptr<AutomationControl>(); } + boost::shared_ptr<AutomationControl> filter_slope_controllable (bool) const { return boost::shared_ptr<AutomationControl>(); } + boost::shared_ptr<AutomationControl> filter_enable_controllable (bool) const { return boost::shared_ptr<AutomationControl>(); } boost::shared_ptr<AutomationControl> comp_enable_controllable () const { return boost::shared_ptr<AutomationControl>(); } boost::shared_ptr<AutomationControl> comp_threshold_controllable () const { return boost::shared_ptr<AutomationControl>(); } boost::shared_ptr<AutomationControl> comp_speed_controllable () const { return boost::shared_ptr<AutomationControl>(); } diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index bd7f8ada13..cfc5bb82d8 100644 --- a/libs/ardour/luabindings.cc +++ b/libs/ardour/luabindings.cc @@ -976,13 +976,15 @@ LuaBindings::common (lua_State* L) .addFunction ("comp_mode_name", &Stripable::comp_mode_name) .addFunction ("comp_speed_name", &Stripable::comp_speed_name) .addFunction ("eq_band_cnt ", &Stripable::eq_band_cnt) + .addFunction ("eq_enable_control ", &Stripable::eq_enable_controllable ) .addFunction ("eq_band_name", &Stripable::eq_band_name) .addFunction ("eq_gain_control", &Stripable::eq_gain_controllable) .addFunction ("eq_freq_control ", &Stripable::eq_freq_controllable ) .addFunction ("eq_q_control ", &Stripable::eq_q_controllable ) .addFunction ("eq_shape_control ", &Stripable::eq_shape_controllable ) - .addFunction ("eq_enable_control ", &Stripable::eq_enable_controllable ) - .addFunction ("eq_hpf_control ", &Stripable::eq_hpf_controllable ) + .addFunction ("filter_freq_controllable ", &Stripable::filter_freq_controllable ) + .addFunction ("filter_slope_controllable ", &Stripable::filter_slope_controllable ) + .addFunction ("filter_enable_controllable ", &Stripable::filter_enable_controllable ) .addFunction ("set_presentation_order", &Stripable::set_presentation_order) .addFunction ("presentation_info_ptr", &Stripable::presentation_info_ptr) diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 41d85bcda5..f3031aa15a 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -4968,7 +4968,7 @@ Route::eq_band_cnt () const if (is_master() || mixbus()) { return 3; } else { - return 6; + return 4; } #else return 3; @@ -5001,10 +5001,10 @@ Route::eq_gain_controllable (uint32_t band) const } else { #ifdef MIXBUS32C switch (band) { - case 2: port_number = 14; break; - case 3: port_number = 12; break; - case 4: port_number = 10; break; - case 5: port_number = 8; break; + case 0: port_number = 14; break; + case 1: port_number = 12; break; + case 2: port_number = 10; break; + case 3: port_number = 8; break; default: return boost::shared_ptr<AutomationControl>(); } @@ -5042,12 +5042,10 @@ Route::eq_freq_controllable (uint32_t band) const uint32_t port_number; #ifdef MIXBUS32C switch (band) { - case 0: port_number = 5; break; // HPF - case 1: port_number = 6; break; // LPF - case 2: port_number = 13; break; // lo - case 3: port_number = 11; break; // lo mid - case 4: port_number = 9; break; // hi mid - case 5: port_number = 7; break; // hi + case 0: port_number = 13; break; // lo + case 1: port_number = 11; break; // lo mid + case 2: port_number = 9; break; // hi mid + case 3: port_number = 7; break; // hi default: return boost::shared_ptr<AutomationControl>(); } @@ -5076,6 +5074,22 @@ Route::eq_q_controllable (uint32_t band) const boost::shared_ptr<AutomationControl> Route::eq_shape_controllable (uint32_t band) const { +#ifdef MIXBUS32C + boost::shared_ptr<PluginInsert> eq = ch_eq(); + if (is_master() || mixbus() || !eq) { + return boost::shared_ptr<AutomationControl>(); + } + switch (band) { + case 0: + return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (eq->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 4))); // lo bell + break; + case 3: + return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (eq->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 3))); // hi bell + break; + default: + break; + } +#endif return boost::shared_ptr<AutomationControl>(); } @@ -5096,7 +5110,7 @@ Route::eq_enable_controllable () const } boost::shared_ptr<AutomationControl> -Route::eq_hpf_controllable () const +Route::filter_freq_controllable (bool hpf) const { #ifdef MIXBUS boost::shared_ptr<PluginInsert> eq = ch_eq(); @@ -5104,11 +5118,19 @@ Route::eq_hpf_controllable () const if (is_master() || mixbus() || !eq) { return boost::shared_ptr<AutomationControl>(); } + if (hpf) { #ifdef MIXBUS32C - return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (eq->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 5))); + return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (eq->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 5))); // HPF freq #else - return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (eq->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 2))); + return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (eq->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 2))); #endif + } else { +#ifdef MIXBUS32C + return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (eq->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 6))); // LPF freq +#else + return boost::shared_ptr<AutomationControl>(); +#endif + } #else return boost::shared_ptr<AutomationControl>(); @@ -5116,23 +5138,13 @@ Route::eq_hpf_controllable () const } boost::shared_ptr<AutomationControl> -Route::eq_lpf_controllable () const +Route::filter_slope_controllable (bool) const { -#ifdef MIXBUS32C - boost::shared_ptr<PluginInsert> eq = ch_eq(); - - if (is_master() || mixbus() || !eq) { - return boost::shared_ptr<AutomationControl>(); - } - - return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (eq->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 4))); -#else return boost::shared_ptr<AutomationControl>(); -#endif } boost::shared_ptr<AutomationControl> -Route::filter_enable_controllable () const +Route::filter_enable_controllable (bool) const { #ifdef MIXBUS32C boost::shared_ptr<PluginInsert> eq = ch_eq(); @@ -5166,12 +5178,10 @@ Route::eq_band_name (uint32_t band) const #ifdef MIXBUS32C } else { switch (band) { - case 0: return _("HPF"); - case 1: return _("LPF"); - case 2: return _("lo"); - case 3: return _("lo mid"); - case 4: return _("hi mid"); - case 5: return _("hi"); + case 0: return _("lo"); + case 1: return _("lo mid"); + case 2: return _("hi mid"); + case 3: return _("hi"); default: return string(); } } |