Cakewalk Sonar 中的 CakeScript 是什么

译自官方帮助文档 · 查看英文原文

文中「我们」均指 BandLab / Cakewalk。本页为中文翻译,非官方页面。

关于 CakeScript

BandLab 会员(BandLab Membership)

CakeScript 为有效的 BandLab 会员订阅用户专享。

CakeScript 是内置于 Cakewalk Sonar 的现代化 基于 Lua 的脚本接口。它取代了旧版的 Cakewalk 应用程序语言(CAL),提供了一个更安全、更强大且可扩展的脚本平台。

CakeScript 让你可以直接在 Cakewalk Sonar 中自动化重复性任务、操作工程,并创建自定义工作流程。无论你是编写简单的实用脚本,还是构建高级自动化流程,CakeScript 都为扩展 Sonar 的能力提供了现代化的基础。

注意(Note)

本文概述了 CakeScript 及它在 Cakewalk Sonar 中的工作方式,面向对 Lua 编程语言有基本了解的用户。

CakeScript 能做什么?

CakeScript 可以访问 Sonar 工程的许多部分,让脚本能够自动化常见的编辑与管理任务。

使用 CakeScript,你可以:

  • 打开、保存和关闭工程
  • 创建、修改、移动和删除轨道、文件夹和总线
  • 添加、编辑和删除音频或 MIDI 片段
  • 将媒体导入工程
  • 添加、修改和移除发送
展开查看全部
  • 在轨道和总线上添加、修改、重新排序或移除音频效果器
  • 创建和编辑自动化包络
  • 修改工程选区
  • 更改应用程序和工程设置
  • 运行 Sonar 内置命令
  • 执行其他 CakeScript 脚本
  • 在音乐时间与绝对时间之间进行转换
  • 控制工程的当前时间(Now Time)

运行 CakeScript

CakeScript 文件使用 .lua 扩展名。

要运行 CakeScript:

  1. 打开 处理(Process)> 运行 CakeScript(Run CakeScript)。
  2. 浏览到所需的 .lua 文件。
  3. 选中该脚本,然后点击 打开(Open)。

重要(Important)

在播放或录制进行期间,无法执行 CakeScript。

使用 CakeScript 面板

CakeScript 面板提供了一个界面,让你可以直接在 Cakewalk Sonar 中浏览、运行和调试 CakeScript 文件。

该面板包含以下几个部分:

CakeScript 面板概览
选项卡标题

CakeScript 面板包含两个选项卡:

脚本(Script)

以文件树的形式显示 CakeScript 目录,让你可以浏览可用的脚本。

输出(Output)

显示脚本输出,包括来自 Lua print 命令的消息、跟踪信息以及任何脚本错误。

CakeScript 目录

脚本(Script)选项卡以文件树的形式显示已配置的 CakeScript 目录。

  • 单击某个脚本即可选中它。
  • 双击某个脚本,即可使用当前选定的运行模式(Run Mode)运行它。
当前脚本(Current Script)

显示当前所选 CakeScript 的名称。

运行模式(Run Mode)

CakeScript 支持三种执行模式:

正常(Normal)

从头到尾运行整个脚本。脚本产生的任何输出都会显示在 输出(Output)选项卡中。

跟踪(Trace)

在执行脚本的同时,把每条语句实时显示在 输出选项卡中。这对于跟踪脚本的执行过程很有用。

单步(Step)

一次执行脚本中的一条语句。输出选项卡会显示下一条将要执行的语句。

在单步(Step)模式下暂停时,你可以与 Cakewalk Sonar 界面交互,先验证结果再继续。请避免做出可能影响脚本预期状态的更改。

要继续执行,请点击 单步(Step)。要停止执行,请点击 停止(Stop)。

注意(Note)

脚本在 跟踪(Trace)和 单步模式下的运行速度明显慢于 正常(Normal)模式。

运行/停止按钮

当按钮显示 运行(Run)(▶)图标时,点击该按钮会按当前的运行模式启动所选 CakeScript。

当脚本在 单步模式下暂停时,该按钮会变为 停止(Stop)(■),让你可以取消脚本执行。

单步按钮

使用 单步模式时,点击 单步可执行脚本中的下一条语句。

撤销保护

CakeScript 的设计目标是安全地修改你的工程。

脚本成功完成后,脚本所做的全部更改会被保存为单个撤销步骤。这样你就可以用一条撤销(Undo)命令撤销整个操作。

如果脚本在运行过程中遇到错误,Cakewalk Sonar 会自动把工程恢复到之前的状态,并显示脚本失败的原因。

当前限制

CakeScript 仍在积极开发中。目前以下功能尚不可用,或仅获得部分支持:

  • 片段泳道(Take Lanes)与自动化泳道(Automation Lanes)
  • 速度轨(Tempo Track)与速度映射(Tempo Map)
  • 拍号与调号变更(Meter and Key Changes)
  • 标记(Markers)
  • 编曲器(Arranger)
  • FX 链(FX Chains)(仅部分支持)

更多功能将在未来的 Cakewalk Sonar 版本中推出。

了解更多

关于 CakeScript API、Lua 对象、类以及可用函数的完整文档,请参阅随 Cakewalk Sonar 提供的 CakeScript 参考指南(CakeScript Reference Guide)。

要打开参考指南:

  1. 启动 Cakewalk Sonar。
  2. 转到 帮助(Help)> CakeScript 参考指南。

如果你想寻找示例、有关于编写脚本的问题,或者想分享自己的脚本,请访问 Cakewalk 社区论坛的 CakeScript 版块:

https://discuss.cakewalk.com/forum/54-cakescript/

CakeScript 社区是向其他用户学习、发现社区创作的脚本、提问以及分享自己 CakeScript 项目的好地方。

本文为 Cakewalk Help Center 原文的非官方中文翻译。原文链接:https://help.cakewalk.com/hc/en-us/articles/60419354649369-What-is-CakeScript-in-Cakewalk-Sonar。本译文系独立制作,仅为方便阅读和信息参考之用,与 Cakewalk 无隶属、赞助或背书关系。