summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2017-05-10 11:31:03 -0500
committerRobin Gareus <robin@gareus.org>2017-05-12 15:44:01 +0200
commitefc2660fec0d01c4c47d3fffcc5443025b33afc0 (patch)
treebd0788bdfb187508c4e179e2883431ff118370cb /libs/ardour
parent8ba868e9334548ab03cd517e6c79d9f13d8ba7f2 (diff)
MCP: Mixbus32C: Restore missing filter controls to the Dyn page.
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/route.h5
-rw-r--r--libs/ardour/ardour/stripable.h4
-rw-r--r--libs/ardour/ardour/types.h4
-rw-r--r--libs/ardour/ardour/vca.h4
-rw-r--r--libs/ardour/route.cc32
5 files changed, 48 insertions, 1 deletions
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index e916bc403e..038e750d01 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -511,6 +511,11 @@ public:
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;
+
+
/* "well-known" controls for a compressor in this route. Any or all may
* be null.
*/
diff --git a/libs/ardour/ardour/stripable.h b/libs/ardour/ardour/stripable.h
index 7298a4807e..dea2d55c89 100644
--- a/libs/ardour/ardour/stripable.h
+++ b/libs/ardour/ardour/stripable.h
@@ -142,6 +142,10 @@ class LIBARDOUR_API Stripable : public SessionObject,
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;
+
/* "well-known" controls for a compressor in this route. Any or all may
* be null.
*/
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h
index 17a86fc6c5..0076a72a1f 100644
--- a/libs/ardour/ardour/types.h
+++ b/libs/ardour/ardour/types.h
@@ -160,8 +160,10 @@ namespace ARDOUR {
EQFrequency,
EQQ,
EQShape,
- EQHPF,
EQEnable,
+ EQHPF,
+ EQLPF,
+ EQFilterEnable,
CompThreshold,
CompSpeed,
CompMode,
diff --git a/libs/ardour/ardour/vca.h b/libs/ardour/ardour/vca.h
index 5cf06e4d69..8ef0b9d241 100644
--- a/libs/ardour/ardour/vca.h
+++ b/libs/ardour/ardour/vca.h
@@ -140,6 +140,10 @@ class LIBARDOUR_API VCA : public Stripable,
boost::shared_ptr<MonitorProcessor> monitor_control() const { return boost::shared_ptr<MonitorProcessor>(); }
boost::shared_ptr<MonitorControl> monitoring_control() const { return boost::shared_ptr<MonitorControl>(); }
+ //additional filter params (currently 32C only )
+ boost::shared_ptr<AutomationControl> eq_lpf_controllable () const { return boost::shared_ptr<AutomationControl>(); }
+ boost::shared_ptr<AutomationControl> filter_enable_controllable () const { return boost::shared_ptr<AutomationControl>(); }
+
private:
int32_t _number;
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index c6e3f157b3..dba71584e2 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -5113,6 +5113,38 @@ Route::eq_hpf_controllable () const
#endif
}
+boost::shared_ptr<AutomationControl>
+Route::eq_lpf_controllable () const
+{
+#ifdef MIXBUS32C
+ boost::shared_ptr<PluginInsert> eq = ch_eq();
+
+ if (!eq) {
+ return boost::shared_ptr<AutomationControl>();
+ }
+
+ return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (eq->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 6)));
+#else
+ return boost::shared_ptr<AutomationControl>();
+#endif
+}
+
+boost::shared_ptr<AutomationControl>
+Route::filter_enable_controllable () const
+{
+#ifdef MIXBUS32C
+ boost::shared_ptr<PluginInsert> eq = ch_eq();
+
+ if (!eq) {
+ return boost::shared_ptr<AutomationControl>();
+ }
+
+ return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (eq->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 2)));
+#else
+ return boost::shared_ptr<AutomationControl>();
+#endif
+}
+
string
Route::eq_band_name (uint32_t band) const
{