summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_time_axis.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/route_time_axis.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/route_time_axis.cc')
-rw-r--r--gtk2_ardour/route_time_axis.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 81dbefcd29..119f1814d3 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -2486,7 +2486,7 @@ void add_region_to_list (RegionView* rv, Playlist::RegionList* l, uint32_t* max_
}
void
-RouteTimeAxisView::join_regions ()
+RouteTimeAxisView::combine_regions ()
{
assert (is_track());
@@ -2495,11 +2495,16 @@ RouteTimeAxisView::join_regions ()
}
Playlist::RegionList selected_regions;
+ boost::shared_ptr<Playlist> playlist = track()->playlist();
uint32_t max_level = 0;
_view->foreach_selected_regionview (sigc::bind (sigc::ptr_fun (add_region_to_list), &selected_regions, &max_level));
- uint32_t num_joined_regions = track()->playlist()->count_joined_regions();
- string name = string_compose (_("%1 combine-%2 (%3)"), track()->playlist()->name(), num_joined_regions+1, max_level+1);
- track()->playlist()->join (selected_regions, name);
+ uint32_t num_joined_regions = playlist->count_joined_regions();
+ string name = string_compose (_("%1 compound-%2 (%3)"), playlist->name(), num_joined_regions+1, max_level+1);
+
+
+ playlist->clear_changes ();
+ playlist->join (selected_regions, name);
+ _session->add_command (new StatefulDiffCommand (playlist));
}