Skip to content

Commit

Permalink
Replace Xenakios adaptive delete with regular REAPER delete
Browse files Browse the repository at this point in the history
  • Loading branch information
chmaha committed Feb 3, 2025
1 parent 57f4cab commit 0b4b48d
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 41 deletions.
9 changes: 5 additions & 4 deletions ReaClassical/ReaClassical_3-point Insert Edit.lua
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
-- luacheck: ignore 113

for key in pairs(reaper) do _G[key] = reaper[key] end
local main, markers, select_matching_folder, split_at_dest_in, create_crossfades, clean_up
local main, markers, select_matching_folder, split_at_dest_marker, create_crossfades, clean_up
local lock_items, unlock_items, ripple_lock_mode, create_dest_in, return_xfade_length, xfade
local get_first_last_items, get_color_table, get_path, mark_as_edit
local copy_source, move_to_project_tab, save_last_assembly_item
Expand Down Expand Up @@ -104,7 +104,8 @@ function main()
end
Main_OnCommand(40020, 0) -- Remove time selection
move_to_project_tab(dest_proj)
split_at_dest_in()
split_at_dest_marker(997)
split_at_dest_marker(996)
Main_OnCommand(42398, 0) -- Item: Paste items/tracks
mark_as_edit()
unlock_items()
Expand Down Expand Up @@ -266,10 +267,10 @@ end

---------------------------------------------------------------------

function split_at_dest_in()
function split_at_dest_marker(num)
Main_OnCommand(40927, 0) -- Options: Enable auto-crossfade on split
Main_OnCommand(40939, 0) -- Track: Select track 01
GoToMarker(0, 996, false)
GoToMarker(0, num, false)
local select_under = NamedCommandLookup("_XENAKIOS_SELITEMSUNDEDCURSELTX")
Main_OnCommand(select_under, 0) -- Xenakios/SWS: Select items under edit cursor on selected tracks
Main_OnCommand(40034, 0) -- Item grouping: Select all items in groups
Expand Down
54 changes: 30 additions & 24 deletions ReaClassical/ReaClassical_Delete With Ripple.lua
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
for key in pairs(reaper) do _G[key] = reaper[key] end

local main, source_markers, select_matching_folder, lock_items
local unlock_items, ripple_lock_mode, return_xfade_length, xfade
local unlock_items, return_xfade_length, xfade
local split_at_source_marker

---------------------------------------------------------------------

Expand All @@ -38,25 +39,23 @@ function main()
Undo_BeginBlock()
Main_OnCommand(40927, 0) -- Options: Enable auto-crossfade on split
if source_markers() == 2 then
ripple_lock_mode()
local focus = NamedCommandLookup("_BR_FOCUS_ARRANGE_WND")
Main_OnCommand(focus, 0) -- BR_FOCUS_ARRANGE_WND
GoToMarker(0, 998, false)
Main_OnCommand(40310, 0) -- Ripple per-track
lock_items()
Main_OnCommand(40289, 0) -- Item: Unselect all items
split_at_source_marker(998)
Main_OnCommand(40625, 0) -- Time Selection: Set start point
GoToMarker(0, 999, false)
split_at_source_marker(999)
Main_OnCommand(40626, 0) -- Time Selection: Set end point
Main_OnCommand(40718, 0) -- Select all items on selected tracks in current time selection
Main_OnCommand(40034, 0) -- Item Grouping: Select all items in group(s)
local folder = GetSelectedTrack(0, 0)
if GetMediaTrackInfo_Value(folder, "IP_TRACKNUMBER") == 1 then
Main_OnCommand(40311, 0) -- Set ripple-all-tracks
else
Main_OnCommand(40310, 0) -- Set ripple-per-track
end
local delete = NamedCommandLookup("_XENAKIOS_TSADEL")
Main_OnCommand(delete, 0) -- XENAKIOS_TSADEL
-- local folder = GetSelectedTrack(0, 0)
-- if GetMediaTrackInfo_Value(folder, "IP_TRACKNUMBER") == 1 then
-- Main_OnCommand(40311, 0) -- Set ripple-all-tracks
-- else
-- Main_OnCommand(40310, 0) -- Set ripple-per-track
-- end
Main_OnCommand(40697, 0) -- Delete
Main_OnCommand(40630, 0) -- Go to start of time selection
unlock_items()
local xfade_len = return_xfade_length()
Expand All @@ -71,7 +70,6 @@ function main()
DeleteProjectMarker(NULL, 998, false)
DeleteProjectMarker(NULL, 999, false)
Main_OnCommand(40289, 0) -- Item: Unselect all items
Main_OnCommand(40310, 0) -- Ripple per-track
else
MB("Please use SOURCE-IN and SOURCE-OUT markers", "Delete With Ripple", 0)
end
Expand Down Expand Up @@ -141,16 +139,6 @@ end

---------------------------------------------------------------------

function ripple_lock_mode()
local _, original_ripple_lock_mode = get_config_var_string("ripplelockmode")
original_ripple_lock_mode = tonumber(original_ripple_lock_mode)
if original_ripple_lock_mode ~= 2 then
SNM_SetIntConfigVar("ripplelockmode", 2)
end
end

---------------------------------------------------------------------

function return_xfade_length()
local xfade_len = 0.035
local _, input = GetProjExtState(0, "ReaClassical", "Preferences")
Expand Down Expand Up @@ -180,4 +168,22 @@ end

---------------------------------------------------------------------

function split_at_source_marker(num)
Main_OnCommand(40769, 0) -- unselect all items/tracks etc
Main_OnCommand(40927, 0) -- Options: Enable auto-crossfade on split
GoToMarker(0, num, false)
select_matching_folder()
local select_under = NamedCommandLookup("_XENAKIOS_SELITEMSUNDEDCURSELTX")
Main_OnCommand(select_under, 0) -- Xenakios/SWS: Select items under edit cursor on selected tracks
Main_OnCommand(40034, 0) -- Item grouping: Select all items in groups
local selected_items = CountSelectedMediaItems(0)
Main_OnCommand(40912, 0) -- Options: Toggle auto-crossfade on split (OFF)
if selected_items > 0 then
Main_OnCommand(40186, 0) -- Item: Split items at edit or play cursor (ignoring grouping)
end
Main_OnCommand(40289, 0) -- Item: Unselect all items
end

---------------------------------------------------------------------

main()
12 changes: 6 additions & 6 deletions ReaClassical/ReaClassical_Insert with timestretching.lua
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.

for key in pairs(reaper) do _G[key] = reaper[key] end

local main, select_matching_folder, copy_source, split_at_dest_in
local main, select_matching_folder, copy_source, split_at_dest_marker
local create_crossfades, clean_up, lock_items, unlock_items, ripple_lock_mode
local return_xfade_length, xfade, get_first_last_items, markers
local mark_as_edit, move_to_project_tab, find_second_folder_track
Expand Down Expand Up @@ -72,16 +72,16 @@ function main()
Main_OnCommand(40020, 0) -- remove time selection
move_to_project_tab(dest_proj)
lock_items()
split_at_dest_in()
split_at_dest_marker(997)
split_at_dest_marker(996)
Main_OnCommand(40625, 0) -- Time Selection: Set start point
GoToMarker(0, 997, false)
Main_OnCommand(40626, 0) -- Time Selection: Set end point
Main_OnCommand(40718, 0) -- Select all items on selected tracks in current time selection
Main_OnCommand(40034, 0) -- Item Grouping: Select all items in group(s)
Main_OnCommand(40630, 0) -- Go to start of time selection
Main_OnCommand(40309, 0) -- ripple off
local delete = NamedCommandLookup("_XENAKIOS_TSADEL")
Main_OnCommand(delete, 0) -- Adaptive Delete
Main_OnCommand(40697, 0) -- Delete
Main_OnCommand(40289, 0) -- Item: Unselect all items

local state = GetToggleCommandState(1156)
Expand Down Expand Up @@ -205,10 +205,10 @@ end

---------------------------------------------------------------------

function split_at_dest_in()
function split_at_dest_marker(num)
Main_OnCommand(40927, 0) -- Options: Enable auto-crossfade on split
Main_OnCommand(40939, 0) -- Track: Select track 01
GoToMarker(0, 996, false)
GoToMarker(0, num, false)
local select_under = NamedCommandLookup("_XENAKIOS_SELITEMSUNDEDCURSELTX")
Main_OnCommand(select_under, 0) -- Xenakios/SWS: Select items under edit cursor on selected tracks
Main_OnCommand(40034, 0) -- Item grouping: Select all items in groups
Expand Down
14 changes: 7 additions & 7 deletions ReaClassical/ReaClassical_S-D Edit.lua
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
for key in pairs(reaper) do _G[key] = reaper[key] end

local main, markers, add_source_marker
local get_track_length, select_matching_folder, copy_source, split_at_dest_in
local get_track_length, select_matching_folder, copy_source, split_at_dest_marker
local create_crossfades, clean_up, lock_items, unlock_items
local ripple_lock_mode, return_xfade_length, xfade
local get_first_last_items, get_color_table, get_path, mark_as_edit
Expand Down Expand Up @@ -140,7 +140,8 @@ function main()
end
Main_OnCommand(40020, 0) -- remove time selection
move_to_project_tab(dest_proj)
split_at_dest_in()
split_at_dest_marker(997)
split_at_dest_marker(996)
Main_OnCommand(40625, 0) -- Time Selection: Set start point
GoToMarker(0, 997, false)
Main_OnCommand(40289, 0)
Expand All @@ -149,9 +150,8 @@ function main()
Main_OnCommand(40034, 0) -- Item Grouping: Select all items in group(s)
Main_OnCommand(40630, 0) -- Go to start of time selection
Main_OnCommand(40311, 0) -- Ripple-all mode
local delete = NamedCommandLookup("_XENAKIOS_TSADEL")
Main_OnCommand(delete, 0) -- Adaptive Delete
Main_OnCommand(42398, 0) -- Item: Paste items/tracks
Main_OnCommand(40697, 0) -- Delete
Main_OnCommand(42398, 0) -- Item: Paste items/tracks
mark_as_edit()
unlock_items()
create_crossfades()
Expand Down Expand Up @@ -326,11 +326,11 @@ end

---------------------------------------------------------------------

function split_at_dest_in()
function split_at_dest_marker(num)
Main_OnCommand(40769, 0) -- unselect all items/tracks etc
Main_OnCommand(40927, 0) -- Options: Enable auto-crossfade on split
Main_OnCommand(40939, 0) -- Track: Select track 01
GoToMarker(0, 996, false)
GoToMarker(0, num, false)
local select_under = NamedCommandLookup("_XENAKIOS_SELITEMSUNDEDCURSELTX")
Main_OnCommand(select_under, 0) -- Xenakios/SWS: Select items under edit cursor on selected tracks
Main_OnCommand(40034, 0) -- Item grouping: Select all items in groups
Expand Down

0 comments on commit 0b4b48d

Please sign in to comment.