- Script Code -
dofile(reaper.AZ_GetLuaInitPath())
require("reaper_AZSTOKE_BRONZE")
require("reaper_AZSTOKE_SILVER")
require("reaper_AZSTOKE_GOLD")
filenamePrefix = "AZREC_"
function RenameMedias()
soundNameList = {}
trackCount = reaper.CountTracks(0)
soundTrackList = {}
for i = 0, trackCount - 1 do
if reaper.AZ_GetTrackIdDepth(0, i) == 0 then
table.insert(soundTrackList, reaper.GetTrack(0, i))
end
end
for i, soundTrack in pairs(soundTrackList) do
soundName = reaper.AZ_GetTrackItemName(soundTrack)
mileTrackList, _ = reaper.AZ_GetTrackItemChildList(soundTrack)
for j, mikeTrack in pairs(mileTrackList) do
mikeName = reaper.AZ_GetTrackItemName(mikeTrack)
mediaItemList = reaper.AZ_GetTrackMediaItemList(0, reaper.AZ_GetTrackItemIndex(mikeTrack))
soundIndex = 1
for k, media in pairs(mediaItemList) do
mediaName = reaper.AZ_GetMediaItemName(media)
mediaNemeComponent = reaper.AZ_GetStringSplitList(mediaName, "_")
if mediaNemeComponent[#mediaNemeComponent] ~= "ng" then
fileName = filenamePrefix.. soundName .. "_" .. mikeName .. "_" .. reaper.AZ_FormatNumDigit(soundIndex, 3)
reaper.AZ_SetMediaItemName(media, fileName)
table.insert(soundNameList, fileName)
soundIndex = soundIndex + 1
end
end
end
end
Msg("以下の音声ファイルを命名しました。")
ShowObject(soundNameList)
end
function RenderMedias()
outputPath = "$parent/$track/$item"
reaper.AZ_SetAllMediaSelected(0, false)
mediaItemList = reaper.AZ_GetMediaItemList(0)
for i, media in pairs(mediaItemList) do
fileName = reaper.AZ_GetMediaItemName(media)
filenameComponent = reaper.AZ_GetStringSplitList(fileName, "_")
if filenameComponent[#filenameComponent] ~= "ng" then
reaper.SetMediaItemSelected(media, true)
end
end
-- レンダリング設定
renderingSetting = {
RenderingSetting = 32,
RenderingRangeType = 4,
RenderingTarget = 3,
OutputDir = "D:/Recording",
FileName = outputPath,
IsTail = false
}
filePathList = reaper.AZ_RenderToAudioFile(0, renderingSetting)
Msg("以下のファイルを書き出しました。")
ShowObject(filePathList)
end
RenameMedias()
RenderMedias()
- Warm Up -
メディアをReaperプロジェクトに配置する
- Script Detail -
dofile(reaper.AZ_GetLuaInitPath())
require("reaper_AZSTOKE_BRONZE")
require("reaper_AZSTOKE_SILVER")
require("reaper_AZSTOKE_GOLD")
-- RIGDOCKSをインポート
filenamePrefix = "AZREC_"
-- ファイル名の先頭に付ける文字列
function RenameMedias()
-- メディアアイテムの名前を変更する関数
soundNameList = {}
trackCount = reaper.CountTracks(0)
-- トラックの数を取得
soundTrackList = {}
for i = 0, trackCount - 1 do
-- トラックの数だけループ
if reaper.AZ_GetTrackIdDepth(0, i) == 0 then
table.insert(soundTrackList, reaper.GetTrack(0, i))
end
-- トラックの深さが0のトラックをサウンドトラックとみなし、リストに追加
end
for i, soundTrack in pairs(soundTrackList) do
-- サウンドトラックの数だけループ
soundName = reaper.AZ_GetTrackItemName(soundTrack)
-- サウンドトラックの名前を取得
mileTrackList, _ = reaper.AZ_GetTrackItemChildList(soundTrack)
-- サウンドトラックの子トラック(マイクトラック)を取得
for j, mikeTrack in pairs(mileTrackList) do
-- マイクトラックの数だけループ
mikeName = reaper.AZ_GetTrackItemName(mikeTrack)
-- マイクトラックの名前を取得
mediaItemList = reaper.AZ_GetTrackMediaItemList(0, reaper.AZ_GetTrackItemIndex(mikeTrack))
-- マイクトラックにあるメディアアイテムを取得
soundIndex = 1
-- ファイル名に付ける番号を1から始める
for k, media in pairs(mediaItemList) do
-- メディアアイテムの数だけループ
mediaName = reaper.AZ_GetMediaItemName(media)
-- メディアアイテムの名前を取得
mediaNemeComponent = reaper.AZ_GetStringSplitList(mediaName, "_")
-- メディアアイテムの名前を"_"で分割してリストにする
if mediaNemeComponent[#mediaNemeComponent] ~= "ng" then
-- メディアアイテムの名前の最後の要素が"ng"でない場合、OKテイクと判断しファイル名を変更する
fileName = filenamePrefix.. soundName .. "_" .. mikeName .. "_" .. reaper.AZ_FormatNumDigit(soundIndex, 3)
-- ファイル名を"AZREC_" + サウンドトラックの名前 + "_" + マイクトラックの名前 + "_" + 3桁の番号 にする
reaper.AZ_SetMediaItemName(media, fileName)
-- メディアアイテムの名前を変更
table.insert(soundNameList, fileName)
-- 変更したファイル名をリストに追加
soundIndex = soundIndex + 1
-- ファイル名に付ける番号を1つ増やす
end
end
end
end
Msg("以下の音声ファイルを命名しました。")
ShowObject(soundNameList)
-- 変更したファイル名のリストを表示
end
function RenderMedias()
-- メディアアイテムをレンダリングする関数
outputPath = "$parent/$track/$item"
-- 書き出すファイルのパスを【親トラック名(サウンド名)】/【トラック名(マイク名)】/【アイテム名】にする
reaper.AZ_SetAllMediaSelected(0, false)
-- 全てのメディアアイテムの選択を解除
mediaItemList = reaper.AZ_GetMediaItemList(0)
-- プロジェクト内の全てのメディアアイテムを取得
for i, media in pairs(mediaItemList) do
-- メディアアイテムの数だけループ
fileName = reaper.AZ_GetMediaItemName(media)
-- メディアアイテムの名前を取得
filenameComponent = reaper.AZ_GetStringSplitList(fileName, "_")
-- メディアアイテムの名前を"_"で分割してリストにする
if filenameComponent[#filenameComponent] ~= "ng" then
reaper.SetMediaItemSelected(media, true)
end
-- メディアアイテムの名前の最後の要素が"ng"でない場合、OKテイクと判断し、そのメディアアイテムを選択する
end
-- レンダリング設定
renderingSetting = {
RenderingSetting = 32,
RenderingRangeType = 4,
RenderingTarget = 3,
OutputDir = "D:/Recording",
FileName = outputPath,
IsTail = false
}
-- レンダリング設定の内容(出力先フォルダは「D:/Recording」)
filePathList = reaper.AZ_RenderToAudioFile(0, renderingSetting)
-- レンダリングして書き出したファイルのパスのリストを取得
Msg("以下のファイルを書き出しました。")
ShowObject(filePathList)
-- 書き出したファイルのパスのリストを表示
end
RenameMedias()
-- OKテイクのメディアアイテムの名前を変更
RenderMedias()
-- OKテイクのメディアアイテムをレンダリング
- API LINK -
Render
AZSTOKE_Recording_RenameAndRenderMedias
メディアに名前を付けてフォルダ別に出力









