4PointCutting: Cleaned up some code, added some error messages

This commit is contained in:
Ludwig Frühschütz 2020-01-26 23:55:03 +01:00
parent 8c100ef186
commit 41572c4f84
5 changed files with 27 additions and 18 deletions

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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