全体のコード

tutorial05-3_use_get_child_objects.py

1 # --Description:[チュートリアル]get_child_objects関数を使ってキューを取得し、命名規則を元にカテゴリを設定
2 
3 import sys
4 import cri.atomcraft.debug as acdebug
5 import cri.atomcraft.project as acproject
6 
7 # キューに設定するカテゴリーの準備
8 # カテゴリフォルダーの取得
9 category_folder = acproject.get_global_folder("CategoryFolder")["data"]
10 # カテゴリーの取得
11 category = acproject.find_object(category_folder, "Category", "Category_0")["data"]
12 # カテゴリー名の変更
13 acproject.set_value(category, "Name", "sfx")
14 
15 
16 # ワークユニットを取得
17 workunit = acproject.get_workunit("WorkUnit_Tutorial")["data"]
18 # キューシートを取得
19 cuesheet = acproject.find_object(workunit, "CueSheet", "Tutorial")["data"]
20 # キューシート直下の複数キューを取得
21 cues = acproject.get_child_objects(cuesheet, "Cue")["data"]
22 
23 
24 # カテゴリーを設定するキューリスト
25 # 名前の先頭に「sfx」を含むキューを格納するリスト
26 cues_for_set_categories = []
27 
28 ## 対象のキューをチェックする
29 for cue in cues:
30  # キュー名を取得
31  cue_name = acproject.get_value(cue, "Name")["data"]
32  # 文字列関数のstartswith を使って、先頭にsfxの文字を含むかチェック
33  if cue_name.startswith('sfx'): # キュー名が'sfx'で始まる
34  # リストに追加
35  cues_for_set_categories.append(cue)
36 
37 
38 # カテゴリーを設定
39 # 複数のキューにカテゴリを一括適用する場合は、add_category_to_cuesを使う。
40 acproject.add_category_to_cues(cues_for_set_categories, category)
41 acdebug.log("[チュートリアル]get_child_objects関数を使ってキューを取得し、命名規則を元にカテゴリ設定 が完了しました")