diff --git a/ReaClassical/ReaClassical_3-point Insert Edit.lua b/ReaClassical/ReaClassical_3-point Insert Edit.lua index e20b2672..58d78b03 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_marker, create_crossfades, clean_up +local main, markers, select_matching_folder, split_at_dest_in, 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 @@ -105,8 +105,9 @@ function main() end Main_OnCommand(40020, 0) -- Remove time selection move_to_project_tab(dest_proj) - split_at_dest_marker(996) - Main_OnCommand(42398, 0) -- Item: Paste items/tracks + split_at_dest_in() + local paste = NamedCommandLookup("_SWS_AWPASTE") + Main_OnCommand(paste, 0) -- SWS_AWPASTE mark_as_edit() unlock_items() local cur_pos, new_last_item = create_crossfades() @@ -115,6 +116,7 @@ function main() Main_OnCommand(40289, 0) -- Item: Unselect all items Main_OnCommand(40310, 0) -- Toggle ripple editing per-track create_dest_in(cur_pos) + move_to_project_tab(source_proj) local restore_view = NamedCommandLookup("_SWS_RESTOREVIEW") Main_OnCommand(restore_view, 0) @@ -266,10 +268,10 @@ end --------------------------------------------------------------------- -function split_at_dest_marker(num) +function split_at_dest_in() Main_OnCommand(40927, 0) -- Options: Enable auto-crossfade on split Main_OnCommand(40939, 0) -- Track: Select track 01 - GoToMarker(0, num, false) + GoToMarker(0, 996, 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 @@ -517,4 +519,4 @@ end --------------------------------------------------------------------- -main() +main() \ No newline at end of file diff --git a/ReaClassical/ReaClassical_Delete With Ripple.lua b/ReaClassical/ReaClassical_Delete With Ripple.lua index 62ce73a5..b2495199 100644 --- a/ReaClassical/ReaClassical_Delete With Ripple.lua +++ b/ReaClassical/ReaClassical_Delete With Ripple.lua @@ -23,8 +23,7 @@ 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, return_xfade_length, xfade -local split_at_source_marker +local unlock_items, ripple_lock_mode, return_xfade_length, xfade --------------------------------------------------------------------- @@ -37,24 +36,26 @@ end function main() PreventUIRefresh(1) Undo_BeginBlock() + Main_OnCommand(40927, 0) -- Options: Enable auto-crossfade on split Main_OnCommand(41121,0) -- Options: Disable trim content behind media items when editing if source_markers() == 2 then + ripple_lock_mode() local focus = NamedCommandLookup("_BR_FOCUS_ARRANGE_WND") Main_OnCommand(focus, 0) -- BR_FOCUS_ARRANGE_WND - Main_OnCommand(40310, 0) -- Ripple per-track + GoToMarker(0, 998, false) lock_items() - split_at_source_marker(998) + Main_OnCommand(40289, 0) -- Item: Unselect all items Main_OnCommand(40625, 0) -- Time Selection: Set start point - split_at_source_marker(999) + GoToMarker(0, 999, 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) - -- 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 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 Main_OnCommand(40630, 0) -- Go to start of time selection @@ -71,6 +72,7 @@ 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 @@ -140,6 +142,16 @@ 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") @@ -169,22 +181,4 @@ 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() +main() \ No newline at end of file diff --git a/ReaClassical/ReaClassical_Insert with timestretching.lua b/ReaClassical/ReaClassical_Insert with timestretching.lua index 0580d8a3..633cb7a3 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_marker +local main, select_matching_folder, copy_source, split_at_dest_in 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 @@ -38,8 +38,8 @@ end function main() PreventUIRefresh(1) Undo_BeginBlock() - Main_OnCommand(41121,0) -- Options: Disable trim content behind media items when editing ripple_lock_mode() + Main_OnCommand(41121,0) -- Options: Disable trim content behind media items when editing local proj_marker_count, source_proj, dest_proj, _, _, dest_count, _, _, source_count, _, _ = markers() if proj_marker_count == 1 then @@ -73,8 +73,7 @@ function main() Main_OnCommand(40020, 0) -- remove time selection move_to_project_tab(dest_proj) lock_items() - split_at_dest_marker(997) - split_at_dest_marker(996) + split_at_dest_in() Main_OnCommand(40625, 0) -- Time Selection: Set start point GoToMarker(0, 997, false) Main_OnCommand(40626, 0) -- Time Selection: Set end point @@ -83,7 +82,7 @@ function main() 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) -- XENAKIOS_TSADEL + Main_OnCommand(delete, 0) -- Adaptive Delete Main_OnCommand(40289, 0) -- Item: Unselect all items local state = GetToggleCommandState(1156) @@ -207,10 +206,10 @@ end --------------------------------------------------------------------- -function split_at_dest_marker(num) +function split_at_dest_in() Main_OnCommand(40927, 0) -- Options: Enable auto-crossfade on split Main_OnCommand(40939, 0) -- Track: Select track 01 - GoToMarker(0, num, false) + GoToMarker(0, 996, 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 @@ -501,4 +500,4 @@ end --------------------------------------------------------------------- -main() +main() \ No newline at end of file diff --git a/ReaClassical/ReaClassical_S-D Edit.lua b/ReaClassical/ReaClassical_S-D Edit.lua index 53b09fb1..bd9455cc 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_marker +local get_track_length, select_matching_folder, copy_source, split_at_dest_in 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 @@ -40,7 +40,7 @@ end function main() PreventUIRefresh(1) Undo_BeginBlock() - + Main_OnCommand(41121,0) -- Options: Disable trim content behind media items when editing local proj_marker_count, source_proj, dest_proj, dest_in, dest_out, dest_count, source_in, source_out, source_count, pos_table, track_number = markers() @@ -59,7 +59,6 @@ function main() return end - Main_OnCommand(41121,0) -- Options: Disable trim content behind media items when editing ripple_lock_mode() local colors = get_color_table() if dest_count + source_count == 3 and pos_table ~= nil then -- add one extra marker for 3-point editing @@ -141,8 +140,7 @@ function main() end Main_OnCommand(40020, 0) -- remove time selection move_to_project_tab(dest_proj) - split_at_dest_marker(997) - split_at_dest_marker(996) + split_at_dest_in() Main_OnCommand(40625, 0) -- Time Selection: Set start point GoToMarker(0, 997, false) Main_OnCommand(40289, 0) @@ -152,8 +150,9 @@ function main() 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) -- XENAKIOS_TSADEL - Main_OnCommand(42398, 0) -- Item: Paste items/tracks + Main_OnCommand(delete, 0) -- Adaptive Delete + local paste = NamedCommandLookup("_SWS_AWPASTE") + Main_OnCommand(paste, 0) -- SWS_AWPASTE mark_as_edit() unlock_items() create_crossfades() @@ -328,11 +327,11 @@ end --------------------------------------------------------------------- -function split_at_dest_marker(num) +function split_at_dest_in() 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, num, false) + GoToMarker(0, 996, 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 @@ -565,4 +564,4 @@ end --------------------------------------------------------------------- -main() +main() \ No newline at end of file