Dup Ver Goto 📝

Move Edit Cursor

PT2/music/daw/reaper/scripts does not exist
To
49 lines, 172 words, 1681 chars Page 'MoveEditCursor1' does not exist.

Based on Selection

To end of all selected media

local i
local media_item, media_item_pos, media_item_len, media_item_end
local current_pos
local max_media_item_end = -1
current_pos = reaper.GetCursorPosition()
for i = 0,1000 do -- assuming fewer than 1000 media items selected
  media_item = reaper.GetSelectedMediaItem(0,i)
  if type(media_item) == "nil" then break end
  media_item_pos = reaper.GetMediaItemInfo_Value(media_item,"D_POSITION")
  media_item_len = reaper.GetMediaItemInfo_Value(media_item,"D_LENGTH")
  media_item_end = media_item_pos + media_item_len
  if media_item_end > max_media_item_end then
    max_media_item_end = media_item_end
  end
end
if max_media_item_end >= 0.0 then
  reaper.SetEditCurPos(max_media_item_end,true,false)
end

To next end of selected media

local i
local media_item, media_item_pos, media_item_len, media_item_end
local current_pos
local next_media_item_end = -1
current_pos = reaper.GetCursorPosition()
for i = 0,1000 do -- assuming fewer than 1000 media items selected
  media_item = reaper.GetSelectedMediaItem(0,i)
  if type(media_item) == "nil" then break end
  media_item_pos = reaper.GetMediaItemInfo_Value(media_item,"D_POSITION")
  media_item_len = reaper.GetMediaItemInfo_Value(media_item,"D_LENGTH")
  media_item_end = media_item_pos + media_item_len
  if media_item_end > current_pos then
    if next_media_item_end < 0 then
      next_media_item_end = media_item_end
    else
      if next_media_item_end > media_item_end then
        next_media_item_end = media_item_end
      end
    end
  end
end
if next_media_item_end >= 0.0 then
  reaper.SetEditCurPos(next_media_item_end,true,false)
end