- Script Code -
dofile(reaper.AZ_GetLuaInitPath())
allCount,_ = reaper.AZ_GetTrackMediaTypeCount(0,1,"")
mediaList ={}
mediaInterval = 1
setMeidaRate = 0.7
for i = 1,allCount do
mediaList[i] = {}
mediaList[i]["media"]= reaper.AZ_GetMediaTrackItemSelect(0,1,i-1,0)
mediaList[i]["startPos"]= reaper.AZ_GetTrackMediaStartTimeSeconds(0,1,i-1)
reaper.AZ_SetTrackMediaRate(0,1,i-1,setMeidaRate)
mediaList[i]["length"]= reaper.AZ_GetTrackMediaLength(0,1,i-1)
end
for index, value in pairs(mediaList) do
if index == 1 then
startNextPos = mediaList[index].startPos+mediaList[index].length+mediaInterval
else
reaper.AZ_SetMediaItemStartTimeSeconds(mediaList[index].media,startNextPos)
startNextPos = startNextPos+mediaList[index].length+mediaInterval
end
end
- Warm Up -
プロジェクト内にメディアを複数設置
- Script Detail -
dofile(reaper.AZ_GetLuaInitPath())
allCount,_ = reaper.AZ_GetTrackMediaTypeCount(0,1,"")
指定トラックの全てのメディアの数(allCount)を取得
mediaList ={}
配列(medialist)を定義する
mediaInterval = 1
メディアの間隔値を変数として準備
setMeidaRate = 0.7
メディアの再生速度を変数として準備
for i = 1,allCount do
1から変数(allCount)分、ループさせる
mediaList[i] = {}
配列(mediaList[i])の中に配列{}を定義
mediaList[i]["media"]= reaper.AZ_GetMediaTrackItemSelect(0,1,i-1,0)
MeidaItemを取得し、mediaList[i]の["media"]に保存
mediaList[i]["startPos"]= reaper.AZ_GetTrackMediaStartTimeSeconds(0,1,i-1)
メディアの開始位置を取得し、mediaList[i]の["start"]に保存
reaper.AZ_SetTrackMediaRate(0,1,i-1,setMeidaRate)
メディアの再生速度を変数(setMediaRate)に設定
mediaList[i]["length"]= reaper.AZ_GetTrackMediaLength(0,1,i-1)
メディアの長さを取得し、mediaList[i]の["length"]に保存
end
for index, value in pairs(mediaList) do
配列(mediaList)の要素数だけ繰り返す
if index == 1 then
変数(index)が1の場合、下に続く
startNextPos = mediaList[index].startPos+mediaList[index].length+mediaInterval
配列mediaList[index]の開始位置+配列mediaList[index]のメディアの長さ+メディアの間隔値(1秒)を変数(startNextPos)にセット
else
if文 変数(index)の中身を確認
1つ目以外の場合、下に続く
reaper.AZ_SetMediaItemStartTimeSeconds(mediaList[index].media,startNextPos)
配列mediaList[index]のメディアを変数(startNextPos)にセット
startNextPos = startNextPos+mediaList[index].length+mediaInterval
変数(startNextPos)+配列mediaList[index]のメディアの長さ++メディアの間隔値(1秒)を変数(startNextPos)にセット
end
配列(mediaList)分、繰り返す
end
指定トラックの全てのメディアを0.7倍速になり、1秒間隔にならんでいる