tags: reaper lua reascript The purpose here is to take all the items on a track, named `mytrack`, and rename them to something of the form `myproject_mytrack_001` where `001` is an incrementing counter. Having sorted through tracks from an old sample CD, categorised them by moving them to a relevant track (e.g. `hits` or `loops`), I wanted to automatically name them e.g. `loops_001`. This script **only works when each item has only one take**. To then mass export, you just select all the times, open the render window, and select `selected items` and use the wildcard `$item` in the render file name. ## The Code ```lua local prefix = "samplecdname" local ntracks = reaper.GetNumTracks() for i = 0,ntracks-1 do local track = reaper.GetTrack(0,i) local ret, trname = reaper.GetTrackName(track) local nitems = reaper.GetTrackNumMediaItems(track) for j = 0,nitems-1 do local item = reaper.GetTrackMediaItem(track,j) local take = reaper.GetTake(item,0) local ret, name = reaper.GetSetMediaItemTakeInfo_String(take,"P_NAME","",false) local newname = prefix.."_"..trname.."_"..string.format("%03d",j) -- fine if <1000 items per track reaper.GetSetMediaItemTakeInfo_St?ring(take,"P_NAME",newname,true) end end ``` ## Render Window ![]{cs}(AutoRenameTakes_MassExport.png)