From fc981d4399b0b2c67f06e4ebd5f3a4a531d63693 Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Fri, 31 May 2019 13:36:46 -0500 Subject: (Source List) Revert to displaying whole-file Regions instead of Sources. This preserves the stereo-ness of files that were imported or recorded in stereo. ToDo (maybe someday): provide a disclosure triangle that exposes the individual channels in a multichannel region --- gtk2_ardour/editor_sources.h | 43 ++++++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 15 deletions(-) (limited to 'gtk2_ardour/editor_sources.h') diff --git a/gtk2_ardour/editor_sources.h b/gtk2_ardour/editor_sources.h index 75ddf41b5c..5bcc9f5c2d 100644 --- a/gtk2_ardour/editor_sources.h +++ b/gtk2_ardour/editor_sources.h @@ -45,12 +45,10 @@ public: void clear (); - void remove_selected_sources (); - void selection_mapover (sigc::slot >); - boost::shared_ptr get_dragged_source (); - boost::shared_ptr get_single_selection (); + boost::shared_ptr get_dragged_region (); + boost::shared_ptr get_single_selection (); void block_change_connection (bool b) { _change_connection.block (b); @@ -60,6 +58,10 @@ public: _display.get_selection()->unselect_all (); } + //user actions + void remove_selected_sources (); + void recover_selected_sources(); + XMLNode& get_state () const; void set_state (const XMLNode &); @@ -72,12 +74,12 @@ private: add (natural_pos); add (path); add (color_); - add (source); + add (region); add (natural_s); } Gtk::TreeModelColumn name; - Gtk::TreeModelColumn > source; + Gtk::TreeModelColumn > region; Gtk::TreeModelColumn color_; Gtk::TreeModelColumn natural_pos; Gtk::TreeModelColumn path; @@ -91,8 +93,8 @@ private: void freeze_tree_model (); void thaw_tree_model (); - void source_changed (boost::shared_ptr); - void populate_row (Gtk::TreeModel::Row row, boost::shared_ptr source); + void source_changed (boost::shared_ptr); + void populate_row (Gtk::TreeModel::Row row, boost::shared_ptr region); void selection_changed (); sigc::connection _change_connection; @@ -113,11 +115,22 @@ private: void format_position (ARDOUR::samplepos_t pos, char* buf, size_t bufsize, bool onoff = true); - void add_source (boost::shared_ptr); - void remove_source (boost::shared_ptr); + void add_source (boost::shared_ptr); + void remove_source (boost::shared_ptr); void clock_format_changed (); + void redisplay (); + + void suspend_redisplay () { + _no_redisplay = true; + } + + void resume_redisplay () { + _no_redisplay = false; + redisplay (); + } + void drag_data_received ( Glib::RefPtr const &, gint, gint, Gtk::SelectionData const &, guint, guint ); @@ -126,19 +139,19 @@ private: Gtk::ScrolledWindow _scroller; Gtk::Frame _frame; - Gtkmm2ext::DnDTreeView > _display; + Gtkmm2ext::DnDTreeView > _display; Glib::RefPtr _model; - PBD::ScopedConnection source_property_connection; - - PBD::ScopedConnection source_added_connection; - PBD::ScopedConnection source_removed_connection; + PBD::ScopedConnection region_property_connection; + PBD::ScopedConnection check_new_region_connection; PBD::ScopedConnection editor_freeze_connection; PBD::ScopedConnection editor_thaw_connection; Selection* _selection; + + bool _no_redisplay; }; -- cgit v1.2.3