LoginSignup
0
0

More than 3 years have passed since last update.

ADX2ロボットでブロックの長さを得る

Posted at

はじめに

ブロックの長さを知りたい時がよくあるので、
キューを選択して実行すると長さが得られるような
ADX2ロボット機能のスクリプトを書いてみた。

やっていること

選択キューを取得
キューの中にあるブロックを取得
ブロックの長さ(BlockEndPositionMs)を得る
少し整形してログに表示

出力結果

ログに出力される。
image.png

何か最後に長いブロックが入っている・・・ これはいらないブロックかもしれない。
なんてことに気が付けたりする。

あと、長さが一定だった場合は、ここでも同じ値になっていれば心配ないなど安心できる。

スクリプト

# --Description:[tatmos][Analyze]選択したキューのブロックの長さをログに表示

import cri.atomcraft.debug as acdebug
import cri.atomcraft.project as acproject

# 選択しているCueを得る
selected_Cues = acproject.get_selected_objects("Cue")["data"]
if not selected_Cues :
    acdebug.warning("Please select at least a Cue.")
    sys.exit()

for cue in selected_Cues:

    # パス表示
    acdebug.log("Target Path:\"{0}\"".format(acproject.get_object_path(cue)["data"] ))

    Blocks = acproject.get_child_objects (cue, "Block")["data"]

    for block in Blocks:
        blockEndPositionMs = acproject.get_value(block, "BlockEndPositionMs")
        if blockEndPositionMs["succeed"]:
            length = "{:,.3f}".format(float(blockEndPositionMs["data"]))
            acdebug.log(" {0}\t {1}".format( "{:>12}".format(length) ,acproject.get_value(block, "Name")["data"]))

おわりに

ブロックの長さ、ビートに合わせていたりした場合などに、半端なタイミングだとうまくループにならなかったりといろいろあるので、そういうチェックを入れても良いかもしれない。

0
0
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
0