diff options
author | John Anderson <ardour@semiosix.com> | 2007-07-17 10:17:59 +0000 |
---|---|---|
committer | John Anderson <ardour@semiosix.com> | 2007-07-17 10:17:59 +0000 |
commit | f2a9371d28231ef756a8a54550beda01cbd69c08 (patch) | |
tree | 0c226fbd7ba3dfdbbdcf4aeecc5b4b228911bbac /libs/surfaces/mackie/mackie_control_protocol.cc | |
parent | a1a859b1e8a4624da280cdf1715db117e0be74fc (diff) |
allow surface to work with linked panners on stereo input tracks/busses
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2137 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces/mackie/mackie_control_protocol.cc')
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc index 3be3508715..dac287a758 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.cc +++ b/libs/surfaces/mackie/mackie_control_protocol.cc @@ -876,7 +876,7 @@ void MackieControlProtocol::handle_control_event( SurfacePort & port, Control & { if ( route != 0 ) { - if ( route->panner().size() == 1 ) + if ( route->panner().size() == 1 || ( route->panner().size() == 2 && route->panner().linked() ) ) { // assume pan for now float xpos; @@ -1006,18 +1006,18 @@ void MackieControlProtocol::notify_name_changed( void *, RouteSignal * route_sig } } -// TODO deal with > 1 channel being panned void MackieControlProtocol::notify_panner_changed( RouteSignal * route_signal ) { try { Pot & pot = route_signal->strip().vpot(); - - if ( route_signal->route().panner().size() == 1 ) + const Panner & panner = route_signal->route().panner(); + cout << "panner from ardour" << panner.size() << " " << boolalpha << panner.linked() << endl; + if ( panner.size() == 1 || ( panner.size() == 2 && panner.linked() ) ) { float pos; - route_signal->route().panner()[0]->get_effective_position( pos); - route_signal->port().write( builder.build_led_ring( pot, ControlState( on, pos ) ) ); + route_signal->route().panner()[0]->get_effective_position( pos ); + route_signal->port().write( builder.build_led_ring( pot, ControlState( on, pos ), MackieMidiBuilder::midi_pot_mode_dot ) ); } else { |