implement button for global solo
authorJohn Anderson <ardour@semiosix.com>
Sun, 11 Mar 2007 15:40:43 +0000 (15:40 +0000)
committerJohn Anderson <ardour@semiosix.com>
Sun, 11 Mar 2007 15:40:43 +0000 (15:40 +0000)
git-svn-id: svn://localhost/ardour2/trunk@1573 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/surfaces/mackie/TODO
libs/surfaces/mackie/mackie_control_protocol.cc
libs/surfaces/mackie/mackie_control_protocol.h

index af4bfeadef03e9f4f0f98dab4b5b3011cd164c9e..a9cb1b987870369135deb12220aa881ef88db2c3 100644 (file)
@@ -3,8 +3,9 @@
   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
@@ -16,7 +17,7 @@ Later
 * 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?
@@ -40,8 +41,5 @@ Actual 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.
index 7824f1cb815161e74b5e927515005b608329fb01..81d249588e9e0c81431f6fba11a395f5d0295697 100644 (file)
@@ -1272,6 +1272,18 @@ LedState MackieControlProtocol::clicking_release( Button & button )
        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
 /////////////////////////////////////
index ab773d4fb641294def0f53c589306eec1f9b33b2..d71979b46371975e7562ca911234b6dde6784502 100644 (file)
@@ -170,6 +170,9 @@ class MackieControlProtocol
        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();