summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-01-08 14:50:41 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-01-08 14:50:41 +0000
commitb5e414415685acfbbbd0edf1933a2dc851fdcabd (patch)
treee11b49c7b92169b6c07abe9b4b32d4096cedb5a8 /gtk2_ardour/editor_ops.cc
parenta6ab33815a7adee67b5222c05481be151c572793 (diff)
fix control layout size allocation (nearly done) and make duplicate region even more useful for multiple selected regions
git-svn-id: svn://localhost/trunk/ardour2@250 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index ce60c18807..e9439b60d6 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -3279,10 +3279,13 @@ void
Editor::duplicate_some_regions (AudioRegionSelection& regions, float times)
{
Playlist *playlist;
-
+ AudioRegionSelection sel = regions; // clear (below) will clear the argument list
+
begin_reversible_command (_("duplicate region"));
- for (AudioRegionSelection::iterator i = regions.begin(); i != regions.end(); ++i) {
+ selection->clear_audio_regions ();
+
+ for (AudioRegionSelection::iterator i = sel.begin(); i != sel.end(); ++i) {
Region& r ((*i)->region);
@@ -3296,11 +3299,12 @@ Editor::duplicate_some_regions (AudioRegionSelection& regions, float times)
session->add_redo_no_execute (playlist->get_memento());
c.disconnect ();
+
+ if (latest_regionview) {
+ selection->add (latest_regionview);
+ }
}
- if (latest_regionview) {
- selection->set (latest_regionview);
- }
commit_reversible_command ();
}