diff options
author | John Anderson <ardour@semiosix.com> | 2007-03-11 15:40:43 +0000 |
---|---|---|
committer | John Anderson <ardour@semiosix.com> | 2007-03-11 15:40:43 +0000 |
commit | a31394fa8d147741d360f87ccef61061e23afc9e (patch) | |
tree | a3c6632b64fa6b3c1766f1962bb18bb222a55d78 /libs/surfaces | |
parent | bfd6bdf392a0fffac8a2f7a0d9634e9d6ec14600 (diff) |
implement button for global solo
git-svn-id: svn://localhost/ardour2/trunk@1573 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces')
-rw-r--r-- | libs/surfaces/mackie/TODO | 8 | ||||
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.cc | 12 | ||||
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.h | 3 |
3 files changed, 18 insertions, 5 deletions
diff --git a/libs/surfaces/mackie/TODO b/libs/surfaces/mackie/TODO index af4bfeadef..a9cb1b9878 100644 --- a/libs/surfaces/mackie/TODO +++ b/libs/surfaces/mackie/TODO @@ -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. diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc index 7824f1cb81..81d249588e 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.cc +++ b/libs/surfaces/mackie/mackie_control_protocol.cc @@ -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 ///////////////////////////////////// diff --git a/libs/surfaces/mackie/mackie_control_protocol.h b/libs/surfaces/mackie/mackie_control_protocol.h index ab773d4fb6..d71979b463 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.h +++ b/libs/surfaces/mackie/mackie_control_protocol.h @@ -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(); |