LoginSignup
0
1

More than 1 year has passed since last update.

ADX2でアクショントラックのパスを確認するスクリプト

Last updated at Posted at 2021-05-27

はじめに

ADX2のアクショントラック利用していると
アクショントラックがどこ参照しているんだっけ?
ってことが一度はありますよね?

image.png

こんな感じでアクショントラックのコメントに参照しているパスを表示するスクリプト(ADX2ロボット機能)を紹介。

使い方

アクショントラックまたはその上位のオブジェクトを選択して実行

スクリプト アクショントラックのコメントに参照キューのパスを書き込む

MDS_ZSetActionTrackComment.py
# --Description:[tatmos][Set]アクショントラックのコメントに参照キューのパスを書き込む
import sys
import cri.atomcraft.project as acproject
import cri.atomcraft.debug as acdebug
import cri.atomcraft.preview as acpreview
import cri.atomcraft.view as acview

# 選択しているアクショントラックを得る
actionTracks = acproject.get_selected_objects("ActionTrack")["data"]
if not actionTracks :
    # アクショントラックが選択されていない場合は、選択項目の下のアクショントラックを探す
    # 選択項目を取得
    parent_objs = []
    for parent_type in ["CueSheet", "CueSheetFolder", "CueFolder", "Cue"]:
        parent_objs.extend(acproject.get_selected_objects(parent_type)["data"])

    # 選択項目以下のアクショントラックを取得
    actionTracks = []
    for parent_obj in parent_objs:
        actionTracks.extend(acproject.find_objects(parent_obj, "ActionTrack")["data"])

if not actionTracks :
    acdebug.warning("コメントに参照キューのパスを書き込むアクショントラックを選択してください.")
    sys.exit()

#アクショントラックのコメントにパスを書き込む
for actionTrack in actionTracks:
    actionTrackPath = acproject.get_value(actionTrack, "TargetObject")["data"]
    comment = "\"{0}\"".format(acproject.get_object_path(actionTrackPath)["data"] )
    acdebug.log(comment)
    acproject.set_value(actionTrack, "Comment", comment)

おわりに

参照しているアクショントラックをCraft上で選択するとかスクリプトでできるとありがたいので、機能強化に期待しつつ

環境:Craft 3.45.00

スクリプト リンクキューのパスをコメントに書き込む

似たようなケースでリンクキューもあるかと思うので書いたもの

MDS_ZSetLinkCueComment.py
# --Description:[tatmos][Set]キューリンクのコメントに参照キューのパスを書き込む
import sys
import cri.atomcraft.project as acproject
import cri.atomcraft.debug as acdebug
import cri.atomcraft.preview as acpreview
import cri.atomcraft.view as acview

# 選択しているキューリンクを得る
cueLinks = acproject.get_selected_objects("CueLink")["data"]
if not cueLinks :
    # キューリンクが選択されていない場合は、選択項目の下のキューリンクを探す
    # 選択項目を取得
    parent_objs = []
    for parent_type in ["CueSheet", "CueSheetFolder", "CueFolder", "Cue"]:
        parent_objs.extend(acproject.get_selected_objects(parent_type)["data"])

    # 選択項目以下のキューリンクを取得
    cueLinks = []
    for parent_obj in parent_objs:
        cueLinks.extend(acproject.find_objects(parent_obj, "CueLink")["data"])

if not cueLinks :
    acdebug.warning("コメントに参照キューのパスを書き込むキューリンクを選択してください.")
    sys.exit()

#キューリンクのコメントにパスを書き込む
for cueLink in cueLinks:
    targetPath = acproject.get_value(cueLink, "LinkCueSynth")["data"]
    comment = "\"{0}\"".format(acproject.get_object_path(targetPath)["data"] )
    acdebug.log(comment)
    acproject.set_value(cueLink, "Comment", comment)

使いどころ

キューリンクやアクショントラックのあるキューを他のキューシートへ移動した時に、
リンクが切れてしまう場合があって、
こんな感じで、コメントにパスがあると、修復しやすい。

image.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1