From 0b4b48d92ccd5c53429b31534c2f344c29d0ce8c Mon Sep 17 00:00:00 2001 From: chmaha Date: Mon, 3 Feb 2025 20:09:15 +0000 Subject: [PATCH] Replace Xenakios adaptive delete with regular REAPER delete --- .../ReaClassical_3-point Insert Edit.lua | 9 ++-- .../ReaClassical_Delete With Ripple.lua | 54 ++++++++++--------- ...eaClassical_Insert with timestretching.lua | 12 ++--- ReaClassical/ReaClassical_S-D Edit.lua | 14 ++--- 4 files changed, 48 insertions(+), 41 deletions(-) diff --git a/ReaClassical/ReaClassical_3-point Insert Edit.lua b/ReaClassical/ReaClassical_3-point Insert Edit.lua index 7c8f89c2..a0012fbc 100644 --- a/ReaClassical/ReaClassical_3-point Insert Edit.lua +++ b/ReaClassical/ReaClassical_3-point Insert Edit.lua @@ -21,7 +21,7 @@ along with this program. If not, see . -- 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 @@ -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() @@ -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 diff --git a/ReaClassical/ReaClassical_Delete With Ripple.lua b/ReaClassical/ReaClassical_Delete With Ripple.lua index 94221e84..16036f95 100644 --- a/ReaClassical/ReaClassical_Delete With Ripple.lua +++ b/ReaClassical/ReaClassical_Delete With Ripple.lua @@ -23,7 +23,8 @@ along with this program. If not, see . 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 --------------------------------------------------------------------- @@ -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() @@ -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 @@ -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") @@ -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() diff --git a/ReaClassical/ReaClassical_Insert with timestretching.lua b/ReaClassical/ReaClassical_Insert with timestretching.lua index 59fe70c1..22289efa 100644 --- a/ReaClassical/ReaClassical_Insert with timestretching.lua +++ b/ReaClassical/ReaClassical_Insert with timestretching.lua @@ -22,7 +22,7 @@ along with this program. If not, see . 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 @@ -72,7 +72,8 @@ 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 @@ -80,8 +81,7 @@ 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(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) @@ -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 diff --git a/ReaClassical/ReaClassical_S-D Edit.lua b/ReaClassical/ReaClassical_S-D Edit.lua index f4f54ef3..842bf323 100644 --- a/ReaClassical/ReaClassical_S-D Edit.lua +++ b/ReaClassical/ReaClassical_S-D Edit.lua @@ -23,7 +23,7 @@ along with this program. If not, see . 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 @@ -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) @@ -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() @@ -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