diff options
Diffstat (limited to 'libs/surfaces/faderport/operations.cc')
-rw-r--r-- | libs/surfaces/faderport/operations.cc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/libs/surfaces/faderport/operations.cc b/libs/surfaces/faderport/operations.cc index fd9930be0c..73a8e25f51 100644 --- a/libs/surfaces/faderport/operations.cc +++ b/libs/surfaces/faderport/operations.cc @@ -19,6 +19,7 @@ #include "ardour/async_midi_port.h" #include "ardour/monitor_processor.h" +#include "ardour/pannable.h" #include "ardour/rc_configuration.h" #include "ardour/session.h" #include "ardour/track.h" @@ -205,3 +206,31 @@ FaderPort::use_monitor () } else { } } + +void +FaderPort::ardour_pan (int delta) +{ + if (!_current_route) { + return; + } + + boost::shared_ptr<Pannable> pannable = _current_route->pannable (); + + if (!pannable) { + return; + } + + boost::shared_ptr<AutomationControl> azimuth = pannable->pan_azimuth_control; + + if (!azimuth) { + return; + } + + azimuth->set_value (azimuth->interface_to_internal (azimuth->internal_to_interface (azimuth->get_value()) + (delta / 64.0))); +} + +void +FaderPort::mixbus_pan (int delta) +{ + +} |