if the handler is not called in the "correct thread", it will use a pseudo-RT-safe-enough technique to get the correct thread to recall "handler" later on, and return.
* jog with transport rolling doesn't work properly. My use of ScrollTimeline also doesn't work.
+* make loop button sensitive to current transport state
* make sure rew button can go past the previous if pressed twice, relatively quickly.
-* finish button mapping.
+* finish button mapping. Only shifted buttons left for bcf.
* concurrency for bank switching? And make sure "old" events aren't sent to "new" faders
* TODOs in code
* removal of a route results in a strip that isn't dead, but doesn't have any effect on the session
* remove commented couts
* Queueing of writes?
* Generic surface code to common location
-* bulk remote id changes cause too many surface updates
+* bulk remote id changes cause too many surface updates. use Config->remote_model.
* which bank switching - overlap or dead faders? Option?
* signals for buttons?
* MackieControlProtocol in namespace Mackie?
Bugs
----
-* get_state isn't called on deactivate. Huh? What did I mean here?
-* routes "forget" their remote_id between session save and the next session load
* definitely something wrong with remote_id assignment on session create
(master strip assigned 0).
-* editor window doesn't update route remote_control_id when it's updated in mixer window.
return Config->get_clicking();
}
+LedState MackieControlProtocol::global_solo_press( Button & button )
+{
+ bool state = !session->soloing();
+ session->set_all_solo ( state );
+ return state;
+}
+
+LedState MackieControlProtocol::global_solo_release( Button & button )
+{
+ return session->soloing();
+}
+
/////////////////////////////////////
// Bank Switching
/////////////////////////////////////
virtual Mackie::LedState clicking_press( Mackie::Button & );
virtual Mackie::LedState clicking_release( Mackie::Button & );
+ virtual Mackie::LedState global_solo_press( Mackie::Button & );
+ virtual Mackie::LedState global_solo_release( Mackie::Button & );
+
protected:
// create instances of MackiePort, depending on what's found in ardour.rc
void create_ports();