try just removing all PLATFORM_WINDOWS conditionals in ipmidi code to see if it will...
[ardour.git] / libs / surfaces / mackie / mcp_buttons.cc
index fb6fbd3e5ad4469be945e13dc4b39d1270dcec50..6885acc97e244781ab0a65fb38e875f97a2a69b6 100644 (file)
@@ -504,13 +504,9 @@ MackieControlProtocol::ffwd_release (Button &)
 LedState
 MackieControlProtocol::loop_press (Button &)
 {
-       if (main_modifier_state() & MODIFIER_CONTROL) {
-               set_view_mode (Loop);
-               return on;
-       } else {
-               session->request_play_loop (!session->get_play_loop());
-               return none;
-       }
+       bool was_on = session->get_play_loop();
+       session->request_play_loop (!was_on);
+       return was_on ? off : on;
 }
 
 LedState
@@ -659,7 +655,8 @@ MackieControlProtocol::F8_release (Button &)
 LedState
 MackieControlProtocol::pan_press (Button &)
 {
-       return off;
+       set_pot_mode (Pan);
+       return none;
 }
 LedState
 MackieControlProtocol::pan_release (Button &)
@@ -674,7 +671,8 @@ MackieControlProtocol::plugin_press (Button &)
 LedState
 MackieControlProtocol::plugin_release (Button &)
 {
-       return none;
+       set_view_mode (Plugins);
+       return none; /* LED state set by set_view_mode */
 }
 LedState
 MackieControlProtocol::eq_press (Button &)
@@ -830,8 +828,8 @@ MackieControlProtocol::clearsolo_release (Mackie::Button&)
 Mackie::LedState
 MackieControlProtocol::track_press (Mackie::Button&)
 {
-
-       return off;
+       set_pot_mode (Trim);
+       return none;
 }
 Mackie::LedState
 MackieControlProtocol::track_release (Mackie::Button&)
@@ -841,13 +839,8 @@ MackieControlProtocol::track_release (Mackie::Button&)
 Mackie::LedState
 MackieControlProtocol::send_press (Mackie::Button&)
 {
-// code moved here from "sends_press"
-       //set_view_mode (Sends);
-       // Led state for vpot assignment should be radio button-ish
-       // Pressing any one should turn the rest off.
-       // but this is not implemented yet so leave off
-       //return on;
-       return off;
+       set_pot_mode (Send);
+       return none;
 }
 Mackie::LedState
 MackieControlProtocol::send_release (Mackie::Button&)
@@ -862,6 +855,7 @@ MackieControlProtocol::miditracks_press (Mackie::Button&)
 Mackie::LedState
 MackieControlProtocol::miditracks_release (Mackie::Button&)
 {
+       set_view_mode (MidiTracks);
        return none;
 }
 Mackie::LedState
@@ -882,6 +876,7 @@ MackieControlProtocol::audiotracks_press (Mackie::Button&)
 Mackie::LedState
 MackieControlProtocol::audiotracks_release (Mackie::Button&)
 {
+       set_view_mode (AudioTracks);
        return none;
 }
 Mackie::LedState
@@ -902,6 +897,7 @@ MackieControlProtocol::aux_press (Mackie::Button&)
 Mackie::LedState
 MackieControlProtocol::aux_release (Mackie::Button&)
 {
+       set_view_mode (Auxes);
        return none;
 }
 Mackie::LedState
@@ -912,6 +908,7 @@ MackieControlProtocol::busses_press (Mackie::Button&)
 Mackie::LedState
 MackieControlProtocol::busses_release (Mackie::Button&)
 {
+       set_view_mode (Busses);
        return none;
 }
 Mackie::LedState
@@ -932,6 +929,7 @@ MackieControlProtocol::user_press (Mackie::Button&)
 Mackie::LedState
 MackieControlProtocol::user_release (Mackie::Button&)
 {
+       set_view_mode (Selected);
        return none;
 }
 Mackie::LedState
@@ -997,6 +995,7 @@ MackieControlProtocol::click_release (Mackie::Button&)
 Mackie::LedState
 MackieControlProtocol::view_press (Mackie::Button&)
 {
+       set_view_mode (Mixer);
        return none;
 }
 Mackie::LedState