mackie: cleanup subview mode a little
[ardour.git] / libs / surfaces / mackie / mackie_control_protocol.h
index f5db7942516cf42693a7b2b3647682a60a37fba2..93e90c56f2b12ea50ea5f5b6af440d2a28b054f0 100644 (file)
@@ -111,6 +111,12 @@ class MackieControlProtocol
                Plugins,
        };
 
+       enum SubViewMode {
+               None,
+               EQ,
+               Dynamics,
+       };
+
        enum PotMode {
                Trim,
                Send,
@@ -143,6 +149,8 @@ class MackieControlProtocol
 
        FlipMode flip_mode () const { return _flip_mode; }
        ViewMode view_mode () const { return _view_mode; }
+       SubViewMode subview_mode () const { return _subview_mode; }
+       boost::shared_ptr<ARDOUR::Route> subview_route() const;
        PotMode pot_mode () const { return _pot_mode; }
        bool zoom_mode () const { return modifier_state() & MODIFIER_ZOOM; }
        bool     metering_active () const { return _metering_active; }
@@ -151,10 +159,13 @@ class MackieControlProtocol
        bool is_audio_track (boost::shared_ptr<ARDOUR::Route>) const;
        bool is_midi_track (boost::shared_ptr<ARDOUR::Route>) const;
        bool selected (boost::shared_ptr<ARDOUR::Route>) const;
+       boost::shared_ptr<ARDOUR::Route> first_selected_route () const;
 
        void set_view_mode (ViewMode);
+       void set_subview_mode (SubViewMode, boost::shared_ptr<ARDOUR::Route>);
        void set_flip_mode (FlipMode);
        void set_pot_mode (PotMode);
+       void pot_mode_globals ();
        void display_view_mode ();
 
        XMLNode& get_state ();
@@ -187,6 +198,7 @@ class MackieControlProtocol
 
        void handle_button_event (Mackie::Surface&, Mackie::Button& button, Mackie::ButtonState);
 
+       void notify_route_added_or_removed ();
        void notify_route_added (ARDOUR::RouteList &);
        void notify_remote_id_changed();
 
@@ -319,6 +331,8 @@ class MackieControlProtocol
        bool                     _scrub_mode;
        FlipMode                 _flip_mode;
        ViewMode                 _view_mode;
+       SubViewMode              _subview_mode;
+       boost::shared_ptr<ARDOUR::Route> _subview_route;
        PotMode                  _pot_mode;
        int                      _current_selected_track;
        int                      _modifier_state;