4PointCutting: Cleaned up some code, added some error messages
This commit is contained in:
parent
8c100ef186
commit
41572c4f84
@ -63,23 +63,6 @@ function select_dst_track_only()
|
||||
end
|
||||
|
||||
-- START HERE vvvvvvvvvvvvvvvvvvvvvvvvvv
|
||||
-- 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)
|
||||
for i = 0, reaper.CountSelectedTracks(0)-1 do
|
||||
stored_sel_tracks[i+1] = reaper.GetSelectedTrack(0, i)
|
||||
end
|
||||
for i = 0, reaper.CountSelectedMediaItems(0)-1 do
|
||||
stored_sel_items[i+1] = reaper.GetSelectedMediaItem(0, i)
|
||||
end
|
||||
if reaper.CountSelectedMediaItems(0) > 0 then
|
||||
reaper.Main_OnCommand(40289, 0) -- Unselect all items
|
||||
end
|
||||
if reaper.CountSelectedTracks(0) > 0then
|
||||
reaper.Main_OnCommand(40297, 0) -- Unselect all tracks
|
||||
end
|
||||
select_src_tracks()
|
||||
|
||||
-- run through all markers and get position of the 4 points
|
||||
local nof_markers = 0
|
||||
_, nof_markers, _ = reaper.CountProjectMarkers(0)
|
||||
@ -121,6 +104,19 @@ end
|
||||
|
||||
-- Do stuff before actual edits...
|
||||
reaper.Undo_BeginBlock()
|
||||
-- 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)
|
||||
for i = 0, reaper.CountSelectedTracks(0)-1 do
|
||||
stored_sel_tracks[i+1] = reaper.GetSelectedTrack(0, i)
|
||||
end
|
||||
for i = 0, reaper.CountSelectedMediaItems(0)-1 do
|
||||
stored_sel_items[i+1] = reaper.GetSelectedMediaItem(0, i)
|
||||
end
|
||||
-- unselect items and tracks, select source tracks
|
||||
reaper.Main_OnCommand(40289, 0) -- Unselect all items
|
||||
reaper.Main_OnCommand(40297, 0) -- Unselect all tracks
|
||||
select_src_tracks()
|
||||
|
||||
-- Set Source Time selection and Copy Items
|
||||
reaper.GetSet_LoopTimeRange(true, false, mark_srcin_pos, mark_srcout_pos, false)
|
||||
|
@ -18,4 +18,7 @@ local retval
|
||||
retval, track_str = reaper.GetProjExtState(0, '4PointCut', 'dst_track')
|
||||
if retval > 0 then -- variable exists in rpp
|
||||
reaper.SetOnlyTrackSelected(reaper.BR_GetMediaTrackByGUID(0, track_str))
|
||||
else
|
||||
reaper.ClearConsole()
|
||||
msg('Destination track not specified, using first track as default!')
|
||||
end
|
@ -28,4 +28,7 @@ if retval > 0 then -- variable exists in rpp
|
||||
for _, track in ipairs(tracks) do
|
||||
reaper.SetTrackSelected(track, true)
|
||||
end
|
||||
else
|
||||
reaper.ClearConsole()
|
||||
msg('Source tracks not specified, using all tracks as default!')
|
||||
end
|
@ -16,4 +16,7 @@ end
|
||||
if reaper.CountSelectedTracks(0) > 0 then
|
||||
local first_sel_track = reaper.GetTrackGUID(reaper.GetSelectedTrack(0, 0))
|
||||
reaper.SetProjExtState(0, '4PointCut', 'dst_track', first_sel_track)
|
||||
else
|
||||
reaper.ClearConsole()
|
||||
msg('No track selected!')
|
||||
end
|
@ -12,7 +12,11 @@ function msg(m)
|
||||
end
|
||||
|
||||
-- START HERE vvvvvvv
|
||||
|
||||
if reaper.CountSelectedTracks(0) <= 0 then
|
||||
reaper.ClearConsole()
|
||||
msg('No track selected!')
|
||||
return
|
||||
end
|
||||
-- get list of selected tracks and make string of GUIDs
|
||||
local sel_tracks = ''
|
||||
for i = 0, reaper.CountSelectedTracks(0)-1 do
|
||||
|
Loading…
x
Reference in New Issue
Block a user