basic uncombining (no post-facto region trimming)
[ardour.git] / gtk2_ardour / editor_ops.cc
index a6bba7d76c4a70990bc4e7680dada114923d2761..02bf220b4d268c12260ef2c7bb49603b7af3708a 100644 (file)
@@ -6434,3 +6434,30 @@ Editor::combine_regions ()
        commit_reversible_command ();
 }
 
+void
+Editor::uncombine_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());
+
+               if (rtv) {
+                       tracks.insert (rtv);
+               }
+       }
+
+       begin_reversible_command (_("uncombine regions"));
+
+       for (RTVS::iterator i = tracks.begin(); i != tracks.end(); ++i) {
+               (*i)->uncombine_regions ();
+       }
+
+       commit_reversible_command ();
+}
+