创新-LOGO

novation Launch Control Xl 编程器

novation-Launch-Control-XL-Programmer-产品

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 的注释消息。novation-Launch-Control-XL-Programmer-FIG-1

LED双缓冲闪烁

Launch Control XL 有两个 LED 缓冲区,0 和 1。可以显示其中一个,同时通过传入的 LED 指令更新其中一个。 实际上,这可以通过以下两种方式之一增强 Launch Control XL 的性能:

  • 通过启用大规模 LED 更新,虽然设置可能需要 100 毫秒,但对用户来说似乎是瞬时的。
  • 通过自动闪烁选定的 LED

为第一个目的利用双缓冲需要对现有应用程序进行很少的修改。 可以通过以下方式引入

  1. 在启动时发送 Bnh, 00h, 31h (176+n, 0, 49),其中 n 定义此消息的目标模板(00h-07h (0-7) 用于 8 个用户模板,08h-0Fh (8-15) 为 8 个工厂模板)。 这会将缓冲区 1 设置为显示缓冲区,将缓冲区 0 设置为更新缓冲区。 Launch Control XL 将停止显示写入其中的新 LED 数据。
  2. 照常将 LED 写入 Launch Control XL,确保未设置 Copy 和 Clear 位。
  3. 当这个更新完成后,发送 Bnh, 00h, 34h (176+n, 0, 52)。 这将缓冲区 0 设置为
    显示缓冲区,缓冲区 1 作为更新缓冲区。 新的 LED 数据将立即变得可见。 缓冲区 0 的当前内容将自动复制到缓冲区 1。
  4. 将更多 LED 写入 Launch Control XL,并将复制和清除位设置为零。
  5. 当本次更新完成后,再次发送 Bnh, 00h, 31h (176+n, 0, 49)。 这切换回第一状态。 新的 LED 数据将变为可见,缓冲区 1 的内容将被复制回缓冲区 0。
  6. 从第 2 步继续。
  7. 最后,要关闭此模式,请发送 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 程序员, 程序员

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *