top of page

Media

6

指定トラックの全メディアを0.7倍速にして再度1秒ごとに並び替え

RANK

AZSTOKE_TrackAllMediaSetRateMoveToSec

import sys

sys.path.append(RPR_GetResourcePath() + r"\UserPlugins")

from AZSTOKE_BRONZE_python import *


def Msg(parm):

    RPR_ShowConsoleMsg(str(parm) + "\n")

    

retval,_,_,_,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 AZSTOKE_BRONZE_python import *

  • BronzeのAPIのインポートを行います。

  • インストールできていない方はこちらでダウンロードが必要

def Msg(parm):

    RPR_ShowConsoleMsg(str(parm) + "\n")

  • 信号確認するためにMsg関数を設置(必須ではありません)

retval,_,_,_,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)にセット

      

APIの利用にはBRONZEに

加入し専用APIを

ダウンロード

する必要があります。

プロジェクト内にメディアを複数設置

- Script Code -
- Script Image -
- Warm Up -
- Script Detail -
- API LINK -

PYTHON

​ReaScript File Download 👇

​※実行するには専用APIが必要です

- Script Download -
bottom of page