X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fselection.h;h=307a148c85be528871e29c1560aa8a98b2ba440c;hb=f413b83cb9fa50954969a3d849999e1890ce6690;hp=aa9510beedc8258322afea80ecbdbf0058667f75;hpb=fbe236999d48e592c3de7ce7450077593ccc3ce8;p=ardour.git diff --git a/gtk2_ardour/selection.h b/gtk2_ardour/selection.h index aa9510beed..307a148c85 100644 --- a/gtk2_ardour/selection.h +++ b/gtk2_ardour/selection.h @@ -90,12 +90,11 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList /** only used when this class is used as a cut buffer */ MidiNoteSelection midi_notes; - Selection (PublicEditor const * e); + Selection (PublicEditor const * e, bool manage_libardour_selection); // Selection& operator= (const Selection& other); sigc::signal RegionsChanged; - sigc::signal TracksChanged; sigc::signal TimeChanged; sigc::signal LinesChanged; sigc::signal PlaylistsChanged; @@ -104,17 +103,20 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList sigc::signal MidiNotesChanged; sigc::signal MidiRegionsChanged; - void block_tracks_changed (bool); - void clear (); + + /** check if all selections are empty + * @param internal_selection also check object internals (e.g midi notes, automation points), when false only check objects. + * @return true if nothing is selected. + */ bool empty (bool internal_selection = false); void dump_region_layers(); - bool selected (TimeAxisView*); - bool selected (RegionView*); - bool selected (ArdourMarker*); - bool selected (ControlPoint*); + bool selected (TimeAxisView*) const; + bool selected (RegionView*) const; + bool selected (ArdourMarker*) const; + bool selected (ControlPoint*) const; void set (std::list const &); void add (std::list const &); @@ -221,12 +223,16 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList XMLNode& get_state () const; int set_state (XMLNode const &, int); - std::list > > > > pending_midi_note_selection; + std::list > > pending_midi_note_selection; + + void core_selection_changed (PBD::PropertyChange const & pc); private: PublicEditor const * editor; uint32_t next_time_id; - bool _no_tracks_changed; + bool manage_libardour_selection; + + TrackViewList add_grouped_tracks (TrackViewList const & t); }; bool operator==(const Selection& a, const Selection& b);