diff options
Diffstat (limited to 'gtk2_ardour/route_time_axis.cc')
-rw-r--r-- | gtk2_ardour/route_time_axis.cc | 13 |
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)); } |