0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ADX2ロボットでキュー連続再生

Last updated at Posted at 2021-05-26

はじめに

Craft 3.45.00からADX2ロボット機能で、ダイアログUIが出せるようになったので、使ってみた備忘録。

ADX2 ロボット機能でCSVの内容に従ってキューを再生する
に近い内容ですが、CSVとか余計なのなし版になります。

用途

連続して音を確認したいときとかに使う。
コメントも表示するので、内容確認しながらといったことにも。

動作

image.png

ツリーやリストで、キューを選択して、スクリプト実行すると
ダイアログに名前とコメントを表示しつつ再生してくれる。

前、次 ボタンで、再生キューを切り替えられます。

スクリプト

MDS_PreviewSelectedCue.py
# --Description:[tatmos][Preview]選択キューを連続再生する
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

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

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

if not cues :
    acdebug.warning("再生するキューを選択してください.")
    sys.exit()

cueLength = len(cues)
count = 0
while count < cueLength or count > 0:
    cue = cues[count]
    cue_name = acproject.get_value(cue, "Name")["data"]
    comment = acproject.get_value(cue, "Comment")["data"]
    acdebug.log("{0}".format(cue_name))
    # キューを再生
    acpreview.start_playback_cue(cue)
    message = "再生 ({0}/{1})\n\n[名前]\n{2}  \n\n[コメント]\n{3}".format(count+1,cueLength,cue_name,comment)
    button_name_list = ["", "", "キャンセル"]
    result = acview.show_dialog(message, button_name_list)
    if result [ "data" ][ "button_name" ] == "キャンセル" or result [ "data" ][ "button_index" ] == "-1":
        sys.exit()
    if result [ "data" ][ "button_name" ] == "":
        count-=1
        if count < 0:
            sys.exit()
    if result [ "data" ][ "button_name" ] == "":
        count+=1
        if count == cueLength:
            sys.exit()

UIつくといろいろできることが増える

AtomCraftの場合、pythonにあるUI系を使うと落ちてしまうようなのですが、
こういう安定した専用UIがつくならありがたいところ。
ダイアログにテキスト入力とかつくとさらにいろいろできるようになるなぁと期待しつつ。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?