top of page
- 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

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