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
|
end
|
||||||
|
|
||||||
-- START HERE vvvvvvvvvvvvvvvvvvvvvvvvvv
|
-- 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
|
-- run through all markers and get position of the 4 points
|
||||||
local nof_markers = 0
|
local nof_markers = 0
|
||||||
_, nof_markers, _ = reaper.CountProjectMarkers(0)
|
_, nof_markers, _ = reaper.CountProjectMarkers(0)
|
||||||
@ -121,6 +104,19 @@ end
|
|||||||
|
|
||||||
-- Do stuff before actual edits...
|
-- Do stuff before actual edits...
|
||||||
reaper.Undo_BeginBlock()
|
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
|
-- Set Source Time selection and Copy Items
|
||||||
reaper.GetSet_LoopTimeRange(true, false, mark_srcin_pos, mark_srcout_pos, false)
|
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')
|
retval, track_str = reaper.GetProjExtState(0, '4PointCut', 'dst_track')
|
||||||
if retval > 0 then -- variable exists in rpp
|
if retval > 0 then -- variable exists in rpp
|
||||||
reaper.SetOnlyTrackSelected(reaper.BR_GetMediaTrackByGUID(0, track_str))
|
reaper.SetOnlyTrackSelected(reaper.BR_GetMediaTrackByGUID(0, track_str))
|
||||||
|
else
|
||||||
|
reaper.ClearConsole()
|
||||||
|
msg('Destination track not specified, using first track as default!')
|
||||||
end
|
end
|
@ -28,4 +28,7 @@ if retval > 0 then -- variable exists in rpp
|
|||||||
for _, track in ipairs(tracks) do
|
for _, track in ipairs(tracks) do
|
||||||
reaper.SetTrackSelected(track, true)
|
reaper.SetTrackSelected(track, true)
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
reaper.ClearConsole()
|
||||||
|
msg('Source tracks not specified, using all tracks as default!')
|
||||||
end
|
end
|
@ -16,4 +16,7 @@ end
|
|||||||
if reaper.CountSelectedTracks(0) > 0 then
|
if reaper.CountSelectedTracks(0) > 0 then
|
||||||
local first_sel_track = reaper.GetTrackGUID(reaper.GetSelectedTrack(0, 0))
|
local first_sel_track = reaper.GetTrackGUID(reaper.GetSelectedTrack(0, 0))
|
||||||
reaper.SetProjExtState(0, '4PointCut', 'dst_track', first_sel_track)
|
reaper.SetProjExtState(0, '4PointCut', 'dst_track', first_sel_track)
|
||||||
|
else
|
||||||
|
reaper.ClearConsole()
|
||||||
|
msg('No track selected!')
|
||||||
end
|
end
|
@ -12,7 +12,11 @@ function msg(m)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- START HERE vvvvvvv
|
-- 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
|
-- get list of selected tracks and make string of GUIDs
|
||||||
local sel_tracks = ''
|
local sel_tracks = ''
|
||||||
for i = 0, reaper.CountSelectedTracks(0)-1 do
|
for i = 0, reaper.CountSelectedTracks(0)-1 do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user