summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-05-16 20:16:57 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-05-16 20:16:57 +0000
commit99aa8c6338e47b41143f799fdcb35d1699548076 (patch)
treea61140fd331b49a408894f00dcb8976cbb6543b8 /gtk2_ardour/editor_ops.cc
parent4b848856ebc2856bf7ab10a000cc88bdd3bc4a4a (diff)
rename join regions op as combine regions; save and restore nested playlists, sources, regions; add undo/redo for combine; fixup peakfile use/discovery
git-svn-id: svn://localhost/ardour2/branches/3.0@9528 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 07e68faf3d..a6bba7d76c 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -6403,7 +6403,7 @@ Editor::toggle_region_mute ()
}
void
-Editor::join_regions ()
+Editor::combine_regions ()
{
/* foreach track with selected regions, take all selected regions
and join them into a new region containing the subregions (as a
@@ -6413,6 +6413,10 @@ Editor::join_regions ()
typedef set<RouteTimeAxisView*> RTVS;
RTVS tracks;
+ if (selection->regions.empty()) {
+ return;
+ }
+
for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*>(&(*i)->get_time_axis_view());
@@ -6421,8 +6425,12 @@ Editor::join_regions ()
}
}
+ begin_reversible_command (_("combine regions"));
+
for (RTVS::iterator i = tracks.begin(); i != tracks.end(); ++i) {
- (*i)->join_regions ();
+ (*i)->combine_regions ();
}
+
+ commit_reversible_command ();
}