summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_time_axis.cc
diff options
context:
space:
mode:
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));
}