跳转到内容
打开/关闭菜单
  • 346 条目
  • 1 用户
  • 368 编辑
motewiki
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

Ardour/Using-control-surfaces/Controlling-ardour-with-osc/Querying Ardour with OSC

来自motewiki

Querying Ardour with OSC:自定义 controller 需要知道 Ardour 当前有哪些 strip,因此 Ardour 5.5 加入了一组 query 命令——适合能自行处理这些信息的"smart" surface;对 touchOSC 这类 mapped controller 意义不大。按需发送 query;需要频繁更新的(position、metering)应使用 regular feedback。

  • `/strip/list`:请求 strip 列表
  • `/strip/sends *ssid*`:请求 strip *ssid* 的 send 列表
  • `/strip/receives *ssid*`:请求有 send 到 *ssid* 所指 strip 的 track 列表
  • `/strip/plugin/list *ssid*`:请求 strip *ssid* 的 plugin 列表
  • `/strip/plugin/descriptor *ssid* *piid*`:请求 strip *ssid* 上 plugin *piid* 的 descriptor
  • `/set_surface`:请求当前 surface 设置(回复与设置时的形式相同)
  • `/surface/list`:把已知 surface 与 Link Set 列表打印到 Log window

Strip 列表:`/strip/list` 对每条 strip 发一条消息:strip type(AT = Audio Track、MT = MIDI Track、B = Audio Bus、MB = MIDI bus、FB = Foldback bus、V = VCA)、strip name、input 数、output 数、muted、soloed、ssid、record enabled。最后一条消息含 `end_route_list`、session frame rate、最后 frame number、是否有 monitor section。调用前应先用 `/set_surface`(决定返回哪些 strip 并让 feedback 正确启动)。strip 被移动、创建或删除时,Ardour 会向曾请求过的 surface 重发 `/strip/list`——列表失效的信号。bus 没有 record enable,故 bus 消息比 track 少一个参数。

Send 列表:`/strip/sends *ssid*` 回一条消息:ssid + 每条 send 5 个参数(目标 bus ssid、目标 bus 名、该 strip 上的 send id、send gain(fader 位置)、enable 状态)——总参数数可推算 send 数量。

Receive 列表:`/strip/receives *ssid*` 返回发到该 bus 的 track 列表,每条含 track ssid、track 名、该 track 上的 send id、fader 位置 gain、enable 状态。

Plugin 列表:`/strip/plugin/list *ssid*` 回 ssid + 每个 plugin 的 id 与 name。

Plugin descriptor:`/strip/plugin/descriptor *ssid* *piid*` 每个参数一条消息:strip ssid、plugin id、plugin parameter id、参数名、参数信息——flag bitset、data type、min、max、scale points 数、0..n 个 scale point(每 point 一个值一个字符串)、当前值。plugin parameter id 是完整参数列表中的位置;但控制值与 feedback 用的是*controllable* 参数列表(由 flag 指定)中的位置。参数发完后发 `/strip/plugin/descriptor_end`(含 strip ssid 与 plugin id)。flag bitset(从 lsb):0 = enumeration、1 = integer step、2 = logarithmic、5 = sample rate dependent、6 = toggled、7 = controllable、8 = hidden;bits 3/4 未使用(旧版本为 max/min unbound,恒为 0)。简单访问 plugin 时可用 `/select/plugin/` 命令组。

Surface 列表:Ardour 可同时支持多个 OSC surface。任意 surface 发送 `/surface/list`,或在 OSC setup dialog 的 Debug drop-down 选 *Print surface information to Log window*,会打印 Ardour 用于计算 feedback 的全部 surface 信息(Log window 经 *Window > Log* 打开)。此输出适合附在 OSC 相关 bug report 中。

相关页面