X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fselection.h;h=3c14eb9a093000ccdf64954beb9e783e9af4c63e;hb=8b230014412b90b78240685b16a8d4e624cc5ce6;hp=df7212593f599b5a1eb1b90a5c496ab8c70f5f71;hpb=a4434809e147d7f091fd488d047c531ff4c344c9;p=ardour.git diff --git a/gtk2_ardour/selection.h b/gtk2_ardour/selection.h index df7212593f..3c14eb9a09 100644 --- a/gtk2_ardour/selection.h +++ b/gtk2_ardour/selection.h @@ -114,6 +114,7 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList bool selected (TimeAxisView*); bool selected (RegionView*); bool selected (Marker*); + bool selected (ControlPoint*); void set (std::list const &); void add (std::list const &); @@ -183,11 +184,26 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList void remove_regions (TimeAxisView *); + void move_time (framecnt_t); + void replace (uint32_t time_index, framepos_t start, framepos_t end); +/* + * A note about items in an editing Selection: + * At a high level, selections can include Tracks, Objects, or Time Ranges + * Range and Object selections are mutually exclusive. + * Selecting a Range will deselect all Objects, and vice versa. + * This is done to avoid confusion over what will happen in an operation such as Delete + * Tracks are somewhat orthogonal b/c editing operations don't apply to tracks. + * The Track selection isn't affected when ranges or objects are added. + */ + + void clear_time(); //clears any time selection ( i.e. Range ) + void clear_tracks (); //clears the track header selections + void clear_objects(); //clears the items listed below + + // these items get cleared wholesale in clear_objects void clear_regions(); - void clear_tracks (); - void clear_time(); void clear_lines (); void clear_playlists (); void clear_points ();