Browse Source

4PointCutting: Restore arranger viewport after edit

master
Ludwig Frühschütz 4 years ago
parent
commit
66bca38638
1 changed files with 14 additions and 1 deletions
  1. +14
    -1
      4PointCutting/4Pcut_execute.lua

+ 14
- 1
4PointCutting/4Pcut_execute.lua View File

@ -12,6 +12,8 @@ local stored_timeSelStart = 0
local stored_timeSelEnd = 0
local stored_sel_tracks = {}
local stored_sel_items = {}
local stored_view_start = 0
local stored_view_end = 0
local mark_srcin_pos = -1
local mark_srcin_id = -1
local mark_srcout_pos = -1
@ -26,6 +28,12 @@ function msg(m)
reaper.ShowConsoleMsg(tostring(m) .. "\n")
end
-- Round number
function round(num, numDecimalPlaces)
local mult = 10^(numDecimalPlaces or 0)
return math.floor(num * mult + 0.5) / mult
end
-- Selects the source tracks, or, if not stored in rpp, selects all tracks
function select_src_tracks()
local tracks_str = ''
@ -104,6 +112,9 @@ end
-- Do stuff before actual edits...
reaper.Undo_BeginBlock()
--store viewport off arranger
stored_view_start, stored_view_end = reaper.GetSet_ArrangeView2(0, false, 0, 0)
-- Store cursor position, time selection, selected tracks, selected items
stored_cursorPos = reaper.GetCursorPosition()
stored_timeSelStart, stored_timeSelEnd = reaper.GetSet_LoopTimeRange(false, true, 0, 1, false)
@ -140,5 +151,7 @@ for _, item in ipairs(stored_sel_items) do
reaper.SetMediaItemSelected(item, true)
end
reaper.GetSet_LoopTimeRange(true, true, stored_timeSelStart, stored_timeSelEnd, false)
-- Restore view port of arranger
reaper.GetSet_ArrangeView2(0, true, 0, 0, stored_view_start, stored_view_end)
reaper.Undo_EndBlock('4 point cut: Execute', 4) -- 4 is a flag for actions concerning items
reaper.Undo_EndBlock('4 point cut: Execute', 4) -- 4 is a flag for actions concerning items

Loading…
Cancel
Save