Tweaks to Mixer and Monitor keybindings:
[ardour.git] / gtk2_ardour / mixer_ui.h
index 47f278e02e71ae3b866d625f67d733b7a82252de..aab4480d306c6b887cf7898010f00611e3289fe8 100644 (file)
@@ -80,7 +80,7 @@ protected:
        virtual bool row_drop_possible_vfunc (const Gtk::TreeModel::Path&, const Gtk::SelectionData&) const;
 };
 
-class Mixer_UI : public ArdourWidgets::Tabbable, public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr, public AxisViewProvider
+class Mixer_UI : public ArdourWidgets::Tabbable, public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr, public AxisViewProvider, public Gtkmm2ext::ActionMapOwner
 {
 public:
        static Mixer_UI* instance();
@@ -99,8 +99,7 @@ public:
        XMLNode& get_state ();
        int set_state (const XMLNode&, int /* version */);
 
-       void show_mixer_list (bool yn);
-       void show_monitor_section (bool);
+       void save_plugin_order_file ();
 
        void show_strip (MixerStrip *);
        void hide_strip (MixerStrip *);
@@ -113,7 +112,9 @@ public:
        void deselect_all_strip_processors();
        void delete_processors();
        void select_none ();
-       void select_all_tracks ();
+
+       void select_next_strip ();
+       void select_prev_strip ();
 
        void do_vca_assign (boost::shared_ptr<ARDOUR::VCA>);
        void do_vca_unassign (boost::shared_ptr<ARDOUR::VCA>);
@@ -131,6 +132,20 @@ public:
        void load_bindings ();
        Gtkmm2ext::Bindings*  bindings;
 
+       void toggle_mixer_list ();
+       void showhide_mixer_list (bool yn);
+
+       void toggle_monitor_section ();
+       void showhide_monitor_section (bool);
+
+       void toggle_vcas ();
+       void showhide_vcas (bool on);
+       
+#ifdef MIXBUS
+       void toggle_mixbuses ();
+       void showhide_mixbusses (bool on);
+#endif
+
 protected:
        void set_axis_targets_for_operation ();
        ARDOUR::AutomationControlSet selected_gaincontrols ();
@@ -335,6 +350,7 @@ private:
        bool vca_button_release_event (GdkEventButton*, VCAMasterStrip*);
 
        Width _strip_width;
+       double _spill_scroll_position;
 
        void presentation_info_changed (PBD::PropertyChange const &);
        void sync_treeview_from_presentation_info (PBD::PropertyChange const &);
@@ -362,6 +378,8 @@ private:
 
        friend class MixerGroupTabs;
 
+       void set_monitor_action_sensitivity (bool);
+
        void monitor_section_going_away ();
 
        void monitor_section_attached ();
@@ -384,16 +402,12 @@ private:
        /// true if we are in fullscreen mode
        bool _maximised;
 
-       // true if mixer list is visible
-       bool _show_mixer_list;
-
        bool _strip_selection_change_without_scroll;
 
        mutable boost::weak_ptr<ARDOUR::Stripable> spilled_strip;
 
        void escape ();
 
-       Gtkmm2ext::ActionMap myactions;
        RouteProcessorSelection _selection;
        AxisViewSelection _axis_targets;