top of page
- Script Code -

dofile(reaper.AZ_GetLuaInitPath())

require("reaper_AZSTOKE_BRONZE")

require("reaper_AZSTOKE_SILVER") 


function main()

    retval, imputList = reaper.AZ_GetUserInputList("",  1, "import path", "")

    

    if(retval == false) then

        return

    end


    importPath = imputList[1]

    

    filePathList = reaper.AZ_GetFilePathList(importPath, "wav")

    

    table.sort(filePathList)

    

    insertPos = 0

    preCharID = ""

    

    color, _, _, _ = reaper.AZ_GetRandomColor()


    reaper.AZ_DeleteAllRegion(0)

    

    for i, filePath in pairs(filePathList) do

    

        fileName = reaper.AZ_GetPathInfo(filePath)["FileNameWithoutExtension"]

        

        splitList =reaper.AZ_GetStringSplitList(fileName, "_")

        

        charID = splitList[1]

        voiceType = splitList[2]

        

        charTrack = reaper.AZ_InsertTrackSearchUniqueOnly(0, charID)

        

        reaper.AZ_SetTrackItemDepth(charTrack, 0)

        

        typeTrack = reaper.AZ_InsertUniqueChildTrack(charTrack, splitList[2])

        

           

        if preCharID ~= "" and  preCharID ~= charID then

            insertPos = insertPos + 2

            color, _, _, _ = reaper.AZ_GetRandomColor()

        end

        

        item = reaper.AZ_InsertMediaTrackItemSecond(typeTrack, filePath, 0, insertPos)

        

        

        itemStartPos = reaper.AZ_GetMediaItemStartTimeSeconds(item)

        itemEndPos = reaper.AZ_GetMediaItemEndTime(item)

        

        reaper.AZ_AddRegionMarker(0, itemStartPos, itemEndPos, fileName, -1, color)

        

        insertPos = itemEndPos + 1

        

        preCharID = charID

    

    end

 

end


main()

- Warm Up -

- Script Detail -

dofile(reaper.AZ_GetLuaInitPath())

require("reaper_AZSTOKE_BRONZE")

require("reaper_AZSTOKE_SILVER") 


・RIGDOCKSをインポート


function main()


・メインの処理を記載する関数を定義


    retval, imputList = reaper.AZ_GetUserInputList("",  1, "import path", "")


・ユーザー空の入力ダイアログを表示して、インポートするフォルダのパスを取得

    

    if(retval == false) then

        return

    end


・ダイアログがキャンセルされた場合は処理を終了する


    importPath = imputList[1]


・インポートするフォルダのパスを変数に格納

    

    filePathList = reaper.AZ_GetFilePathList(importPath, "wav")

    

・指定したフォルダ内のwavファイルのパスを取得


    table.sort(filePathList)


・ファイルパスのリストをソート


    insertPos = 0

    preCharID = ""


・アイテムの挿入位置と前回のキャラクターIDを初期化


    color, _, _, _ = reaper.AZ_GetRandomColor()


・ランダムな色を取得    


    reaper.AZ_DeleteAllRegion(0)


・プロジェクト内のリージョンを全て削除


    for i, filePath in pairs(filePathList) do

    

・取得したファイルパスごとに実行


        fileName = reaper.AZ_GetPathInfo(filePath)["FileNameWithoutExtension"]


・ファイル名を取得  


        splitList =reaper.AZ_GetStringSplitList(fileName, "_")


 ・ファイル名を"_"で分割してリスト化      

 

        charID = splitList[1]

        voiceType = splitList[2]


・ファイル名からキャラクターIDとボイスの種類を取得

        

        charTrack = reaper.AZ_InsertTrackSearchUniqueOnly(0, charID)


・キャラクターIDの名前のトラックを作成(既に存在する場合は取得のみ)

        

        reaper.AZ_SetTrackItemDepth(charTrack, 0)


・キャラクタートラックの深さを0に設定(最上位にする)

        

        typeTrack = reaper.AZ_InsertUniqueChildTrack(charTrack, splitList[2])


・ボイスの種類の名前の子トラックを作成(既に存在する場合は取得のみ)

           

        if preCharID ~= "" and  preCharID ~= charID then

            insertPos = insertPos + 2

            color, _, _, _ = reaper.AZ_GetRandomColor()

        end

        

・キャラクターIDが前回と異なる場合、挿入位置を2秒進めて色を変更


        item = reaper.AZ_InsertMediaTrackItemSecond(typeTrack, filePath, 0, insertPos)


・指定したトラックにアイテムを挿入        

        

        itemStartPos = reaper.AZ_GetMediaItemStartTimeSeconds(item)

        itemEndPos = reaper.AZ_GetMediaItemEndTime(item)

        

・挿入したアイテムの開始位置と終了位置を取得


        reaper.AZ_AddRegionMarker(0, itemStartPos, itemEndPos, fileName, -1, color)


・アイテムの位置にリージョンを追加

        

        insertPos = itemEndPos + 1


・次のアイテムの挿入位置を1秒進める

        

        preCharID = charID


・前回のキャラクターIDを更新

    

    end

 

end


main()


・メイン処理を実行

- API LINK -

Track

AZSTOKE_InsertTrackMediasFromFileName

ファイル名を考慮してトラックをインサート

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