尝试使用 get_selected_objects 函数

前面的教程通过在脚本获取目标的对象,介绍了不同处理的方法。
在CRI Atom Craft Robot也可以获取于GUI选中的对象,并从脚本操作对象。
本教程将使用 get_selected_objects 函数创建脚本,用以获取GUI树状列表中被选中的Cue,并对其音量进行相对变更处理。

criatom_tools_atomcraft_api_tutorial_search_and_edit_relative.png

本教程使用了 find_object 尝试使用 find_object 函数 教程中创建的项目。
没有打开项目时,请打开项目,或执行 find_object 尝试使用 find_object 函数 所创建的脚本后开始此教程。

选择Cue

本教程中需要对使用GUI选中的对象进行操作,因此请事前用CRI Atom Craft的GUI操作选择Cue。
如下图所示,选择Cue Sheet“Tutorial”中的所有Cue。

criatom_tools_atomcraft_api_tutorial_search_and_edit_relative_select.png

脚本文件的准备

选择脚本菜单上的“脚本列表...”显示脚本列表窗口。
按脚本列表窗口的“新建”按钮,使用以下名称创建脚本文件。

脚本的保存目标脚本文件名
tutorials [CRI] tutorial05-4_use_get_selected_objects.py

脚本说明

双击已创建的脚本,用 从脚本编辑器运行脚本 打开。
要通过脚本列表窗口确认脚本概要,按照以下脚本说明来编写。

# --Description:[教程]使用get_selected_objects函数获取选中的Cue,对其音量统一进行相对变更


模块的导入

编写脚本说明后,导入以下模块来用脚本操作CRI Atom Craft。

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

导入 Project模块 以进行项目操作,同时导入 debug模块 以输出日志。

获取选中的Cue

project模块包含以下函数,可以获取在GUI选中的对象。

函数名 说明
get_selected_objects 获取GUI树状列表中选中的对象

使用以上函数获取用GUI选中的对象的处理时,可以如下编写脚本。

# 获取选中的Cue
selected_cues = acproject.get_selected_objects("Cue")["data"]

获取选中的Cue的解说

get_selected_objects 函数中指定“对象类型名”。
调出函数时,可以列表的形式,从用GUI选中的对象中获取类型匹配的对象。
这里为获取选中的Cue,请先将对象的类型指定为“Cue”和获取Cue的列表。

对已获取的Cue的值进行相对更新

对已获取的Cue获取当前音量,增加0.5并对值进行更新。
Cue的音量值的获取和设置使用以下函数。

函数名 说明
get_value 获取已指定的对象的参数
set_value 设置已指定的对象的参数

使用这些函数,用脚本记录在当前的音量上增加0.5的处理时,会如下所示。

# 获取Cue的当前音量值,设置新的音量
for cue in selected_cues:
# 获取Cue的音量
val = acproject.get_value(cue, "Volume")["data"]
volume = float(val)
# 设置增加0.5后的音量
acproject.set_value(cue, "Volume", volume + 0.5)
acdebug.log("[教程]使用 get_selected_objects 函数获取选中的Cue,对其音量统一进行相对变更完成")
注解
通过 get_value 获得的值,是与参数无关的字符串。 因此,使用 float 函数从字符串更改为数值。

脚本的保存和执行

本教程的脚本编写到此为止。
请保存并执行脚本。
如果脚本正常执行,选中的所有Cue的音量将增加0.5。

criatom_tools_atomcraft_api_tutorial_search_and_edit_relative_result.png