全体のコード

tutorial05-1_use_find_object.py

1 # --Description:[チュートリアル]find_object関数を使う&複数波形ファイルの一括登録
2 
3 import os
4 import glob
5 import cri.atomcraft.debug as acdebug
6 import cri.atomcraft.project as acproject
7 
8 # 波形ファイルリストの取得
9 # チュートリアル波形ファイルフォルダー'tutorial_data/tutorial_data02'のパスを取得
10 data_dir = os.path.dirname(os.path.dirname(__file__)) + '/tutorial_data/tutorial_data02'
11 
12 # globを使って data_dir 内のファイルを取得
13 files = glob.glob(data_dir + '/*')
14 if len(files) == 0:
15  acdebug.warning(data_dir + "にファイルがありません")
16  sys.exit()
17 
18 # 波形ファイルを登録するワークユニットを取得
19 workunit = acproject.get_workunit("WorkUnit_Tutorial")["data"]
20 
21 # 波形ファイル登録先のマテリアルルートフォルダーを取得
22 material_root_folder = acproject.get_material_rootfolder(workunit)["data"]
23 
24 # キューを作成するキューシートを取得
25 cuesheet = acproject.find_object(workunit, "CueSheet", "Tutorial")["data"]
26 
27 
28 for file in files:
29  # マテリアルルートフォルダに波形ファイルを登録、マテリアルを作成
30  material = acproject.register_material(material_root_folder, file)["data"]
31  # 作成したマテリアル情報からキューを作成
32  acproject.create_simple_cue(cuesheet, material)
33 
34 
35 # プロジェクトの保存
36 result = acproject.save_project_all()
37 if not result["succeed"]:
38  acdebug.warning("プロジェクトファイルの保存に失敗しました。")
39 acdebug.log("[チュートリアル]find_object関数を使う&複数波形ファイルの一括登録 が完了しました")
40