From ed37553ecbcf1dace1b19b049976c8792e267180 Mon Sep 17 00:00:00 2001 From: Grayson Solis <109297237+grayson-solis@users.noreply.github.com> Date: Tue, 27 Jan 2026 12:05:40 -0500 Subject: [PATCH] Delete Items Properties/graysonsolis_Toggle grouping.lua Deleting my scripts from Reapack. Have to do it one at a time --- .../graysonsolis_Toggle grouping.lua | 60 ------------------- 1 file changed, 60 deletions(-) delete mode 100644 Items Properties/graysonsolis_Toggle grouping.lua diff --git a/Items Properties/graysonsolis_Toggle grouping.lua b/Items Properties/graysonsolis_Toggle grouping.lua deleted file mode 100644 index a0ef27a76..000000000 --- a/Items Properties/graysonsolis_Toggle grouping.lua +++ /dev/null @@ -1,60 +0,0 @@ --- @description Toggle grouping --- @author Grayson Solis --- @version 1.0 --- @screenshot Example: https://imgur.com/flmEK6P --- @about --- TOGGLE GROUPING BEHAVIOR: --- --- If you select: --- - One grouped item -> Ungroups it --- - One ungrouped item -> Does nothing --- - All ungrouped items -> it groups them together. --- - All grouped items (same group or not) -> it ungroups them. --- - A mix of grouped and ungrouped items -> it adds the ungrouped ones to the existing group. - -function GetNextGroupID() - local max_id = 0 - local item_count = reaper.CountMediaItems(0) - for i = 0, item_count - 1 do - local item = reaper.GetMediaItem(0, i) - local group_id = reaper.GetMediaItemInfo_Value(item, "I_GROUPID") - if group_id > max_id then - max_id = group_id - end - end - return max_id + 1 -end - -reaper.Undo_BeginBlock() -local sel_count = reaper.CountSelectedMediaItems(0) -if sel_count == 0 then return end -if sel_count == 1 and reaper.GetMediaItemInfo_Value(reaper.GetSelectedMediaItem(0, 0), "I_GROUPID") == 0 then return end -local group_id = nil -local has_grouped = false -local has_ungrouped = false -for i = 0, sel_count - 1 do - local item = reaper.GetSelectedMediaItem(0, i) - local id = reaper.GetMediaItemInfo_Value(item, "I_GROUPID") - if id > 0 then - has_grouped = true - group_id = group_id or id - else - has_ungrouped = true - end -end -if has_grouped and has_ungrouped then - for i = 0, sel_count - 1 do - reaper.SetMediaItemInfo_Value(reaper.GetSelectedMediaItem(0, i), "I_GROUPID", group_id) - end -elseif has_grouped and not has_ungrouped then - for i = 0, sel_count - 1 do - reaper.SetMediaItemInfo_Value(reaper.GetSelectedMediaItem(0, i), "I_GROUPID", 0) - end -else - local new_id = GetNextGroupID() - for i = 0, sel_count - 1 do - reaper.SetMediaItemInfo_Value(reaper.GetSelectedMediaItem(0, i), "I_GROUPID", new_id) - end -end -reaper.UpdateArrange() -reaper.Undo_EndBlock("Toggle grouping", -1)