X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fselection.h;h=ac3c9330f0599890b3622746ecabe62e7e1b69c0;hb=041c8821438b2c6a83e1513fa2aedf7bbb8cbffd;hp=739d3b4c016e3ab290f2ace34d7be44922916753;hpb=f6fdd8dcbf41f864e9f0cc32dabe81fe3533ddfe;p=ardour.git diff --git a/gtk2_ardour/selection.h b/gtk2_ardour/selection.h index 739d3b4c01..ac3c9330f0 100644 --- a/gtk2_ardour/selection.h +++ b/gtk2_ardour/selection.h @@ -22,10 +22,11 @@ #include #include +#include #include -#include "pbd/scoped_connections.h" +#include "pbd/signals.h" #include "time_selection.h" #include "region_selection.h" @@ -42,6 +43,9 @@ class RegionView; class Selectable; class PublicEditor; class MidiRegionView; +class AutomationLine; +class ControlPoint; + namespace ARDOUR { class Region; @@ -84,9 +88,7 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList MidiRegionSelection midi_regions; MidiNoteSelection midi_notes; - Selection (PublicEditor const * e) : tracks (e), editor (e), next_time_id (0) { - clear(); - } + Selection (PublicEditor const * e); // Selection& operator= (const Selection& other); @@ -109,9 +111,9 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList bool selected (RegionView*); bool selected (Marker*); - void set (std::list&); - void add (std::list&); - void toggle (std::list&); + void set (std::list const &); + void add (std::list const &); + void toggle (std::list const &); void set (TimeAxisView*); void set (const TrackViewList&); @@ -119,11 +121,12 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList void set (RegionView*, bool also_clear_tracks = true); void set (MidiRegionView*); void set (std::vector&); - long set (nframes_t, nframes_t); + long set (framepos_t, framepos_t); + void set_preserving_all_ranges (framepos_t, framepos_t); void set (boost::shared_ptr); void set (boost::shared_ptr); void set (const std::list >&); - void set (AutomationSelectable*); + void set (ControlPoint *); void set (Marker*); void set (const RegionSelection&); @@ -134,11 +137,12 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList void toggle (MidiRegionView*); void toggle (MidiCutBuffer*); void toggle (std::vector&); - long toggle (nframes_t, nframes_t); + long toggle (framepos_t, framepos_t); void toggle (ARDOUR::AutomationList*); void toggle (boost::shared_ptr); void toggle (const std::list >&); - void toggle (const std::vector&); + void toggle (ControlPoint *); + void toggle (std::vector const &); void toggle (Marker*); void add (TimeAxisView*); @@ -148,10 +152,12 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList void add (MidiRegionView*); void add (MidiCutBuffer*); void add (std::vector&); - long add (nframes_t, nframes_t); + long add (framepos_t, framepos_t); void add (boost::shared_ptr); void add (boost::shared_ptr); void add (const std::list >&); + void add (ControlPoint *); + void add (std::vector const &); void add (Marker*); void add (const std::list&); void add (const RegionSelection&); @@ -162,14 +168,16 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList void remove (MidiRegionView*); void remove (MidiCutBuffer*); void remove (uint32_t selection_id); - void remove (nframes_t, nframes_t); + void remove (framepos_t, framepos_t); void remove (boost::shared_ptr); void remove (boost::shared_ptr); void remove (const std::list >&); void remove (const std::list&); void remove (Marker*); - void replace (uint32_t time_index, nframes_t start, nframes_t end); + void remove_regions (TimeAxisView *); + + void replace (uint32_t time_index, framepos_t start, framepos_t end); void clear_regions(); void clear_tracks (); @@ -186,12 +194,14 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList void foreach_midi_regionview (void (MidiRegionView::*method)(void)); template void foreach_region (void (ARDOUR::Region::*method)(A), A arg); + XMLNode& get_state () const; + int set_state (XMLNode const &, int); + private: - Selection (const Selection& other) {} + void set_point_selection_from_line (AutomationLine const &); + PublicEditor const * editor; uint32_t next_time_id; - - void add (std::vector&); }; bool operator==(const Selection& a, const Selection& b);