- Script Code -
dofile(reaper.AZ_GetLuaInitPath())
require("reaper_AZSTOKE_SILVER")
require("reaper_AZSTOKE_GOLD")
url = -- svnリポジトリへのurl
toDir = "F:\\RIGDOCKS\\tmp" -- 一時的にファイルを出力するフォルダ
retval , inputList = reaper.AZ_GetUserInputList("", 1, "リビジョン", "")
if retval then
revisioln = tonumber(inputList[1])
fileList = reaper.AZ_SVN_Export_CommitOnly(url, toDir, reaper.AZ_FileWriteMode_Overwrite(), revisioln)
originalFilePathList = {}
if reaper.AZ_Wwise_Connect("127.0.0.1", 8080) then
containerPath = "\\Actor-Mixer Hierarchy\\AZ_Voice"
eventFolderPath = "\\Events\\AZ_Voice"
vf_men = reaper.AZ_Wwise_CreateVirtualFolder(containerPath, "men", true)
vf_women = reaper.AZ_Wwise_CreateVirtualFolder(containerPath, "women", true)
vf_ev_men = reaper.AZ_Wwise_CreateVirtualFolder(eventFolderPath, "men", true)
vf_ev_women = reaper.AZ_Wwise_CreateVirtualFolder(eventFolderPath, "women", true)
for i, filePath in pairs(fileList) do
fileName = reaper.AZ_GetPathInfo(filePath)["FileNameWithoutExtension"]
voice = nil
if string.sub(fileName, 7, 9) == "men" then
voice = reaper.AZ_Wwise_CreateSoundVoice(vf_men["Path"], filePath, fileName, "Japanese", "men", true)
event = reaper.AZ_Wwise_CreateEvent(vf_ev_men["Path"], voice["Name"], 1, voice["ID"], true)
elseif string.sub(fileName, 7, 11) == "women" then
voice = reaper.AZ_Wwise_CreateSoundVoice(vf_women["Path"], filePath, fileName, "Japanese", "women", true)
event = reaper.AZ_Wwise_CreateEvent(vf_ev_women["Path"], voice["Name"], 1, voice["ID"], true)
end
reaper.AZ_Wwise_SetProperty(voice["ID"], "IsStreamingEnabled", true)
originalsPath = reaper.AZ_Wwise_GetProperty(voice["ID"], "sound:originalWavFilePath", "Japanese")
table.insert(originalFilePathList, originalsPath)
end
reaper.AZ_Wwise_Disconnect()
end
for i, file in pairs(originalFilePathList) do
reaper.AZ_SVN_Add(reaper.AZ_GetPathInfo(file)["ParentPath"], {".*\\..*"})
reaper.AZ_SVN_Add(file)
end
reaper.AZ_ShowMessageBox_Info("処理が終了しました", "", reaper.AZ_WindowType_OK())
end
- Warm Up -
取得したい音声ファイルが追加/変更されたリビジョンを控えておく
- Script Detail -
dofile(reaper.AZ_GetLuaInitPath())
require("reaper_AZSTOKE_SILVER")
require("reaper_AZSTOKE_GOLD")
・SILVER、GOLDをインポートする
url = -- svnリポジトリへのurl
toDir = "F:\\RIGDOCKS\\tmp" -- 一時的にファイルを出力するフォルダ
・必要な情報を設定する
retval , inputList = reaper.AZ_GetUserInputList("", 1, "リビジョン", "")
if retval then
・指定のリビジョンを入力画面から取得する。取得できた場合のみ先に進む
revisioln = tonumber(inputList[1])
・リビジョン番号を数値型で取得する
fileList = reaper.AZ_SVN_Export_CommitOnly(url, toDir, reaper.AZ_FileWriteMode_Overwrite(), revisioln)
・指定リビジョンにて追加、更新されたファイルを一時フォルダに出力する
originalFilePathList = {}
・Wwiseにインポートしたファイルのパスを格納するための配列を用意しておく
if reaper.AZ_Wwise_Connect("127.0.0.1", 8080) then
・Wwiseに接続する
containerPath = "\\Actor-Mixer Hierarchy\\AZ_Voice"
eventFolderPath = "\\Events\\AZ_Voice"
・サウンドオブジェクトとイベントの格納先パスを指定
vf_men = reaper.AZ_Wwise_CreateVirtualFolder(containerPath, "men", true)
vf_women = reaper.AZ_Wwise_CreateVirtualFolder(containerPath, "women", true)
vf_ev_men = reaper.AZ_Wwise_CreateVirtualFolder(eventFolderPath, "men", true)
vf_ev_women = reaper.AZ_Wwise_CreateVirtualFolder(eventFolderPath, "women", true)
・仮想フォルダを作成
for i, filePath in pairs(fileList) do
・一時フォルダに出力したファイルのパスごとに以下の処理を行う
fileName = reaper.AZ_GetPathInfo(filePath)["FileNameWithoutExtension"]
・ファイルパスからファイル名のみを取得
voice = nil
if string.sub(fileName, 7, 9) == "men" then
voice = reaper.AZ_Wwise_CreateSoundVoice(vf_men["Path"], filePath, fileName, "Japanese", "men", true)
event = reaper.AZ_Wwise_CreateEvent(vf_ev_men["Path"], voice["Name"], 1, voice["ID"], true)
・ファイル名の7~9文字目が「men」の場合は「men」仮想フォルダの配下にサウンドボイスオブジェクトとイベントを作成する
elseif string.sub(fileName, 7, 11) == "women" then
voice = reaper.AZ_Wwise_CreateSoundVoice(vf_women["Path"], filePath, fileName, "Japanese", "women", true)
event = reaper.AZ_Wwise_CreateEvent(vf_ev_women["Path"], voice["Name"], 1, voice["ID"], true)
・ファイル名の7~11文字目が「women」の場合は「women」仮想フォルダの配下にサウンドボイスオブジェクトとイベントを作成する
end
reaper.AZ_Wwise_SetProperty(voice["ID"], "IsStreamingEnabled", true)
・作成したサウンドボイスオブジェクトの「Stream」にチェックを入れる
originalsPath = reaper.AZ_Wwise_GetProperty(voice["ID"], "sound:originalWavFilePath", "Japanese")
table.insert(originalFilePathList, originalsPath)
・Originalsフォルダ内にインポートされた音声ファイルのパスを取得し、配列に格納する
end
reaper.AZ_Wwise_Disconnect()
・Wwiseから切断する
end
for i, file in pairs(originalFilePathList) do
・Originalsフォルダ内にインポートされた音声ファイルのパスごとに以下の処理を行う
reaper.AZ_SVN_Add(reaper.AZ_GetPathInfo(file)["ParentPath"], {".*\\..*"})
・音声ファイルの親フォルダをSVNに追加する(フォルダ配下のファイルは除外する)
reaper.AZ_SVN_Add(file)
・音声ファイルをSVNを追加する
end
reaper.AZ_ShowMessageBox_Info("処理が終了しました", "", reaper.AZ_WindowType_OK())
・処理が終了した旨のポップアップ表示を行う
end
- API LINK -
SVN
AZSTOKE_SVN_ImportToWwise_1
音声ファイルをSVNから取得し、Wwiseにインポート


