Selection: Region Operations in a Slot need a RegionView proxy (ToDo)

This commit is contained in:
Ben Loftis 2021-12-01 08:06:30 -06:00
parent 1489fabbcd
commit 9d0d8e1785
3 changed files with 19 additions and 3 deletions

View File

@ -5309,9 +5309,8 @@ Editor::get_regions_from_selection_and_mouse (timepos_t const & pos)
return regions; return regions;
} }
/** Start with regions that are selected, or the entered regionview if none are selected. /** Start with the selected Region(s) or TriggerSlot
* Then add equivalent regions on tracks in the same active edit-enabled route group as any * if neither is found, try using the entered_regionview (region under the mouse).
* of the regions that we started with.
*/ */
RegionSelection RegionSelection
@ -5319,6 +5318,10 @@ Editor::get_regions_from_selection_and_entered () const
{ {
RegionSelection regions = selection->regions; RegionSelection regions = selection->regions;
if (regions.empty() && !selection->triggers.empty()) {
regions = selection->trigger_regionview_proxy();
}
if (regions.empty() && entered_regionview) { if (regions.empty() && entered_regionview) {
regions.add (entered_regionview); regions.add (entered_regionview);
} }

View File

@ -232,6 +232,13 @@ Selection::clear_triggers (bool with_signal)
} }
} }
RegionSelection
Selection::trigger_regionview_proxy () const
{
RegionSelection rs;
return rs;
}
void void
Selection::toggle (boost::shared_ptr<Playlist> pl) Selection::toggle (boost::shared_ptr<Playlist> pl)
{ {

View File

@ -131,6 +131,12 @@ public:
bool selected (ControlPoint*) const; bool selected (ControlPoint*) const;
bool selected (TriggerEntry*) const; bool selected (TriggerEntry*) const;
/* ToDo: some region operations (midi quantize, audio reverse) expect
* a RegionSelection (a list of regionviews). We're likely going to
* need a region_view + time_axis_view proxy, and this will get it.
*/
RegionSelection trigger_regionview_proxy () const;
void set (std::list<Selectable*> const &); void set (std::list<Selectable*> const &);
void add (std::list<Selectable*> const &); void add (std::list<Selectable*> const &);
void toggle (std::list<Selectable*> const &); void toggle (std::list<Selectable*> const &);