X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_routes.h;h=29e8b45dba685defd3cd2bc171e0deee4d3c0ff8;hb=6424a0eab93c85f8b1ff56334f779c1232dfe475;hp=8213e653ecae304aae19a3e6540119cb13bb5a8c;hpb=ad017365f7a73f8ba57f667cc1aa36478b48c50e;p=ardour.git diff --git a/gtk2_ardour/editor_routes.h b/gtk2_ardour/editor_routes.h index 8213e653ec..29e8b45dba 100644 --- a/gtk2_ardour/editor_routes.h +++ b/gtk2_ardour/editor_routes.h @@ -22,8 +22,11 @@ #include "pbd/signals.h" #include "gtkmm2ext/widget_state.h" + #include "editor_component.h" +class VCATimeAxisView; + class EditorRoutes : public EditorComponent, public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr { public: @@ -38,49 +41,55 @@ public: void move_selected_tracks (bool); void show_track_in_display (TimeAxisView &); + void suspend_redisplay () { - _no_redisplay = true; + if (!_no_redisplay) { + _no_redisplay = true; + _redisplay_on_resume = false; + } } void resume_redisplay () { _no_redisplay = false; - redisplay (); + if (_redisplay_on_resume) { + redisplay (); + } } void redisplay (); void update_visibility (); - void routes_added (std::list routes); + void time_axis_views_added (std::list); void route_removed (TimeAxisView *); void hide_track_in_display (TimeAxisView &); std::list views () const; void hide_all_tracks (bool); void clear (); - void sync_order_keys_from_treeview (); - void reset_remote_control_ids (); + void sync_presentation_info_from_treeview (); private: void initial_display (); void redisplay_real (); void on_input_active_changed (std::string const &); void on_tv_rec_enable_changed (std::string const &); + void on_tv_rec_safe_toggled (std::string const &); void on_tv_mute_enable_toggled (std::string const &); void on_tv_solo_enable_toggled (std::string const &); void on_tv_solo_isolate_toggled (std::string const &); void on_tv_solo_safe_toggled (std::string const &); void build_menu (); void show_menu (); - void sync_treeview_from_order_keys (); + void sync_treeview_from_presentation_info (); void row_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); + void route_property_changed (const PBD::PropertyChange&, boost::weak_ptr); void handle_gui_changes (std::string const &, void *); bool idle_update_mute_rec_solo_etc (); void update_rec_display (); void update_mute_display (); - void update_solo_display (bool); + void update_solo_display (); void update_solo_isolate_display (); void update_solo_safe_display (); void update_input_active_display (); @@ -98,6 +107,8 @@ private: void show_tracks_with_regions_at_playhead (); void selection_changed (); + int plugin_setup (boost::shared_ptr, boost::shared_ptr, ARDOUR::Route::PluginSetupOptions); + void display_drag_data_received ( Glib::RefPtr const &, gint, gint, Gtk::SelectionData const &, guint, guint ); @@ -111,6 +122,7 @@ private: add (text); add (visible); add (rec_state); + add (rec_safe); add (mute_state); add (solo_state); add (solo_visible); @@ -118,7 +130,7 @@ private: add (solo_safe_state); add (is_track); add (tv); - add (route); + add (stripable); add (name_editable); add (is_input_active); add (is_midi); @@ -128,6 +140,7 @@ private: Gtk::TreeModelColumn text; Gtk::TreeModelColumn visible; Gtk::TreeModelColumn rec_state; + Gtk::TreeModelColumn rec_safe; Gtk::TreeModelColumn mute_state; Gtk::TreeModelColumn solo_state; /** true if the solo buttons are visible for this route, otherwise false */ @@ -136,7 +149,7 @@ private: Gtk::TreeModelColumn solo_safe_state; Gtk::TreeModelColumn is_track; Gtk::TreeModelColumn tv; - Gtk::TreeModelColumn > route; + Gtk::TreeModelColumn > stripable; Gtk::TreeModelColumn name_editable; Gtk::TreeModelColumn is_input_active; Gtk::TreeModelColumn is_midi; @@ -155,6 +168,7 @@ private: bool _no_redisplay; bool _adding_routes; bool _route_deletion_in_progress; + bool _redisplay_on_resume; volatile gint _redisplay_active; volatile gint _queue_tv_update;