summaryrefslogtreecommitdiff
path: root/libs/surfaces/mackie/mackie_control_protocol.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/surfaces/mackie/mackie_control_protocol.cc')
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.cc12
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
{