Use selection->regions instead of Editor::get_regions_from_selection()
[ardour.git] / gtk2_ardour / editor_ops.cc
index aeb307dc773a66e292683b775d374afa735d34c3..9797c0ef7ee612a30af8d7e002d2e9ee2ef75fad 100644 (file)
@@ -44,6 +44,7 @@
 #include "ardour/dB.h"
 #include "ardour/location.h"
 #include "ardour/midi_region.h"
+#include "ardour/midi_track.h"
 #include "ardour/operations.h"
 #include "ardour/playlist_factory.h"
 #include "ardour/quantize.h"
@@ -3736,7 +3737,7 @@ Editor::cut_copy (CutCopyOp op)
        /* we only want to cut regions if some are selected */
 
        if (!selection->regions.empty()) {
-               rs = get_regions_from_selection ();
+               rs = selection->regions;
        }
 
        switch (effective_mouse_mode()) {
@@ -5051,6 +5052,33 @@ Editor::toggle_region_lock ()
        _session->commit_reversible_command ();
 }
 
+#ifdef WITH_VIDEOTIMELINE
+void
+Editor::toggle_region_video_lock ()
+{
+       if (_ignore_region_action) {
+               return;
+       }
+
+       RegionSelection rs = get_regions_from_selection_and_entered ();
+
+       if (!_session || rs.empty()) {
+               return;
+       }
+
+       _session->begin_reversible_command (_("Toggle Video Lock"));
+
+       for (RegionSelection::iterator i = rs.begin(); i != rs.end(); ++i) {
+               (*i)->region()->clear_changes ();
+               (*i)->region()->set_video_locked (!(*i)->region()->video_locked());
+               _session->add_command (new StatefulDiffCommand ((*i)->region()));
+       }
+
+       _session->commit_reversible_command ();
+}
+#endif
+
+
 void
 Editor::toggle_region_lock_style ()
 {