promote Playlist::RegionList to ARDOUR::RegionList; fix timefx on multiple regions, even regions of mixed type. this mostly involved some trivial code changes but to make the code simpler and less error prone, the API switched away from using RegionSelection (list of regionviews that catches regionviews vanishing) and used RegionList (lists of regions, no semantics) instead.

git-svn-id: svn://localhost/ardour2/branches/3.0@11362 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2012-01-27 16:29:01 +00:00
parent fc3be1d42c
commit 33c61757fc
12 changed files with 112 additions and 87 deletions

View file

@ -3304,15 +3304,16 @@ TimeFXDrag::finished (GdkEvent* /*event*/, bool movement_occurred)
}
#endif
// XXX how do timeFX on multiple regions ?
if (!_editor->get_selection().regions.empty()) {
/* primary will already be included in the selection, and edit
group shared editing will propagate selection across
equivalent regions, so just use the current region
selection.
*/
RegionSelection rs;
rs.add (_primary);
RegionSelection all = _editor->get_equivalent_regions (rs, ARDOUR::Properties::edit.property_id);
if (_editor->time_stretch (all, percentage) == -1) {
error << _("An error occurred while executing time stretch operation") << endmsg;
if (_editor->time_stretch (_editor->get_selection().regions, percentage) == -1) {
error << _("An error occurred while executing time stretch operation") << endmsg;
}
}
}