04-功能详解

功能详解

OSC 消息格式

OSC 地址采用 URL 风格路径,以 / 开头:

/1/fader1
/synth/filter/cutoff
/composition/layers/3/opacity
/live/set/tempo

地址区分大小写,不支持通配符(标准 OSC)。

类型标签

OSC 消息携带类型信息。NexOsc 支持三种常用类型:

标签类型示例值
iint3242
ffloat320.75
sstring"hello"

消息打包

程序自动完成打包/解析,用户无需关心底层格式。

控件面板详解

┌────┐
│  ▲ │ ← 滑块位置决定值
│  █ │
│  █ │
│  █ │
│  █ │
│  ▼ │
├────┤
│Vol │ ← 标签
└────┘

按钮(Button)

┌──────┐
│  ●   │ ← 按下亮起
│ Mute │
└──────┘

旋钮(Knob)

┌──┐
  ╱    ╲
 │  ●   │ ← 指针指示当前值
  ╲    ╱
   └──┘
   Pan

标签(Label)

┌──────────┐
│  -12 dB  │ ← 显示当前接收值
│  Volume  │
└──────────┘

控件交互流程

用户操作推子
    ↓
控件值变化 (0.0 → 0.75)
    ↓
构建 OSC 消息: /1/fader1 ,f 0.75
    ↓
通过 UDP 发送到远程地址:端口
    ↓
日志显示: [TX] /1/fader1 = 0.75

OSC 接收 → 控件更新

UDP 收到 OSC 消息: /1/fader1 ,f 0.3
    ↓
解析地址和值
    ↓
匹配控件: 查找地址为 /1/fader1 的控件
    ↓
更新控件显示 (推子滑块移动到 0.3 位置)
    ↓
日志显示: [RX] /1/fader1 = 0.3

TouchOSC 兼容性

自动发送

数据可视化

从接收到的 OSC 数值中提取并实时绘图。使用正则表达式规则从 OSC 消息日志中匹配数值。