summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/route.h10
-rw-r--r--libs/ardour/ardour/stripable.h9
-rw-r--r--libs/ardour/ardour/vca.h12
-rw-r--r--libs/ardour/luabindings.cc6
-rw-r--r--libs/ardour/route.cc74
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();
}
}