读取实时数据
播放器发送的每个值都有一个名字,叫做数据键。学习如何找到数据键、使用它们,以及用覆盖值来测试 Patch。
ShowKontrol 里的一切都基于数据键:带名字的值,例如 beat.currentBpm、playback.state 或 mixer.ch1.fader。触发器监视它们,输出发送它们,脚本读取和写入它们。
在哪里看到它们#
选中任意节点。它设置面板底部的 Live Data monitor 会实时列出到达这个节点的数据。
- 在搜索框中输入,可以按数据键名称*或*值来筛选,例如
cue、bpm或5B。 - 蓝色的数据键表示链路后面有节点在使用它。整条链路都会高亮,所以你能看到一个值从哪里来。
#RRGGBB值(Cue 颜色)会用它们自己的颜色显示。曲目有缓存的波形时,会出现一条波形。
数据键名称#
Device 节点会在每个数据键前加上自己的名字,所以改名为 CDJ1 的 1 号播放器会发送 CDJ1.beat.bar、CDJ1.playback.positionUS 等。Router 或 Matrix 会给经过它的数据加上*它自己的*名字。名为 Main 的路由器后面的链路看到的是 Main.beat.bar,无论当前路由的是哪台播放器。
你很少需要输入前缀。触发器路径、MIDI 和 OSC 的值、DMX 映射以及 CSV Logger 的列都按后缀匹配:beat.beatInBar 能找到 CDJ1.beat.beatInBar。脚本是例外,因为它们使用完整名称。右键 → Add Trigger / Add Script 会自动帮你填入完整名称。
常用的命名空间:
| 命名空间 | 包含的内容 |
|---|---|
metadata.* | 曲名、艺术家、调性、BPM、时长 |
playback.* | 状态、位置和剩余时间(µs)、音调、上线状态、主控 |
beat.* | 小节、小节内拍号、当前 BPM、到下一拍 / 下一小节的毫秒数 |
phrase.*、struct.* | 乐句分析和检测到的歌曲结构(Drop、Break……) |
cue.* | 热 Cue 和记忆 Cue,包括颜色和注释 |
mixer.*、level.* | DJM 推子、均衡、电平 |
完整列表见数据键参考。
查看并覆盖一个值#
双击一行,就会在 Patch 的位置打开值编辑器。在你点进去之前,值一直是实时的。
输入新值并按 Enter。这就是覆盖:节点每一帧都发送你的值,而不是实时值。可以用它在没有播放器的情况下测试 Patch,例如把 playback.state 设为 playing,或把推子设为 255。
- 被覆盖的行显示为琥珀色,并有一个 ↺ 用来恢复。后面的节点也会把这个数据键显示为琥珀色。
- 节点在画布上会有一条琥珀色下划线,方便你之后找到它。
- 覆盖值永远不会保存在演出文件中。
右键快捷方式#
右键点击一行,可以选择 Add Trigger on this key、Add Script with this key(打开脚本编辑器,并填好 output.<key> = <当前值>;)以及复制选项。
