From 41572c4f84918d9ee0005d5d401b8917e4dea7a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludwig=20Fr=C3=BChsch=C3=BCtz?= Date: Sun, 26 Jan 2020 23:55:03 +0100 Subject: [PATCH] 4PointCutting: Cleaned up some code, added some error messages --- 4PointCutting/4Pcut_execute.lua | 30 ++++++++++------------- 4PointCutting/4Pcut_select_dst-track.lua | 3 +++ 4PointCutting/4Pcut_select_src-tracks.lua | 3 +++ 4PointCutting/4Pcut_set_dst-track.lua | 3 +++ 4PointCutting/4Pcut_set_src-tracks.lua | 6 ++++- 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/4PointCutting/4Pcut_execute.lua b/4PointCutting/4Pcut_execute.lua index 2b6bf00..891afec 100644 --- a/4PointCutting/4Pcut_execute.lua +++ b/4PointCutting/4Pcut_execute.lua @@ -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) diff --git a/4PointCutting/4Pcut_select_dst-track.lua b/4PointCutting/4Pcut_select_dst-track.lua index 57e3d68..1b85236 100644 --- a/4PointCutting/4Pcut_select_dst-track.lua +++ b/4PointCutting/4Pcut_select_dst-track.lua @@ -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 \ No newline at end of file diff --git a/4PointCutting/4Pcut_select_src-tracks.lua b/4PointCutting/4Pcut_select_src-tracks.lua index 14efa95..ad19e91 100644 --- a/4PointCutting/4Pcut_select_src-tracks.lua +++ b/4PointCutting/4Pcut_select_src-tracks.lua @@ -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 \ No newline at end of file diff --git a/4PointCutting/4Pcut_set_dst-track.lua b/4PointCutting/4Pcut_set_dst-track.lua index adc81af..f038a25 100644 --- a/4PointCutting/4Pcut_set_dst-track.lua +++ b/4PointCutting/4Pcut_set_dst-track.lua @@ -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 \ No newline at end of file diff --git a/4PointCutting/4Pcut_set_src-tracks.lua b/4PointCutting/4Pcut_set_src-tracks.lua index 952e2c2..871fa1a 100644 --- a/4PointCutting/4Pcut_set_src-tracks.lua +++ b/4PointCutting/4Pcut_set_src-tracks.lua @@ -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