-------------------------------------- MK RazorEdit: Move Item to Track Below (Defer)----------------------- local r = reaper ----------------------Select only tracks of selected items----------------------------- function sel_tracks_items() -- selected_items_count = r.CountSelectedMediaItems(0) UnselectAllTracks() for i = 0, selected_items_count - 1 do item = r.GetSelectedMediaItem(0, i) -- Get selected item i if item then track = r.GetMediaItem_Track(item) r.SetTrackSelected(track, true) end end end function UnselectAllTracks() first_track = r.GetTrack(0, 0) if first_track then r.SetOnlyTrackSelected(first_track) r.SetTrackSelected(first_track, false) end end function RazorEditSelectionExists() for i=0, r.CountTracks(0)-1 do local retval, x = r.GetSetMediaTrackInfo_String(r.GetTrack(0,i), "P_RAZOREDITS", "string", false) if x ~= "" then return true end end--for return false end function Main() if RazorEditSelectionExists() == true then -- if selection or RE exist r.Main_OnCommand(40061, 0) -- split at selection sel_tracks_items() local tr, item2, track2 track2 = r.GetSelectedTrack(0, 0) item2 = r.GetSelectedMediaItem(0,0) if track2 == nil then return end track_check = r.GetMediaTrackInfo_Value(track2, "IP_TRACKNUMBER") -- if no track or wave item below tr = reaper.CSurf_TrackFromID( track_check+1, true ) if tr then r.MoveMediaItemToTrack( item2,tr) else r.InsertTrackAtIndex(track_check+1, false) -- create new track track_check = r.GetMediaTrackInfo_Value(r.GetSelectedTrack(0, 0), "IP_TRACKNUMBER") -- if no track or wave item below tr = reaper.CSurf_TrackFromID( track_check+1, true ) r.MoveMediaItemToTrack( item2,tr) end end reaper.defer(Main) end Main() ----------------------------------------------------------------------------------- -- Set ToolBar Button ON function SetButtonON() local is_new_value, filename, sec, cmd, mode, resolution, val = r.get_action_context() r.SetToggleCommandState( sec, cmd, 1 ) -- Set ON r.RefreshToolbar2( sec, cmd ) end -- Set ToolBar Button OFF function SetButtonOFF() local is_new_value, filename, sec, cmd, mode, resolution, val = r.get_action_context() r.SetToggleCommandState( sec, cmd, 0 ) -- Set OFF r.RefreshToolbar2( sec, cmd ) end ----------------------------------------------------------------------------------- SetButtonON() function OnExit() SetButtonOFF() end r.atexit(OnExit)