diff --git a/share/scripts/blank_midi_region_clone.lua b/share/scripts/blank_midi_region_clone.lua new file mode 100644 index 0000000000..a4085362ea --- /dev/null +++ b/share/scripts/blank_midi_region_clone.lua @@ -0,0 +1,33 @@ +ardour { + ["type"] = "EditorAction", + name = "Create blank midi region clone", + version = "0.1.0", + license = "MIT", + author = "Daniel Appelt", + description = [[Create a blank clone of a midi region]] +} + +function factory () return function () + -- Get first selected region + local regionList = Editor:get_selection().regions:regionlist() + local region = regionList:front() + + -- Bail out if no region was selected + if region:isnil() then + LuaDialog.Message("Create blank midi region clone", "Please select a region first!", + LuaDialog.MessageType.Info, LuaDialog.ButtonType.Close):run() + return + end + + -- Get midi time axis view for region + local rv = Editor:regionview_from_region(region) + local tav = rv:get_time_axis_view() + local mtav = tav:to_midi_time_axis_view() + + if mtav then + local pos = region:position() + local len = region:length() + + mtav:add_region(pos, len, true) + end +end end