⭐ 本文围绕一个 Pro 特性。
除了可以使用 学习模式 分配您自己的 OSC 地址外,您还可以使用已经存在的默认 OSC 地址。
接口的每个可分配元素至少被赋予了一个地址。 如果它有多个地址,这意味着可以通过多种方式实现相同的结果。 例如,如果您想编辑序列,可以通过其名称或其位置进行访问,这意味着一个操作有两个地址。
使用 OSC API 的现成模板
API 可以用于创建可用于任何项目的自定义模板,无需通过学习过程。 为了让您的生活更轻松,我们使用流行的 OSC 应用 TouchOSC 构建了一些模板。 您可以按原样使用它们或快速复制粘贴对象以快速构建您自己的模板。
| 文件 | 描述 | HM 版本 | 格式 | 项目 |
| Sequencer_v1 | 一个专注于现场序列控制的模板,包含4个8x8序列的选项卡和一些主着色器快捷方式 | 2.11 |
2160×1620 |
- |
| GroupEffects_v1 | 一个简单的模板,包含组效果参数(无LFO控制) | 2.11 |
2160×1620 |
- |
| Mix_v1 |
一个带有A/B推子的模板,用于控制2组混合的简单混音。 由于这有些超出了普通 HeavyM 的使用,提供了一个示例项目! (见第4列) |
2.11 |
2160x1620 |
示例 |
Sequencer_v1 的截图
接下来:时间线控制,具有LFO控制的组效果
API 阅读说明
API 中的消息完整列表可以在下表中找到。 每个表格使用相同的结构:
- 第1列:操作的描述
- 第2列:默认 OSC 地址(es)
- 第3列:参数(除非注明,否则总是float)
注意:此第3列中的值通常也代表通过反馈发送回来的内容。 不过,对于坐标和尺寸,反馈被禁用,因为它可能导致无限循环问题
您会看到它很快变得非常冗长,所以我们在整篇文章中使用了缩写。 在表中,如果看到一个方括号内的单词,请参阅以下说明以了解该地址中应期望的内容:
[n] 对应于一个整数,例如序列行号,或者组在层列表中的位置,等等。 对于着色器和组列表,计数从底部开始,位置为1。
[seqName] 对应于序列的名称,不含空格。 例如,如果您将其命名为“Act 1-2”,则 [seqName] = act1-2
[groupName] 对应于组名,不含空格。 例如,如果您将其命名为“Group 4”,则 [groupName] = group4
[mapName] 对应于地图名称,不含空格。 例如,如果您将其命名为“Map 12”,则 [mapName] = map12
[shapeName] 对应于形状(face或播放器)的名称,不含空格。 例如,如果您将其命名为“Face 4”,则 [shapeName] = face4
[playerName] 对应于播放器的名称,不含空格。 例如,如果您将其命名为“Player 4_2”,则 [playerName] = player4_2
[vertexName] 对应于当选择顶点时,在属性面板标题中显示的顶点的名称,不含空格。 例如,如果您的点被命名为“Vertex 192”,则 [vertexName] = vertex192。
[cueName] 对应于提示的名称,不含空格。 例如,如果您将其命名为“Play Act 1-2”,则[cueName] = playact1-2
[shaderName] 对应于接口中显示的着色器名称,不含空格和文件扩展名。 例如,如果您的着色器名为“Chroma Zoom”,则 [shaderName] = chromazoom
[parameterName]对应于在接口中显示的参数名称,不含空格。 这总是与着色器有关。 例如,如果您的参数为“master_zoom”,则 [parameterName] = master_zoom
[variable] 取决于您要定位的参数类型。 对于组效果,[variable] 总是指使用滑块的参数。 对于着色器,还有一些额外的可能性。 以下是 [variable] 可能的含义(参数在括号内):
-
如果参数使用滑块,您可以定位其值,还可以定位与其LFO变化相关的属性:
- 值 (0.0 (0) 到 1.0 (100))
- lfo/模式 (0.0 固定;0.1 正弦;0.2 三角;0.3 梯形;0.4 方形;0.5 锯齿上升;0.6 锯齿下降;0.7 噪声;0.8 低音;0.9 中音;1.0 高音)
- lfo/最低 (0.0 (0) 到 1.0 (100))
- lfo/最高 (0.0 (0) 到 1.0 (100))
- lfo/节奏 (0.0 (0) 到 1.0 (100))
- lfo/速度 (0.0 (0) 到 1.0 (100)) - 如果参数使用复选框:值 (0.0 (未选中) 或 1.0 (选中))
- 如果参数使用列表:值 (0.0 (顶部项目) 到 1.0 (底部项目))
- 如果参数是一个事件,使用按钮:触发 (1 触发)
-
如果参数是一个点,使用x和y图表:
- x (0.0 (最小) 到 1.0 (最大))
- y (0.0 (最小) 到 1.0 (最大))
[colorVariable] 用于当参数是颜色时,并且取决于您是在定位固定颜色还是其他LFO类型的颜色。 以下是 [colorVariable] 可能的含义(参数在括号内):
-
固定或单色:
- r/值 (0.0 (0) 到 1.0 (255))
- g/值 (0.0 (0) 到 1.0 (255))
- b/值 (0.0 (0) 到 1.0 (255))
- h/值 (0.0 (1) 到 1.0 (360))
- s/值 (0.0 (0) 到 1.0 (100))
- v/值 (0.0 (0) 到 1.0 (100))
- a/值 (0.0 (0) 到 1.0 (100))
- [n]/选择 (1.0) [n] 为从1(左上)到20(右下)保存颜色的位置 -
LFO 颜色:
- lfo/模式 (0.0 固定;0.1 正弦;0.2 三角;0.3 梯形;0.4 方形;0.5 锯齿上升;0.6 锯齿下降;0.7 噪声;0.8 低音;0.9 中音;1.0 高音)
- lfo/最低/r/值 (0.0 (0) 到 1.0 (255))
- lfo/最低/g/值 (0.0 (0) 到 1.0 (255))
- lfo/最低/b/值 (0.0 (0) 到 1.0 (255))
- lfo/最低/h/值 (0.0 (1) 到 1.0 (360))
- lfo/最低/s/值 (0.0 (0) 到 1.0 (100))
- lfo/最低/v/值 (0.0 (0) 到 1.0 (100))
- lfo/最低/a/值 (0.0 (0) 到 1.0 (100))
- lfo/最低/[n]/选择 (1.0) [n] 为从1(左上)到20(右下)保存颜色的位置
- lfo/最高/r/值 (0.0 (0) 到 1.0 (255))
- lfo/最高/g/值 (0.0 (0) 到 1.0 (255))
- lfo/最高/b/值 (0.0 (0) 到 1.0 (255))
- lfo/最高/h/值 (0.0 (1) 到 1.0 (360))
- lfo/最高/s/值 (0.0 (0) 到 1.0 (100))
- lfo/最高/v/值 (0.0 (0) 到 1.0 (100))
- lfo/最高/a/值 (0.0 (0) 到 1.0 (100))
- lfo/最高/[n]/选择 (1.0) [n] 为从1(左上)到20(右下)保存颜色的位置
- lfo/节奏 (0.0 (0) 到 1.0 (100))
- lfo/速度 (0.0 (0) 到 1.0 (100))
不用担心,文章中会给出示例!
默认 OSC 消息列表
您可以在下方找到的表格:
-
主
主不透明度 / 主着色器 -
序列器
序列控制 / 序列过渡 / 序列着色器 / 选项卡 / 自动驾驶 / 时间轴 / 音频分析 / 速度 -
组
组选择 / 组属性 / 组着色器 / 组效果 -
形状
坐标 / 尺寸 / 播放器着色器 -
来源
播放 / 视频 / 着色器 / 文本
主
主不透明度
| 不透明度 |
/master/opacity/value |
0.0 (0%) 到 1.0 (100%) |
主着色器
| 切换所有 |
/master/shaders/all/toggle |
1 (开) 或 0 (关) |
| 切换一个 |
/master/shaders/[shaderName]/toggle |
1 (开) 或 0 (关) |
| 参数 |
// 颜色参数 |
取决于 [variable] 或 [colorVariable] |
// Chroma Zoom.fs 的例子,列表倒数第二个位置
/master/shaders/chromazoom/toggle
/master/shaders/2/toggle
/master/shaders/chromazoom/master_zoom/value
/master/shaders/chromazoom/master_zoom/lfo/mode
/master/shaders/chromazoom/master_zoom/lfo/min
/master/shaders/chromazoom/master_zoom/lfo/max
/master/shaders/chromazoom/master_zoom/lfo/tempo
/master/shaders/chromazoom/master_zoom/lfo/speed
/master/shaders/2/master_zoom/value
...
序列器
序列控制
| 编辑 |
/sequences/[seqName]/edit |
1 |
| 播放 |
/sequences/[seqName]/play |
1 (播放) 或 0 (停止) |
| 播放上一个 |
/sequences/playprevious |
1 |
| 播放下一个 |
/sequences/playnext |
1 |
| 播放黑场 |
/sequences/blackout |
1 |
// 名为 "Seq 1-2" 的序列示例
// 位于第二个选项卡,第 2 行和第 2 列
/sequences/seq1-2/edit
/sequences/tabs/2/rows/2/columns/2/edit
/sequences/seq1-2/play
/sequences/tabs/2/rows/2/columns/2/play
序列转换
| 参数 |
/sequences/[seqName]/transition/[parameterName]/[variable] |
取决于 [variable] |
// 名为 "Seq 1-2" 的序列示例
// 位于第二个选项卡,第 2 行和第 2 列
// 带有 Angular 转换
/sequences/seq1-2/transition/startingangle/value
/sequences/edited/transition/startingangle/value
/sequences/tabs/2/rows/2/columns/2/transition/startingangle/value
/sequences/seq1-2/transition/startingangle/value
/sequences/seq1-2/transition/startingangle/lfo/mode
/sequences/seq1-2/transition/startingangle/lfo/min
/sequences/seq1-2/transition/startingangle/lfo/max
/sequences/seq1-2/transition/startingangle/lfo/tempo
/sequences/seq1-2/transition/startingangle/lfo/speed
/sequences/edited/transition/startingangle/value
...
序列着色器
| 切换全部 (2.13.5) |
/sequences/[seqName]/shaders/all/toggle |
1 (开) 或 0 (关) |
| 切换一个 |
/sequences/[seqName]/shaders/[shaderName]/toggle |
1 (开) 或 0 (关) |
| 参数 |
// 颜色参数 |
取决于 [variable] 或 [colorVariable] |
// 名为 "Seq 1-2" 的序列示例
// 位于第二个选项卡,第 2 行和第 2 列
// 带有 Chroma Zoom.fs,为列表倒数第二个
/sequences/seq1-2/shaders/chromazoom/toggle
/sequences/edited/shaders/chromazoom/toggle
/sequences/tabs/2/rows/2/columns/2/shaders/chromazoom/toggle
/sequences/seq1-2/shaders/2/toggle
/sequences/edited/shaders/2/toggle
/sequences/tabs/2/rows/2/columns/2/shaders/2/toggle
/sequences/seq1-2/shaders/chromazoom/master_zoom/value
/sequences/seq1-2/shaders/chromazoom/master_zoom/lfo/mode
/sequences/seq1-2/shaders/chromazoom/master_zoom/lfo/min
/sequences/seq1-2/shaders/chromazoom/master_zoom/lfo/max
/sequences/seq1-2/shaders/chromazoom/master_zoom/lfo/tempo
/sequences/seq1-2/shaders/chromazoom/master_zoom/lfo/speed
/sequences/edited/shaders/chromazoom/master_zoom/value
...
选项卡
| 选择 |
/sequences/tabs/[tabName]/select |
1 |
| 选择上一个 |
/sequences/tabs/selectprevious |
1 |
| 选择下一个 |
/sequences/tabs/selectnext |
1 |
// 名为 "Draft 1" 的选项卡示例,位于左侧第二个位置
/sequences/tabs/draft1/select
/sequences/tabs/2/select
自动驾驶
| 切换 |
/autopilot/toggle |
1 (开) 或 0 (关) |
| 选择方向 |
/autopilot/direction |
0 (从左到右) 或 1 (随机) |
时间轴
| 播放 / 暂停 |
/timeline/play |
1 (播放) 或 0 (暂停) |
| 停止 |
/timeline/stop |
1 |
| 播放头位置 |
/timeline/playhead/position |
0.0 (开始) 到 1.0 (结束) |
| 转到提示 |
/timeline/cues/[cueName]/goto |
1 |
| 转到下一个提示 |
/timeline/next |
1 |
| 转到上一个提示 |
/timeline/previous |
1 |
| 提示时间戳 |
/timeline/cues/[cueName]/timestamp |
0.0 (开始) 到 1.0 (结束) |
// 名为 "Play Seq 1-2" 的提示示例,位于左侧第二个位置
/timeline/cues/playseq1-2/goto
/timeline/cues/2/goto
/timeline/cues/playseq1-2/timestamp
/timeline/cues/2/timestamp
音频分析
| 切换 |
/audioanalysis/toggle |
1 (开) 或 0 (关) |
| 全局增益 |
/audioanalysis/gain/global |
0.0 (最小) 到 1.0 (最大) |
| "低音" 增益 |
/audioanalysis/gain/bass
|
0.0 (最小) 到 1.0 (最大) |
|
"中音" 增益 |
/audioanalysis/gain/mid |
0.0 (最小) 到 1.0 (最大) |
| "高音" 增益 |
/audioanalysis/gain/high |
0.0 (最小) 到 1.0 (最大) |
速度
| BPM 值 |
/tempo/bpm |
0.0 (20) 到 1.0 (999) |
| 拍打 |
/tempo/tap |
1 |
| 重新同步 |
/tempo/resync |
1 |
| 切换 Ableton 链接 |
/abletonlink/toggle |
1 (开) 或 0 (关) |
合并
组选择
| 选择 |
/sequences/[seqName]/groups/[groupName]/select |
1 |
| 选择上方 |
/sequences/edited/groups/selectabove |
1 |
| 选择下方 |
/sequences/edited/groups/selectbelow |
1 |
// 名为 "Group D" 的组示例
// 在列表倒数第四个位置
// 名为 "Seq 1-2" 的序列中
/sequences/seq1-2/groups/groupd/select
/sequences/edited/groups/4/select
组属性
| 不透明度 |
/sequences/[seqName]/groups/[groupName]/opacity/[variable] |
取决于 [variable] |
// 名为 "Group D" 的组示例
// 在列表倒数第四个位置
// 名为 "Seq 1-2" 的序列中
/sequences/seq1-2/groups/groupd/opacity/value
/sequences/edited/groups/4/opacity/value
/sequences/edited/groups/selected/opacity/value
/sequences/seq1-2/groups/groupd/opacity/lfo/mode
/sequences/seq1-2/groups/groupd/opacity/lfo/min
/sequences/seq1-2/groups/groupd/opacity/lfo/max
/sequences/seq1-2/groups/groupd/opacity/lfo/tempo
/sequences/seq1-2/groups/groupd/opacity/lfo/speed
/sequences/edited/groups/4/opacity/lfo/mode
...
组着色器
| 切换全部 (2.13.5) |
/sequences/[seqName]/groups/[groupName]/shaders/all/toggle |
1 (开) 或 0 (关) |
| 切换一个 |
/sequences/[seqName]/groups/[groupName]/shaders/[shaderName]/toggle |
1 (开) 或 0 (关) |
| 参数 |
// 颜色参数 |
取决于 [variable] 或 [colorVariable] |
// 名为"Group D"的组的示例
// 从列表底部算起第四个位置
// 名为"Seq 1-2"的序列中
// 使用 Chroma Zoom.fs,排在其列表的倒数第二
/sequences/seq1-2/groups/groupd/shaders/chromazoom/toggle
/sequences/edited/groups/4/shaders/chromazoom/toggle
/sequences/edited/groups/selected/shaders/chromazoom/toggle
/sequences/seq1-2/groups/groupd/shaders/2/toggle
/sequences/edited/groups/4/shaders/2/toggle
/sequences/edited/groups/selected/shaders/2/toggle
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/value
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/lfo/mode
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/lfo/min
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/lfo/max
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/lfo/tempo
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/lfo/speed
/sequences/edited/groups/4/shaders/chromazoom/master_zoom/value
...
效果组
| 切换效果 |
// 地址遵循此结构: |
1 (开) 或 0 (关) |
| 选择模式 |
// 地址遵循此结构: |
1 |
| 边框参数 |
// 颜色 (2.13) |
取决于 [variable] 或 [colorVariable] |
| 线条参数 |
// 颜色 (2.13) |
取决于 [variable] 或 [colorVariable] |
| 颜色参数 |
// 颜色 (2.13) |
取决于 [variable] 或 [colorVariable] |
| 特别参数 |
// 颜色 (2.13) |
取决于 [variable] 或 [colorVariable] |
| 蛇形参数 |
// 应用于 |
取决于 [variable] |
| 旋转参数 |
// 路径 |
取决于 [variable] |
| 结构参数 |
// 颜色 (2.13) |
取决于 [variable] 或 [colorVariable] |
形状
坐标 (2.13)
| X 坐标 (形状) |
/sequences/edited/shapes/selected/x/value |
取决于 [variable] |
| Y 坐标 (形状) |
/sequences/edited/shapes/selected/y/value |
取决于 [variable] |
| X 坐标 (顶点) |
/sequences/edited/vertex/selected/x/value |
取决于 [variable] |
|
Y 坐标 (顶点) |
/sequences/edited/vertex/selected/y/value |
取决于 [variable] |
| X 坐标 (中心) |
/sequences/edited/shapes/selected/center/x/[variable] |
取决于 [variable] |
|
Y 坐标 (中心) |
/sequences/edited/shapes/selected/center/y/[variable] |
取决于 [variable] |
// 一个名为 "Player 2" 的形状示例
// 一个名为 “Vertex 192” 的顶点
// 在一个名为 "Map 1-2" 的地图中
/sequences/edited/shapes/selected/x/value
/maps/map1-2/shapes/player2/x/value
/sequences/edited/shapes/selected/y/value
/maps/map1-2/shapes/player2/y/value
/sequences/edited/vertex/selected/x/value
/maps/map1-2/shapes/player2/vertex/vertex192/x/value
/sequences/edited/vertex/selected/y/value
/maps/map1-2/shapes/player2/vertex/vertex192/y/value
// 可能的地址中心
/sequences/edited/shapes/selected/center/x/value
/sequences/edited/shapes/selected/center/x/lfo/mode
/sequences/edited/shapes/selected/center/x/lfo/min
/sequences/edited/shapes/selected/center/x/lfo/max
/sequences/edited/shapes/selected/center/x/lfo/tempo
/sequences/edited/shapes/selected/center/x/lfo/speed
/sequences/edited/shapes/selected/center/y/value
/sequences/edited/shapes/selected/center/y/lfo/mode
/sequences/edited/shapes/selected/center/y/lfo/min
/sequences/edited/shapes/selected/center/y/lfo/max
/sequences/edited/shapes/selected/center/y/lfo/tempo
/sequences/edited/shapes/selected/center/y/lfo/speed
维度 (2.13)
| 宽度 (形状) |
/sequences/edited/shapes/selected/w/value |
取决于 [变量] |
| 高度 (形状) |
/sequences/edited/shapes/selected/h/value |
取决于 [变量] |
// 一个名为 "Player 2" 的形状示例
// 在一个名为 "Map 1-2" 的地图中
/sequences/edited/shapes/selected/w/value
/maps/map1-2/shapes/player2/w/value
/sequences/edited/shapes/selected/h/value
/maps/map1-2/shapes/player2/h/value
播放器着色器
| 切换全部 (2.13.5) |
/sequences/[seqName]/shapes/[playerName]/shaders/all/toggle |
1 (开) 或 0 (关) |
| 切换一个 |
/sequences/[seqName]/shapes/[playerName]/shaders/[shaderName]/toggle |
1 (开) 或 0 (关) |
| 参数 |
// 颜色参数 |
取决于 [变量] 或 [颜色变量] |
// 一个名为 "Player 2" 的播放器示例
// 在一个名为 "Seq 1-2" 的序列中
// 带有 Chroma Zoom.fs,在其列表的倒数第二个位置
/sequences/seq1-2/shapes/player2/shaders/chromazoom/toggle
/sequences/edited/shapes/player2/shaders/chromazoom/toggle
/sequences/seq1-2/shapes/player2/shaders/2/toggle
/sequences/edited/shapes/player2/shaders/2/toggle
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/value
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/lfo/mode
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/lfo/min
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/lfo/max
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/lfo/tempo
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/lfo/speed
/sequences/edited/shapes/player2/shaders/chromazoom/master_zoom/value
...
来源
播放
| 播放模式 |
/sources/[n]/playbackmode |
0.0 正常 |
| 切换 "使用序列重新启动" |
/sources/[n]/restartwithseq |
1 (开启) 或 0 (关闭) |
| 触发媒体 |
/sources/[n]/medias/[n]/trigger // 对于播放列表来源
|
1 |
| 触发下一个媒体 |
/sources/[n]/next // 对于播放列表来源
|
1 |
| 触发上一个媒体 |
/sources/[n]/previous // 对于播放列表来源
|
1 |
| 重新启动播放列表 |
/sources/[n]/restart // 对于播放列表来源
|
1 |
| 媒体循环模式 |
/sources/[n]/loop // 对于单个来源 |
0.0 循环 0.33 跟随(仅限播放列表) 0.66 暂停 1.0 停止 |
// 单个来源在左上角的第一个位置的示例
/sources/1/playbackmode
/sources/1/restartwithseq
/sources/1/loop
// 在左上角第二个位置的播放列表来源的示例
// 至少有 2 个媒体
/sources/2/playbackmode
/sources/2/restartwithseq
/sources/2/medias/2/trigger
/sources/2/next
/sources/2/previous
/sources/2/restart
/sources/2/loop
/sources/2/medias/2/loop
视频
| 播放 / 暂停 |
/sources/[n]/play // 对于单个来源 |
1 (播放) 或 0 (暂停) |
| 倒带 |
/sources/[n]/rewind // 对于单个来源 |
1 |
| 音量 |
/sources/[n]/volume // 对于单个来源 |
0.0 (静音) 到 1.0 (最大) |
// 左上角第一个位置的单个视频来源示例
/sources/1/play
/sources/1/rewind
/sources/1/volume
// 左上角第二个位置的播放列表来源示例
// 第一媒体位置的视频
/sources/2/play
/sources/2/rewind
/sources/2/medias/1/volume
着色器
| 参数 |
// 颜色参数 |
取决于 [变量] 或 [颜色变量] |
// Bricked.fs 在一个单独的着色器来源中的示例
// 在左上角的第一个位置
/sources/1/tile/value
/sources/1/tile/lfo/mode
...
// 左上角第二个位置的播放列表来源的示例
// 在第一媒体位置的 Bricked.fs
/sources/2/medias/1/tile/value
/sources/2/medias/1/tile/lfo/mode
...
文本
| 参数 |
/sources/[n]/align // 对于单个来源 |
0.0 左对齐 0.5 居中对齐 1.0 右对齐 |
// 左上角第一个位置的单个文本来源的示例
/sources/1/align
// 左上角第二个位置的播放列表来源的示例
// 在第一媒体位置的文本
/sources/2/medias/1/align