- Script Code -
dofile(reaper.AZ_GetLuaInitPath())
require("reaper_AZSTOKE_BRONZE")
require("reaper_AZSTOKE_SILVER")
itemList = reaper.AZ_GetSelectedMediaItemList(0)
nowPos = reaper.AZ_GetPlayCursorPosition(0)
if #(itemList) > 0 then
setName = "select"
nameCheck = false
selectTrack = reaper.AZ_GetTrackItemSelect(0,0,1)
trList = reaper.AZ_GetTrackItemChildList(selectTrack)
if #(trList) > 0 then
for i, value in pairs(trList) do
trName = reaper.AZ_GetTrackItemName(value)
if trName == setName then
nameCheck = true
childTrack = value
childTrackId = reaper.AZ_GetTrackItemIndex(childTrack)
end
end
end
if nameCheck == false then
childTrack = reaper.AZ_InsertChildTrack(selectTrack)
reaper.AZ_SetTrackItemName(childTrack,setName)
childTrackId = reaper.AZ_GetTrackItemIndex(childTrack)
end
for i, value in pairs(itemList) do
if i == 1 then
interval = 2
else
interval = 0.5
end
reaper.CSurf_GoEnd()
pos = reaper.AZ_GetPlayCursorPosition(0)
pos = pos + interval
reaper.AZ_SetMediaItemMoveToTrack(value,childTrackId)
reaper.AZ_SetMediaItemStartTimeSeconds(value,pos)
end
end
reaper.AZ_SetPlayCursorPosition(0,0,nowPos)
- Warm Up -
- Script Detail -
dofile(reaper.AZ_GetLuaInitPath())
require("reaper_AZSTOKE_BRONZE")
require("reaper_AZSTOKE_SILVER")
・APIを利用可能にする
itemList = reaper.AZ_GetSelectedMediaItemList(0)
・選択メディアのリスト出力
nowPos = reaper.AZ_GetPlayCursorPosition(0)
・現在のカーソル位置を取得
if #(itemList) > 0 then
・選択メディアが一つでもある場合は以下を実行
setName = "select"
・トラック名を用意
nameCheck = false
・チェック用のBoolをFalseで用意
selectTrack = reaper.AZ_GetTrackItemSelect(0,0,1)
・選択トラックを取得
trList = reaper.AZ_GetTrackItemChildList(selectTrack)
・選択トラックの子をリストで取得
if #(trList) > 0 then
・子トラックが一つでもある場合は以下を実行
for i, value in pairs(trList) do
・トラックリスト分Forをループ実行
trName = reaper.AZ_GetTrackItemName(value)
・トラックの名前を取得
if trName == setName then
・トラックの名前と設定名前が一致した場合以下を実行
nameCheck = true
・selectの名前が一致するトラックがあるためtrueを設定
childTrack = value
・childTrackに一致したトラックを設定
childTrackId = reaper.AZ_GetTrackItemIndex(childTrack)
・childTrackからIdを取得
end
end
end
if nameCheck == false then
・nameCheckの判定がFalseになっている場合以下を実行
childTrack = reaper.AZ_InsertChildTrack(selectTrack)
・選択トラックの子にトラックを生成
reaper.AZ_SetTrackItemName(childTrack,setName)
・生成したトラックに"select"の名前を設定
childTrackId = reaper.AZ_GetTrackItemIndex(childTrack)
・生成したトラックのIdを取得
end
for i, value in pairs(itemList) do
・メディアリスト分Forループ再生
if i == 1 then
interval = 2
・最初の設定位置に2秒を設定
else
interval = 0.5
・以降は設定位置に0.5秒を設定
end
reaper.CSurf_GoEnd()
・カーソルを最後に設定
pos = reaper.AZ_GetPlayCursorPosition(0)
・最後に設定したカーソルの位置を取得
pos = pos + interval
・設定したインターバルの秒数を足してposに設定
reaper.AZ_SetMediaItemMoveToTrack(value,childTrackId)
・子トラックにメディアを移動
reaper.AZ_SetMediaItemStartTimeSeconds(value,pos)
・そのメディアをposの位置に移動
end
end
reaper.AZ_SetPlayCursorPosition(0,0,nowPos)
・最後に移動していたカーソルをもとに戻す
- API LINK -
Media
AZSTOKE_Media_OK_Reset_2
切り取ったOK音を並べ直す 改良版1


