Media
6
指定トラックの全メディアを0.7倍速にして再度1秒ごとに並び替え
RANK
AZSTOKE_TrackAllMediaSetRateMoveToSec
import sys
sys.path.append(RPR_GetResourcePath() + r"/UserPlugins")
from RIGDOCKS_python import *
from AZSTOKE_BRONZE_python import *
_,_,_,allCount,_ = AZ_GetTrackMediaTypeCount(0,1,"",0,0)
mediaList = []
mediaInterval = 1
setMeidaRate = 0.7
for i in range(allCount):
mediaList.insert(i, {})
mediaList[i]["media"] = AZ_GetMediaTrackItemSelect(0,1,i,0)
_, _, _,mediaList[i]["startPos"] = AZ_GetTrackMediaStartTimeSeconds(0,1,i,0)
AZ_SetTrackMediaRate(0,1,i,setMeidaRate)
_,_,_,mediaList[i]["length"] = AZ_GetTrackMediaLength(0,1,i,0)
startPos = 0
for index, value in enumerate(mediaList,0):
if index == 0:
startPos = mediaList[index]["startPos"]
else:
startPos = startPos + mediaList[index-1]["length"] + mediaInterval
AZ_SetMediaItemStartTimeSeconds(mediaList[index]["media"],startPos)
import sys
sys.path.append(RPR_GetResourcePath() + r"/UserPlugins")
from RIGDOCKS_python import *
from AZSTOKE_BRONZE_python import *
BronzeのAPIのインポートを行います。
インストールできていない方はこちらでダウンロードが必要
_,_,_,allCount,_ = AZ_GetTrackMediaTypeCount(0,1,"",0,0)
指定トラックの全てのメディアの数(allCount)を取得
mediaList = []
配列(medialist)を定義する
mediaInterval = 1
メディアの間隔値を変数として準備
今回は1秒
setMeidaRate = 0.7
メディアの再生速度を変数として準備
今回は0.7
for i in range(allCount):
変数(allCount)分、ループさせる
mediaList.insert(i, {})
リスト(mediaList)の指定した場所に要素を追加する
i:挿入したい位置
{}:追加したい要素
mediaList[i]["media"] = AZ_GetMediaTrackItemSelect(0,1,i,0)
MeidaItemを取得し、mediaList[i]の["media"]に保存
_, _, _,mediaList[i]["startPos"] = AZ_GetTrackMediaStartTimeSeconds(0,1,i,0)
メディアの開始位置を取得し、mediaList[i]の["start"]に保存
AZ_SetTrackMediaRate(0,1,i,setMeidaRate)
メディアの再生速度を変数(setMediaRate)に設定
_,_,_,mediaList[i]["length"] = AZ_GetTrackMediaLength(0,1,i,0)
メディアの長さを取得し、mediaList[i]の["length"]に保存
startPos = 0
開始位置を設定
for index, value in enumerate(mediaList,0):
enumerate()関数:格納されている値と順番を同時に取得できる
配列(mediaList)の要素数だけ繰り返す
if index == 0:
indexが0なら
==:等しい
startPos = mediaList[index]["startPos"]
配列mediaList[index]の開始位置を変数startPosにセット
else:
1つ目以外の場合、下に続く
startPos = startPos + mediaList[index-1]["length"] + mediaInterval
変数(startNextPos)+配列mediaList[index]のメディアの長さ+メディアの間隔値(1秒)を変数startPosにセット
AZ_SetMediaItemStartTimeSeconds(mediaList[index]["media"],startPos)
配列mediaList[index]のメディアを変数(startNextPos)にセット
プロジェクト内にメディアを複数設置