Compare commits

..

No commits in common. "41572c4f84918d9ee0005d5d401b8917e4dea7a4" and "2ba98cd1dee77ea0fa1222cdd0d62bdfc5d5f142" have entirely different histories.

11 changed files with 26 additions and 122 deletions

View File

@ -1,12 +1,3 @@
-- Reaper Scripts for 4 point editing. This script executes "one edit" and copies source material from
-- already set source in/out markers to also set destination in/out markers.
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
local stored_cursorPos = 0
local stored_timeSelStart = 0
local stored_timeSelEnd = 0
@ -26,7 +17,6 @@ function msg(m)
reaper.ShowConsoleMsg(tostring(m) .. "\n")
end
-- Selects the source tracks, or, if not stored in rpp, selects all tracks
function select_src_tracks()
local tracks_str = ''
local tracks = {}
@ -39,6 +29,7 @@ function select_src_tracks()
table.insert(tracks, reaper.BR_GetMediaTrackByGUID(0, '{' .. str))
end
-- select tracks
--reaper.Main_OnCommand(40297, 0) -- Unselect all tracks
for _, track in ipairs(tracks) do
reaper.SetTrackSelected(track, true)
end
@ -50,7 +41,6 @@ function select_src_tracks()
end
end
-- Select the destination tracks, or, if not stored in rpp, the first track
function select_dst_track_only()
local track_str = ''
local retval
@ -63,6 +53,24 @@ 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
--reaper.Main_OnCommand(40769, 0)
select_src_tracks() -- select tracks specified in rpp (by using 4Pcut_set_src-tracks.lua)
-- run through all markers and get position of the 4 points
local nof_markers = 0
_, nof_markers, _ = reaper.CountProjectMarkers(0)
@ -104,26 +112,18 @@ 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)
reaper.Main_OnCommand(40718, 0) -- select items on selected tracks under time selection
reaper.Main_OnCommand(40060, 0) -- copy selected items under time selection 41383
-- reaper.Main_OnCommand( reaper.NamedCommandLookup('_SWS_SMARTCOPY'), 0 )
-- Move edit cursor to Dest-In and Paste
--reaper.GoToMarker(0, mark_dstin_id, false)
-- reaper.GetSet_LoopTimeRange(true, false, mark_dstin_pos, mark_dstout_pos, false)
reaper.MoveEditCursor(mark_dstin_pos - reaper.GetCursorPosition(), false)
select_dst_track_only()
reaper.Main_OnCommand(40058, 0) -- paste item

View File

@ -1,12 +1,3 @@
-- Reaper Script for 4 point editing. This script deletes all the special markers that are
-- used to define source and destination areas.
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
local nof_markers = 0
local id = -1
local name = ''

View File

@ -1,10 +1,2 @@
-- Reaper Scripts for 4 point editing. This script resets the source and destination tracks to "all" and "first".
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
reaper.SetProjExtState(0, '4PointCut', 'dst_track', '')
reaper.SetProjExtState(0, '4PointCut', 'src_tracks', '')

View File

@ -1,11 +1,3 @@
-- Reaper Scripts for 4 point editing. This script selects the previous set destination track
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
-- Send a message to the console
function msg(m)
reaper.ShowConsoleMsg(tostring(m) .. "\n")
@ -14,11 +6,8 @@ end
-- START HERE vvvvvvvvvvvvvvvvv
local track_str = ''
local retval
-- get the setting stored in rpp and select the track
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

@ -1,11 +1,3 @@
-- Reaper Scripts for 4 point editing. This script selects the previous set source tracks
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
-- Send a message to the console
function msg(m)
reaper.ShowConsoleMsg(tostring(m) .. "\n")
@ -16,7 +8,6 @@ local tracks_str = ''
local tracks = {}
local retval
-- get stored GUIDs from rpp and select the tracks
retval, tracks_str = reaper.GetProjExtState(0, '4PointCut', 'src_tracks')
if retval > 0 then -- variable exists in rpp
-- separate GUIDs and populate track table
@ -28,7 +19,4 @@ 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

@ -1,11 +1,3 @@
-- Reaper Scripts for 4 point editing. This script sets the Destination Start marker to the position of the edit cursor
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
local nof_markers = 0
local id = -1

View File

@ -1,11 +1,3 @@
-- Reaper Scripts for 4 point editing. This script sets the Destination End marker to the position of the edit cursor
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
local nof_markers = 0
local id = -1

View File

@ -1,11 +1,3 @@
-- Reaper Scripts for 4 point editing. This script sets the Source Start marker to the position of the edit cursor
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
local nof_markers = 0
local id = -1

View File

@ -1,11 +1,3 @@
-- Reaper Scripts for 4 point editing. This script sets the Source End marker to the position of the edit cursor
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
local nof_markers = 0
local id = -1

View File

@ -1,12 +1,3 @@
-- Reaper Scripts for 4 point editing. This script sets the Destination track and stores it to the rpp.
-- Only one (the first) selected track is used here.
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
-- Send a message to the console
function msg(m)
reaper.ShowConsoleMsg(tostring(m) .. "\n")
@ -16,7 +7,4 @@ 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

@ -1,22 +1,10 @@
-- Reaper Scripts for 4 point editing. This script sets the source tracks and stores it to the rpp.
-- Author: Ludwig Frühschütz
-- Source: https://www.eleton-audio.de
-- Git: https://files.eleton-audio.de/gitea/Ludwig/Reaper-Scripts.git
-- License: GPL v3.0
-- Requires: Reaper 5 or 6
-- Requires: This script goes with several other scripts that work closely together.
-- Send a message to the console
function msg(m)
reaper.ShowConsoleMsg(tostring(m) .. "\n")
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