novation Launch Control Xl 编程器

Launch Control XL 程序员参考指南
产品信息
Launch Control XL 是一款带有 LED 灯的 MIDI 控制器,可以通过两种不同的协议进行编程:传统的 Launchpad MIDI 协议和 Launch Control XL 系统专用协议。 LED 灯可以设置为四种不同的亮度级别,并且可以使用 Copy 和 Clear 位进行双缓冲操作。
产品用途
要设置 Launch Control XL 上的 LED 灯,您可以使用 Launchpad MIDI 协议或 Launch Control XL 系统独占协议。
Launchpad MIDI 协议
如果您使用 Launchpad MIDI 协议,则需要选择一个包含按钮的模板,该按钮的音符/CC 和 MIDI 通道对应于传入的消息。 要设置 LED 灯,请发送具有单字节结构的消息,其中包括红色和绿色 LED 的亮度级别,以及复制和清除标志。
字节结构:
- 第 6 位:必须为 0
- 位 5-4:绿色 LED 亮度级别 (0-3)
- 位 3:清除标志(1 清除其他缓冲区的 LED 副本)
- 位 2:复制标志(1 表示将 LED 数据写入两个缓冲区)
- 位 1-0:红色 LED 亮度级别 (0-3)
每个 LED 都可以设置为四个亮度级别之一:
- 亮度 0:关闭
- 亮度1:低亮度
- 亮度2:中等亮度
- 亮度 3:全亮度
如果不使用双缓冲功能,则在打开或关闭 LED 时保持复制和清除标志设置是一个很好的做法。
要计算速度值,请使用以下公式:
- 十六进制版本:速度 = (10h x 绿色) + 红色 + 旗帜
- 十进制版本:速度 = (16 x 绿色) + 红色 + 旗帜
- Flags = 12(十六进制 OCh)用于正常使用; 8 使 LED 闪烁,如果已配置; 0 如果使用双缓冲。
发射控制 XL 系统独家协议
如果您使用的是 Launch Control XL System Exclusive 协议,则无论其音符/CC 值或 MIDI 通道如何,所需的按钮都会更新。 要设置 LED 灯,请发送具有单字节结构的消息,其中包括红色和绿色 LED 的亮度级别,以及复制和清除标志。
字节结构:
- 第 6 位:必须为 0
- 位 5-4:绿色 LED 亮度级别 (0-3)
- 位 3:清除标志(1 清除其他缓冲区的 LED 副本)
- 位 2:复制标志(1 表示将 LED 数据写入两个缓冲区)
- 位 1-0:红色 LED 亮度级别 (0-3)
每个 LED 都可以设置为四个亮度级别之一:
- 亮度 0:关闭
- 亮度1:低亮度
- 亮度2:中等亮度
- 亮度 3:全亮度
控制双缓冲
Launch Control XL 还具有用于 LED 照明的双缓冲。 要使用双缓冲,请发送值为 0 的 Control 双缓冲消息将其打开或 1 将其关闭。 使用双缓冲时,Copy 和 Clear 标志可用于操作正在写入的缓冲区。
介绍
- 本手册描述了 Launch Control XL 的 MIDI 通信格式。 这是您编写专为 Launch Control XL 定制的补丁和应用程序所需的所有专有信息。
- 假定您已经具备 MIDI 的基本知识,以及一些用于编写交互式 MIDI 应用程序的适当软件(例如ample、Max for Live、Max/MSP 或 Pure Data)。
- 本手册中的数字以十六进制和十进制两种形式给出。 为避免歧义,十六进制数后面始终跟有小写的 h。
Launch Control XL MIDI 结束view
- Launch Control XL 是一款符合类标准的 USB 设备,拥有 24 个电位器、8 个推子和 24 个可编程按钮。 16 个“通道”按钮每个都包含一个双色 LED,带有一个红色元素和一个绿色元素; 来自这些元素的光可以混合形成琥珀色。 四个方向按钮各包含一个红色 LED。 “Device”、“Mute”、“Solo”和“Record Arm”按钮各包含一个黄色 LED。 Launch Control XL 有 16 个模板:8 个可以修改的用户模板和 8 个不能修改的工厂模板。 用户模板占用插槽 00h07h (0-7),而工厂模板占用插槽 08-0Fh (8-15)。 使用 Launch Control XL 编辑器(可在 Novation web站点)修改您的 8 个用户模板。
- Launch Control XL 有一个名为“Launch Control XL n”的 MIDI 端口,其中 n 是您设备的设备 ID(设备 ID 1 未显示)。 任何模板的按钮 LED 都可以通过系统专用消息进行控制。 或者,根据原始 Launchpad 协议,当前所选模板的按钮 LED 可以通过 MIDI 音符开启、音符关闭和控制更改 (CC) 消息进行控制。
- Launch Control XL 使用系统独占协议来更新任何模板上任何按钮的状态,而不管当前选择的模板是什么。 为了保持与 Launchpad 和 Launchpad S 的兼容性,Launch Control XL 还通过音符开启、音符关闭和 CC 消息遵守传统的 Launchpad LED 照明协议。 但是,只有当当前选择的模板包含一个按钮/pot,其音符/CC 值和 MIDI 通道与传入消息匹配时,才会对此类消息进行操作。 因此建议用户采用新的系统独占协议。
- 此外,Launch Control XL 还支持原始的 Launchpad 双缓冲、闪烁和设置/重置所有 LED 消息,其中消息的 MIDI 通道定义消息的目标模板。 因此,无论当前选择哪个模板,都可以随时发送这些消息。
- 每个 LED 的状态在更改模板时存储,并在重新选择模板时调用。 所有 LED 都可以通过 SysEx 在后台更新。
计算机到设备的消息
Launch Control XL 上的 LED 可以通过两种不同的协议进行设置:(1) 传统的 Launchpad MIDI 协议,它要求当前选择的模板包含一个按钮,其音符/CC 和 MIDI 通道对应于传入的消息; (2) Launch Control XL System Exclusive 协议,无论其音符/CC 值或 MIDI 通道如何,该协议都会更新所需的按钮。
在这两种协议中,单个字节用于设置红色和绿色 LED 的强度。 该字节还包括复制和清除标志。 字节结构如下(不熟悉二进制的可以往下看公式):
| 少量 | 姓名 | 意义 |
| 6 | 必须年满 0 岁 | |
| 5..4 | 绿色的 | 绿色 LED 亮度 |
| 3 | 清除 | 如果为 1:清除此 LED 的其他缓冲区副本 |
| 2 | 复制 | 如果为 1:将此 LED 数据写入两个缓冲区 |
| 注意:当两者都存在时,此行为会覆盖清除行为 | ||
| 位被设置 | ||
| 1..0 | 红色的 | 红色 LED 亮度 |
Copy 和 Clear 位允许操纵 Launch Control XL 的双缓冲功能。 有关如何使用它的详细信息,请参阅“控制双缓冲”消息和附录。
因此,每个 LED 都可以设置为四个值之一:
- 亮度 意义
- 0 关闭
- 1 低亮度
- 2 中等亮度
- 3 全亮度
如果不使用双缓冲功能,最好在打开或关闭 LED 时保持复制和清除位设置。 这使得可以在闪烁模式下使用相同的例程而无需重新处理它们。 计算速度值的公式为:
| 十六进制版本 | 速度 | = | (10 小时 x 绿色) |
| + | 红色的 | ||
| + | 标志 | ||
| 十进制版本 | 速度 | = | (16 x 绿色) |
| + | 红色的 | ||
| + | 标志 | ||
| 在哪里 | 标志 | = | 12(十六进制 OCh)用于正常使用; |
| 8 | 使 LED 闪烁(如果已配置); | ||
| 0 | 如果使用双缓冲。 |
下表中的正常使用的预计算速度值也可能有帮助:
| 十六进制 | 十进制 | 颜色 | 亮度 |
| 0Ch | 12 | 离开 | 离开 |
| 0天 | 13 | 红色的 | 低的 |
| 0F小时 | 15 | 红色的 | 满的 |
| 1天 | 29 | 琥珀色 | 低的 |
| 3F小时 | 63 | 琥珀色 | 满的 |
| 3Eh | 62 | 黄色的 | 满的 |
| 1Ch | 28 | 绿色的 | 低的 |
| 3Ch | 60 | 绿色的 | 满的 |
闪烁 LED 的值为
| 十六进制 | 十进制 | 颜色 | 亮度 |
| 0B小时 | 11 | 红色的 | 满的 |
| 3B小时 | 59 | 琥珀色 | 满的 |
| 3安时 | 58 | 黄色的 | 满的 |
| 38小时 | 56 | 绿色的 | 满的 |
发射台协议
注意 — 设置按钮 LED
- 十六进制版本 9nh,注意,速度
- Dec 版本 144+n,注意,速度
音符打开消息会更改当前所选模板中所有按钮的状态,其音符/CC 值与传入音符值匹配,其零索引 MIDI 通道与传入消息的 MIDI 通道 n 匹配。 速度用于设置 LED 颜色。
Note Off——关闭按钮 LED
- 十六进制版本 8nh,注意,速度
- Dec versio 128+n,注意,速度
此消息被解释为具有相同音符值但力度为 0 的音符开启消息。
在此消息中忽略 Velocity 字节。
重置启动控制 XL
- 十六进制版本 Bnh、00h、00h
- 十二月版本 176+n, 0, 0
所有 LED 均关闭,缓冲器设置和占空比重置为其默认值。 MIDI 通道 n 定义了此消息所针对的模板(00h-07h (0-7) 用于 8 个用户模板,08h-0Fh (8-15) 用于 8 个工厂模板)。
控制双缓冲
- 十六进制版本 Bnh、00h、20-3Dh
- 十二月版本 176+n, 0, 32-61
此消息用于控制按钮的双缓冲状态。 MIDI 通道 n 定义了此消息所针对的模板(00h-07h (0-7) 用于 8 个用户模板,08h-0Fh (8-15) 用于 8 个工厂模板)。 有关双缓冲的更多信息,请参阅附录。 最后一个字节确定如下:
| 少量 | 姓名 | 意义 | |
| 6 | 必须为 0。 | ||
| 5 | 必须为 1。 | ||
| 4 | 复制 | 如果 1:从新的“显示”缓冲区复制 LED 状态 | 到 |
| 这 | 新的“更新”缓冲区。 | ||
| 3 | 闪光 | 如果为 1:不断翻转“显示”缓冲区以进行选择 | |
| LED 闪烁。 | |||
| 2 | 更新 | 将缓冲区 0 或缓冲区 1 设置为新的“更新”缓冲区。 | |
| 1 | 必须为 0。 | ||
| 0 | 展示 | 将缓冲区 0 或缓冲区 1 设置为新的“显示”缓冲区。 |
对于不太熟悉二进制的人,计算数据字节的公式是
- 位名称含义
- 6 必须为 0。
- 5 必须为 1。
- 4 Copy If 1:将 LED 状态从新的“显示”缓冲区复制到新的“更新”缓冲区。
- 3 Flash 如果为 1:连续翻转“显示”缓冲区以使选定的 LED 闪烁。
- 2 更新 将缓冲区 0 或缓冲区 1 设置为新的“更新”缓冲区。
- 1 必须为 0。
- 0 显示 将缓冲区 0 或缓冲区 1 设置为新的“显示”缓冲区。
对于那些不太熟悉二进制的人,计算数据字节的公式是:
- 十六进制版本数据 =(4 x 更新)
- + 显示
- + 20 小时
- + 旗帜
- 十进制版本数据 =(4 x 更新)
- + 显示
- + 32
- + 旗帜
- 其中 Flags = 16(十六进制为 10h)用于复制;
- 8 个用于闪存;
- 0 否则
默认状态为零:不闪烁; 更新缓冲区为0; 显示缓冲区也为 0。在此模式下,任何写入 Launch Control XL 的 LED 数据都会立即显示。 发送此消息还会重置闪光计时器,因此它可用于重新同步连接到系统的所有 Launch Control XL 的闪光速率
打开所有 LED
- 十六进制版本 Bnh、00h、7D-7Fh
- 十二月版本 176+n, 0, 125-127
最后一个字节可以取三个值之一
| 十六进制 | 十进制 | 意义 |
| 7天 | 125 | 低亮度测试。 |
| 7Eh | 126 | 中等亮度测试。 |
| 7F小时 | 127 | 全亮度测试。 |
发送此命令会重置所有其他数据——请参阅 Reset Launch Control XL 消息了解更多信息。 MIDI 通道 n 定义了此消息所针对的模板(00h-07h (0-7) 用于 8 个用户模板,08h-0Fh (8-15) 用于 8 个工厂模板)。
Launch Control XL 系统专用协议集 LED
System Exclusive 消息可用于设置任何模板中任何按钮或 pot 的 LED 值,无论当前选择了哪个模板。 这是使用以下消息完成的
- 十六进制 F0h 00h 20h 29h 02h 11h 78h 模板索引值 F7h
- Dec 版本 240 0 32 41 2 17 120 模板索引值 247
其中Template为00h-07h(0-7)为8个用户模板,08h-0Fh(8-15)为8个工厂模板; Index 是按钮或底池的索引(见下文); Value 是定义红色和绿色 LED 亮度值的速度字节。
通过包含多个 LED 值字节对,可以在单个消息中对多个 LED 进行寻址。
指标如下:
- 00-07h (0-7) :旋钮的顶行,从左到右
- 08-0Fh (8-15) : 中间一排旋钮,从左到右
- 10-17h (16-23) :底部一排旋钮,从左到右
- 18-1Fh (24-31):顶行“频道”按钮,从左到右
- 20-27h (32-39) :底部一行“频道”按钮,从左到右
- 28-2Bh (40-43) :按钮设备、静音、独奏、录音臂
- 2C-2Fh (44-47) :按钮上、下、左、右
切换按钮状态
行为设置为“切换”(而不是“瞬时”)的按钮状态可以通过系统独占消息进行更新。 这是使用以下消息完成的:
- 十六进制 F0h 00h 20h 29h 02h 11h 7Bh 模板索引值 F7h
- Dec 版本 240 0 32 41 2 17 123 模板索引值 247
其中Template为00h-07h(0-7)为8个用户模板,08h-0Fh(8-15)为8个工厂模板; Index 是按钮的索引(见下文); 值为 00h (0) 表示关闭或 7Fh (127) 表示打开。 未设置为“切换”的按钮的消息将被忽略。
通过包含多个索引值字节对,可以在单个消息中对多个按钮进行寻址。
指标如下:
- 00-07h (0-7) : 第一行“频道”按钮,从左到右
- 08-0Fh (8-15) :“频道”按钮的底排,从左到右
- 10-13h (16-19) :按钮 Device、Mute、Solo、Record Arm
- 14-17h (20-23) :按钮上、下、左、右
更改当前模板
以下消息可用于更改设备的当前模板:
- 十六进制 F0h 00h 20h 29h 02h 11h 77h 模板 F7h
- Dec 版本 240 0 32 41 2 17 119 模板 247
其中 Template 为 00h-07h (0-7) 用于 8 个用户模板,08h-0Fh (8-15) 用于 8 个工厂模板。
设备到计算机的消息
按下按钮
- 十六进制版本 9nh,注意,速度
- Dec 版本 144+n,注意,速度或
- 十六进制版本 Bnh、CC、速度
- Dec 版本 176+n,CC,Velocity
按钮可以在零索引 MIDI 通道 n 上输出音符消息或 CC 消息。 按下按钮时,将以 7Fh 的速度发送消息; 第二条消息在释放时以速度 0 发送。 编辑器可用于在按下/释放时更改每个按钮的音符/CC 值和力度值。
模板已更改
Launch Control XL 在更改模板时发送以下系统独占消息:
- 十六进制 F0h 00h 20h 29h 02h 11h 77h 模板 F7h
- Dec 版本 240 0 32 41 2 17 119 模板 247
其中 Template 为 00h-07h (0-7) 用于 8 个用户模板,08h-0Fh (8-15) 用于 8 个工厂模板。
通过 Note Messages 点亮 LED
在这里,您可以看到用于点亮 Launch Control XL 表盘下方 LED 的注释消息。
LED双缓冲闪烁
Launch Control XL 有两个 LED 缓冲区,0 和 1。可以显示其中一个,同时通过传入的 LED 指令更新其中一个。 实际上,这可以通过以下两种方式之一增强 Launch Control XL 的性能:
- 通过启用大规模 LED 更新,虽然设置可能需要 100 毫秒,但对用户来说似乎是瞬时的。
- 通过自动闪烁选定的 LED
为第一个目的利用双缓冲需要对现有应用程序进行很少的修改。 可以通过以下方式引入
- 在启动时发送 Bnh, 00h, 31h (176+n, 0, 49),其中 n 定义此消息的目标模板(00h-07h (0-7) 用于 8 个用户模板,08h-0Fh (8-15) 为 8 个工厂模板)。 这会将缓冲区 1 设置为显示缓冲区,将缓冲区 0 设置为更新缓冲区。 Launch Control XL 将停止显示写入其中的新 LED 数据。
- 照常将 LED 写入 Launch Control XL,确保未设置 Copy 和 Clear 位。
- 当这个更新完成后,发送 Bnh, 00h, 34h (176+n, 0, 52)。 这将缓冲区 0 设置为
显示缓冲区,缓冲区 1 作为更新缓冲区。 新的 LED 数据将立即变得可见。 缓冲区 0 的当前内容将自动复制到缓冲区 1。 - 将更多 LED 写入 Launch Control XL,并将复制和清除位设置为零。
- 当本次更新完成后,再次发送 Bnh, 00h, 31h (176+n, 0, 49)。 这切换回第一状态。 新的 LED 数据将变为可见,缓冲区 1 的内容将被复制回缓冲区 0。
- 从第 2 步继续。
- 最后,要关闭此模式,请发送 Bnh, 00h, 30h (176+n, 0, 48)。
或者,可以使选定的 LED 闪烁。 要打开自动闪烁,让 Launch Control XL 使用自己的闪烁速度,请发送:
- 十六进制版本 Bnh、00h、28h
- 十二月版本 176+n, 0, 40
如果需要外部时间线使 LED 以确定的速率闪烁,建议采用以下顺序:
- 在 Bnh、00h、20h(十进制版本 176+n、0、32)上打开闪烁的 LED
- 关闭闪烁的 LED Bnh、00h、20h(十进制版本 176+n、0、33)
如前所述,在一般寻址 LED 时保持清除和复制位设置是一种很好的做法,这样可以轻松扩展应用程序以包括闪烁。 否则,稍后尝试引入它时会出现意想不到的效果。
文件/资源
![]() |
novation Launch Control Xl 编程器 [pdf] 用户指南 发射控制 Xl 程序员, 发射控制, Xl 程序员, 程序员 |





