Track
5
トラックのセットを同セット自動複数作成
RANK
AZSTOKE_TrackSetSameAutoSetter
import sys
sys.path.append(RPR_GetResourcePath() + r"/UserPlugins")
from RIGDOCKS_python import *
from AZSTOKE_SILVER_python import *
trackNameList = ["pl0000","pl1000","pl2000","pl3000","pl4000","pl5000"]
trackColorList = [33554304,33521664,25165824,16777471,21004543,20988032]
masterTrack = AZ_GetTrackItemSelect(0,0,1)
_,masterName,_ = AZ_GetTrackItemName(masterTrack,0,1024)
masterDepth = AZ_GetTrackItemDepth(masterTrack)
masterColor = 0
for i, value in enumerate(trackNameList, 0):
if masterName == trackNameList[i]:
AZ_SetTrackItemColor(masterTrack,trackColorList[i])
masterColor = trackColorList[i]
_,childList,masterChildCount = AZ_GetTrackItemChildList(masterTrack)
childInfoList = []
for i, value in enumerate(childList, 0):
childInfoList.insert(i,{})
_,childInfoList[i]["TrackName"],_ = AZ_GetTrackItemName(value,"",1024)
AZ_SetTrackItemColor(value,masterColor)
trCount = AZ_GetTrackCountSelect(0,0)
deletIDList = []
idCount = 0
for i in range(trCount):
_,_,name,_ = AZ_GetTrackIdName(0,i,"",1024)
for e, value in enumerate(trackNameList, 0):
if name == value:
idCount = idCount + 1
deletIDList.append(e)
deletIDList = sorted(deletIDList,reverse = True)
for i in range(idCount):
trackNameList.pop(deletIDList[i])
trackColorList.pop(deletIDList[i])
for i, value in enumerate(trackNameList, 0):
count = AZ_GetTrackCountSelect(0,0)
track = AZ_InsertTrackId(0,count)
AZ_SetTrackItemName(track,value)
AZ_SetTrackItemDepth(track,masterDepth)
AZ_SetTrackItemColor(track,trackColorList[i])
for e in range(masterChildCount):
childTrack,_,_ = AZ_InsertChildTrack(track,0)
AZ_SetTrackItemName(childTrack,childInfoList[e]["TrackName"])
AZ_SetTrackItemColor(childTrack,trackColorList[i])
import sys
sys.path.append(RPR_GetResourcePath() + r"/UserPlugins")
from RIGDOCKS_python import *
from AZSTOKE_SILVER_python import *
・SilverAPI利用可能にする
trackNameList = ["pl0000","pl1000","pl2000","pl3000","pl4000","pl5000"]
trackColorList = [33554304,33521664,25165824,16777471,21004543,20988032]
・指定の名前と色を設定
masterTrack = AZ_GetTrackItemSelect(0,0,1)
・選択トラックの先頭を取得してmasterTrackに代入
_,masterName,_ = AZ_GetTrackItemName(masterTrack,0,1024)
・masterTrackの名前を取得してmasterNameに代入
masterDepth = AZ_GetTrackItemDepth(masterTrack)
・masterTrackの階層を取得してmasterDepthに代入
masterColor = 0
・masterColorの初期値を設定
for i, value in enumerate(trackNameList, 0):
・trackNameList分Forループ
if masterName == trackNameList[i]:
・masterNameと各trackNameListが一致したら以下を実行
AZ_SetTrackItemColor(masterTrack,trackColorList[i])
・masterTrackに色を設定
masterColor = trackColorList[i]
・設定した色をmasterColorに代入
_,childList,masterChildCount = AZ_GetTrackItemChildList(masterTrack)
・masterTrackの子トラックリストと数を取得してchildListとmasterChildCountに代入
childInfoList = []
・childInfoListの配列初期化
for i, value in enumerate(childList, 0):
・childList分Forループ
childInfoList.insert(i,{})
・childInfoListに枠を追加
_,childInfoList[i]["TrackName"],_ = AZ_GetTrackItemName(value,"",1024)
・childInfoListにTrackNameのキーに名前を代入
AZ_SetTrackItemColor(value,masterColor)
・子トラックにmasterColorの色設定
trCount = AZ_GetTrackCountSelect(0,0)
・現在のトラックの数を取得
deletIDList = []
・deletIDListの初期化
idCount = 0
・idCountの初期化
for i in range(trCount):
・trCount分Forループ
_,_,name,_ = AZ_GetTrackIdName(0,i,"",1024)
・各トラックの名前を取得してnameに代入
for e, value in enumerate(trackNameList, 0):
・trackNameList分Forループ
if name == value:
・nameにtrackNameListを確認して一致すれば以下を実行
idCount = idCount + 1
・一致したらidCountを+1
deletIDList.append(e)
・deletIDListにindexを追加
deletIDList = sorted(deletIDList,reverse = True)
・deletIDListを降順に設定
for i in range(idCount):
・idCount分Forループ
trackNameList.pop(deletIDList[i])
trackColorList.pop(deletIDList[i])
・deletIDListのindexに沿って後ろから削除
for i, value in enumerate(trackNameList, 0):
・trackNameList分Forループ
count = AZ_GetTrackCountSelect(0,0)
・トラックの数を取得してcountに代入
track = AZ_InsertTrackId(0,count)
・トラックの数にすることでトラックの最後にトラックをインサートする
AZ_SetTrackItemName(track,value)
・トラックに名前を設定
AZ_SetTrackItemDepth(track,masterDepth)
・トラックの階層を設定
AZ_SetTrackItemColor(track,trackColorList[i])
・トラックに色を設定
for e in range(masterChildCount):
・子トラックの数分Forループ
childTrack,_ _ = AZ_InsertChildTrack(track,0)
・子トラックを追加
AZ_SetTrackItemName(childTrack,childInfoList[e]["TrackName"])
・子トラックに名前を設定
AZ_SetTrackItemColor(childTrack,trackColorList[i])
・子トラックに色を設定
ベースのトラック/子トラックを作成しておく