top of page
- Script Code -

dofile(reaper.AZ_GetLuaInitPath())

require("reaper_AZSTOKE_SILVER")


allCount = reaper.AZ_GetMediaTypeCount(0,"")


--Mute Media Delete

for i = allCount-1,0,-1 do

mute = reaper.AZ_GetMediaMute(0,i)

if mute then

reaper.AZ_DeleteMedia(0,i)

end

end



depthList = reaper.AZ_GetTrackDepthList(0)

count = reaper.AZ_GetTrackCountSelect(0,0)

track,trackId = reaper.AZ_GetSelectedTrackFirstInfo(0)


for a = 0,1 do

for i = count-1,trackId,-1 do

allCount = reaper.AZ_GetTrackMediaTypeCount(0,i,"")

trackList,trackCount = reaper.AZ_GetTrackIdChildList(0,i)

if allCount == 0 and trackCount == 0 then

retval = reaper.AZ_DeleteTrackIdSelect(0,i,0)

end

end

count = reaper.AZ_GetTrackCountSelect(0,0)

for i = 0,count-1 do

track = reaper.AZ_GetTrackItemSelect(0,i,0)

for e, value in pairs(depthList) do

if track == depthList[e].Track then

retval = reaper.AZ_SetTrackItemDepth(track,depthList[e].Depth)

end

end

end

end


count = reaper.AZ_GetTrackCountSelect(0,1)


for i = 0,count-1 do

masterName = reaper.AZ_GetSelectedTrackIdName(0,i)

color = reaper.AZ_GetRandomColor()


reaper.AZ_SetSelectedTrackIdColor(0,i,color)

trackList = reaper.AZ_GetSelectedTrackIdChildList(0,i)

for e, value in pairs(trackList) do

reaper.AZ_SetTrackItemColor(trackList[e],color)

num = reaper.AZ_FormatNumDigit(e,2)

setName = masterName.."_"..num

reaper.AZ_SetTrackItemName(trackList[e],setName)

end


end

- Warm Up -

  • Select the parent track you want to change


- Script Detail -

dofile(reaper.AZ_GetLuaInitPath())

require("reaper_AZSTOKE_SILVER")


・SILVERAPIを利用可能にする


allCount = reaper.AZ_GetMediaTypeCount(0,"")


・プロジェクト内のメディアの数を出力してallCountに代入



--Mute Media Delete

for i = allCount-1,0,-1 do


・allCountから0に向けてForループ


   mute = reaper.AZ_GetMediaMute(0,i)


・各メディアのミュートを検知


   if mute then


・ミュートだった場合


      reaper.AZ_DeleteMedia(0,i)


・メディアを削除対応


   end

end



depthList = reaper.AZ_GetTrackDepthList(0)


・全トラックの階層を取得してdepthList配列に代入


count = reaper.AZ_GetTrackCountSelect(0,0)


・全トラック数を取得してcountに代入


track,trackId = reaper.AZ_GetSelectedTrackFirstInfo(0)


・選択トラックの先頭トラックを取得してtrackとtrackIdに代入


for a = 0,1 do 


・以下処理を2回ループさせる


    for i = count-1,trackId,-1 do


・トラックの数分0に向かってループ


       allCount = reaper.AZ_GetTrackMediaTypeCount(0,i,"")


・トラック内のメディア数を取得してallCountに代入


       trackList,trackCount = reaper.AZ_GetTrackIdChildList(0,i)


・トラックの子トラックをtrackListに代入 子トラックの数をtrackCountに代入


       if allCount == 0 and trackCount == 0 then


・メディアもなく、子トラックもない場合


          reaper.AZ_DeleteTrackIdSelect(0,i,0)


・トラックを削除


       end

    end

    count = reaper.AZ_GetTrackCountSelect(0,0)


・トラック削除後に再度トラック数を取得 countに代入


    for i = 0,count-1 do


・count分Forループ


        track = reaper.AZ_GetTrackItemSelect(0,i,0)


・各IDのトラックアイテムを取得


        for e, value in pairs(depthList) do


・階層リスト分Forループ


           if track == depthList[e].Track then


・階層に入っているトラックと各IDのトラックを検知


              reaper.AZ_SetTrackItemDepth(track,depthList[e].Depth)


・指定トラックの階層を設定


           end

        end

    end

end


count = reaper.AZ_GetTrackCountSelect(0,1)


・トラックの数を出力してcountに代入


for i = 0,count-1 do


・count分Forループ


   masterName = reaper.AZ_GetSelectedTrackIdName(0,i)


・選択トラックの名前を取得


   color = reaper.AZ_GetRandomColor()


・ランダムのカラー値を取得


   reaper.AZ_SetSelectedTrackIdColor(0,i,color)


・選択トラックにカラーを設定


   trackList = reaper.AZ_GetSelectedTrackIdChildList(0,i)


・選択トラックの子の配列を取得してtrackListに代入


   for e, value in pairs(trackList) do


・trackList分Forループ


       reaper.AZ_SetTrackItemColor(trackList[e],color)


・子のトラックアイテムにカラーを設定


       num = reaper.AZ_FormatNumDigit(e,2)


・順列番号に桁の文字列を出力 01/02/03/04


       setName = masterName.."_"..num


・選択トラックの名前に桁番号を付与してsetNameに代入


       reaper.AZ_SetTrackItemName(trackList[e],setName)


・各子トラックに名前を設定


   end


end

- API LINK -

Track

AZSTOKE_AllTrackOrganize

Delete/naming/coloring selected tracks at the beginning

01_BRONZE_ss_edited.png
01_SILVER_edited_edited.png
03_GOLD_edited_edited.png
bottom of page