diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-04-16 11:36:00 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-04-16 17:48:12 -0600 |
commit | ba424352a288b84b432980b32cdc07b60a89bc67 (patch) | |
tree | 0e69b4fb01a94f5a7de17024ac5aa2124a49fba7 /gtk2_ardour/selection.h | |
parent | abe275c3e0dd7188b814eb137b2714e73b822904 (diff) |
change Selection object to be more clear about the status of MidiRegionViews and notes
1) Notes are only present in a Selection object if it is being used as a cut buffer. They are never stored
there as part of "normal selection" - that is delegated/left to MidiRegionViews that own the notes.
2) MidiRegionViews are stored in the Selection as "just" RegionViews, so provide a convenience
method to access them. This doesn't actually change much, since even the old MidiRegions object
was actually just a RegionSelection i.e. RegionViews.
Diffstat (limited to 'gtk2_ardour/selection.h')
-rw-r--r-- | gtk2_ardour/selection.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/gtk2_ardour/selection.h b/gtk2_ardour/selection.h index 71230086b5..f7f3980f50 100644 --- a/gtk2_ardour/selection.h +++ b/gtk2_ardour/selection.h @@ -90,11 +90,15 @@ public: PlaylistSelection playlists; PointSelection points; MarkerSelection markers; - MidiRegionSelection midi_regions; /** only used when this class is used as a cut buffer */ MidiNoteSelection midi_notes; + /** we don't store MidiRegionViews in their own selection, we just pull + * them from "regions" as a convenience for various operations. + */ + MidiRegionSelection midi_regions(); + Selection (PublicEditor const * e, bool manage_libardour_selection); // Selection& operator= (const Selection& other); @@ -107,7 +111,6 @@ public: sigc::signal<void> PointsChanged; sigc::signal<void> MarkersChanged; sigc::signal<void> MidiNotesChanged; - sigc::signal<void> MidiRegionsChanged; void clear (); @@ -132,7 +135,6 @@ public: void set (const TrackViewList&); void set (const MidiNoteSelection&); void set (RegionView*, bool also_clear_tracks = true); - void set (MidiRegionView*); void set (std::vector<RegionView*>&); long set (samplepos_t, samplepos_t); void set_preserving_all_ranges (samplepos_t, samplepos_t); @@ -147,7 +149,6 @@ public: void toggle (const TrackViewList&); void toggle (const MidiNoteSelection&); void toggle (RegionView*); - void toggle (MidiRegionView*); void toggle (MidiCutBuffer*); void toggle (std::vector<RegionView*>&); long toggle (samplepos_t, samplepos_t); @@ -162,7 +163,6 @@ public: void add (const TrackViewList&); void add (const MidiNoteSelection&); void add (RegionView*); - void add (MidiRegionView*); void add (MidiCutBuffer*); void add (std::vector<RegionView*>&); long add (samplepos_t, samplepos_t); @@ -179,7 +179,6 @@ public: void remove (const TrackViewList&); void remove (const MidiNoteSelection&); void remove (RegionView*); - void remove (MidiRegionView*); void remove (MidiCutBuffer*); void remove (uint32_t selection_id); void remove (samplepos_t, samplepos_t); @@ -219,7 +218,6 @@ public: void clear_points (bool with_signal = true); void clear_markers (bool with_signal = true); void clear_midi_notes (bool with_signal = true); - void clear_midi_regions (bool with_signal = true); void foreach_region (void (ARDOUR::Region::*method)(void)); void foreach_regionview (void (RegionView::*method)(void)); |