From 23c2b751aa1f80d5129d13d4bda39ecc05ac2aac Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Sun, 15 Oct 2017 18:13:28 -0500 Subject: US2400: map knobs for mixbus strips, when selected. --- libs/ardour/ardour/route.h | 1 + libs/ardour/ardour/stripable.h | 2 ++ libs/ardour/route.cc | 13 +++++++++++++ 3 files changed, 16 insertions(+) (limited to 'libs/ardour') diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index 235ae2089b..520608b29e 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -527,6 +527,7 @@ public: boost::shared_ptr filter_slope_controllable (bool) const; boost::shared_ptr filter_enable_controllable (bool) const; + boost::shared_ptr tape_drive_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 28c8fe1d93..5c36b39d31 100644 --- a/libs/ardour/ardour/stripable.h +++ b/libs/ardour/ardour/stripable.h @@ -147,6 +147,8 @@ class LIBARDOUR_API Stripable : public SessionObject, virtual boost::shared_ptr filter_slope_controllable (bool hp) const = 0; virtual boost::shared_ptr filter_enable_controllable (bool hp) const = 0; + virtual boost::shared_ptr tape_drive_controllable () const { return boost::shared_ptr(); } + /* "well-known" controls for a compressor in this route. Any or all may * be null. */ diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index cb27b54472..4636d7957c 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -5420,6 +5420,19 @@ Route::filter_enable_controllable (bool) const #endif } +boost::shared_ptr +Route::tape_drive_controllable () const +{ +#ifdef MIXBUS + + if ( _ch_pre && (is_master() || mixbus()) ) { + return boost::dynamic_pointer_cast (_ch_pre->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 4))); + } + + return boost::shared_ptr(); +#endif +} + string Route::eq_band_name (uint32_t band) const { -- cgit v1.2.3