X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_routes.h;h=6118a2b057ba26fcc0019c63536be7c47c45b806;hb=b604dd24139b4c84f20521af91ec4c0cd721bd13;hp=2ade937eff362b822ed549729b82f602a819495b;hpb=67e21fd82ee3a2bf326b652b99484941bbb7efbb;p=ardour.git diff --git a/gtk2_ardour/editor_routes.h b/gtk2_ardour/editor_routes.h index 2ade937eff..6118a2b057 100644 --- a/gtk2_ardour/editor_routes.h +++ b/gtk2_ardour/editor_routes.h @@ -21,6 +21,7 @@ #define __ardour_gtk_editor_route_h__ #include "pbd/signals.h" +#include "gtkmm2ext/widget_state.h" #include "editor_component.h" class EditorRoutes : public EditorComponent, public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr @@ -41,6 +42,10 @@ public: _no_redisplay = true; } + void allow_redisplay () { + _no_redisplay = false; + } + void resume_redisplay () { _no_redisplay = false; redisplay (); @@ -54,10 +59,10 @@ public: std::list views () const; void hide_all_tracks (bool); void clear (); - void sync_order_keys (std::string const &); + void sync_order_keys_from_treeview (); + void reset_remote_control_ids (); private: - void initial_display (); void on_input_active_changed (std::string const &); void on_tv_rec_enable_changed (std::string const &); @@ -67,8 +72,10 @@ private: void on_tv_solo_safe_toggled (std::string const &); void build_menu (); void show_menu (); + void sync_treeview_from_order_keys (ARDOUR::RouteSortOrderKey); void route_deleted (Gtk::TreeModel::Path const &); void visible_changed (std::string const &); + void active_changed (std::string const &); void reordered (Gtk::TreeModel::Path const &, Gtk::TreeModel::iterator const &, int *); bool button_press (GdkEventButton *); void route_property_changed (const PBD::PropertyChange&, boost::weak_ptr); @@ -79,6 +86,7 @@ private: void update_solo_isolate_display (); void update_solo_safe_display (); void update_input_active_display (); + void update_active_display (); void set_all_tracks_visibility (bool); void set_all_audio_midi_visibility (int, bool); void show_all_routes (); @@ -95,7 +103,6 @@ private: Glib::RefPtr const &, gint, gint, Gtk::SelectionData const &, guint, guint ); - void track_list_reorder (Gtk::TreeModel::Path const &, Gtk::TreeModel::iterator const & iter, int* new_order); bool selection_filter (Glib::RefPtr const &, Gtk::TreeModel::Path const &, bool); void name_edit (std::string const &, std::string const &); void solo_changed_so_update_mute (); @@ -107,6 +114,7 @@ private: add (rec_state); add (mute_state); add (solo_state); + add (solo_visible); add (solo_isolate_state); add (solo_safe_state); add (is_track); @@ -115,6 +123,7 @@ private: add (name_editable); add (is_input_active); add (is_midi); + add (active); } Gtk::TreeModelColumn text; @@ -122,6 +131,8 @@ private: Gtk::TreeModelColumn rec_state; Gtk::TreeModelColumn mute_state; Gtk::TreeModelColumn solo_state; + /** true if the solo buttons are visible for this route, otherwise false */ + Gtk::TreeModelColumn solo_visible; Gtk::TreeModelColumn solo_isolate_state; Gtk::TreeModelColumn solo_safe_state; Gtk::TreeModelColumn is_track; @@ -130,6 +141,7 @@ private: Gtk::TreeModelColumn name_editable; Gtk::TreeModelColumn is_input_active; Gtk::TreeModelColumn is_midi; + Gtk::TreeModelColumn active; }; Gtk::ScrolledWindow _scroller; @@ -138,11 +150,11 @@ private: ModelColumns _columns; int _name_column; int _visible_column; + int _active_column; bool _ignore_reorder; bool _no_redisplay; - bool _redisplay_does_not_sync_order_keys; - bool _redisplay_does_not_reset_order_keys; + bool _adding_routes; Gtk::Menu* _menu; Gtk::Widget* old_focus;