- 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 -
変更したい親トラックを選択
- 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