top of page

Track

2

選択トラックを先頭にミュート削除と未使用トラックを削除

RANK

AZSTOKE_AllDeleteTopSelectTrackSearchNotUseMediaAndTrack

import sys

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

from AZSTOKE_BRONZE_python import *


import sys

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

from AZSTOKE_SILVER_python import *


def Msg(parm):

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



retval,_,_,allCount,_ = AZ_GetMediaTypeCount(0,"",0,0)


for i in reversed(range(allCount)):

    _,_,_,mute = AZ_GetMediaMute(0,i,0)

   

    if mute:

        AZ_DeleteMedia(0,i)          



_,depthList = AZ_GetTrackDepthList(0)

_,_,_,count = AZ_GetTrackCountSelect(0,0,0)

_,_,trackID = AZ_GetSelectedTrackFirstInfo(0,0)


for a in range(2):

    for i in reversed(range(count)):

        _,_,_,_,allCount,_ = AZ_GetTrackMediaTypeCount(0,i,"",0,0)

        retval,trackList,trackCount = AZ_GetTrackIdChildList(0,i)

        if allCount == 0 and trackCount == 0 :

            AZ_DeleteTrackIdSelect(0,i,0)

            

    _,_,_,count = AZ_GetTrackCountSelect(0,0,0)

    for i in range(count):

        track = AZ_GetTrackItemSelect(0,i,0)

        for e, value in enumerate(depthList, 0):

            if track == depthList[e]["Track"]:

                AZ_SetTrackItemDepth(track,depthList[e]["Depth"])

import sys

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

from AZSTOKE_BRONZE_python import *


・BronzeAPIを利用可能にする


import sys

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

from AZSTOKE_SILVER_python import *


・SilverAPIを利用可能にする


def Msg(parm):

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


・コンソール出力できるようにMsg関数を用意


retval,_,_,allCount,_ = AZ_GetMediaTypeCount(0,"",0,0)


・全メディア数を取得してallCountに代入


for i in reversed(range(allCount)):


・allCountを逆からForループ


    _,_,_,mute = AZ_GetMediaMute(0,i,0)


・各メディアごとにミュート状態を確認

   

    if mute:


・もしミュートしていたらを確認


        AZ_DeleteMedia(0,i) 


・ミュートしているメディアを削除    



_,depthList = AZ_GetTrackDepthList(0)


・トラックの階層を取得して配列のdepthListに代入


_,_,_,count = AZ_GetTrackCountSelect(0,0,0)


・全トラック数を取得してcountに代入


_,_,trackID = AZ_GetSelectedTrackFirstInfo(0,0)


・選択トラックの先頭トラックのトラックIDを取得してtrackIDに代入


for a in range(2):


・以下処理を2回実行する


    for i in reversed(range(count)):

  

・countの数を逆にループ


        _,_,_,_,allCount,_ = AZ_GetTrackMediaTypeCount(0,i,"",0,0)


・指定トラックに入っているメディアの数を出力してallCountに代入


        retval,trackList,trackCount = AZ_GetTrackIdChildList(0,i)


・指定トラックIDの子トラックを取得してtrackListに配列出力とtrackCountに数を代入


        if allCount == 0 and trackCount == 0 :


・トラックにメディアがないと子のトラックがないトラックを判定


            AZ_DeleteTrackIdSelect(0,i,0)


・トラックを削除

            

    _,_,_,count = AZ_GetTrackCountSelect(0,0,0)


・削除後再度トラックの数を出力してcountに代入


    for i in range(count):


・count分ループ対応


        track = AZ_GetTrackItemSelect(0,i,0)


・指定のIDのトラックを取得してtrackに代入


        for e, value in enumerate(depthList, 0):


・depthList分Forをループ


            if track == depthList[e]["Track"]:


・depthListのトラックとtrackが同じものを検知する


                AZ_SetTrackItemDepth(track,depthList[e]["Depth"])


・同じものは前の階層に戻す対応

                

APIの利用にはBRONZEに

加入し専用APIを

ダウンロード

する必要があります。

  • 先頭のトラックを選択しておく

  • メディアが入っていないトラックがある状態

  • ミュートのメディアがある状態

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

PYTHON

​ReaScript File Download 👇

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

- Script Download -
bottom of page