java - 更改 X-Touch Mini 上的 LED – Mackie Control(MC 模式)

标签 java midi receiver

我有一台 Behringer X-Touch Mini (MIDI Documentation)我想控制 LED。

MIDI 输入已经工作,但我想将正确的 LED 消息发送到 Controller 。 MIDI Controller 处于 MC 模式(Mackie Control 仿真模式)。

我需要发送什么正确的数据才能使 LED 发生变化?

我已经尝试过这个:

ShortMessage myMsg = new ShortMessage();
try {

    //command /channel /data1 /data2
    myMsg.setMessage(8, 1, 27, 127);

} catch (InvalidMidiDataException e) {
    e.printStackTrace();
}
long timeStamp = -1;
Receiver rcvr = null;
try {
    rcvr = MidiSystem.getReceiver();
} catch (MidiUnavailableException e) {
    e.printStackTrace();
}
rcvr.send(myMsg, timeStamp);
rcvr.close();

最佳答案

X-Touch Mini 更改 LED 值的文档仅在标准模式下按预期工作。

Mackie Control 仿真的目的是使 X-Touch 可以与每个音乐程序(传统)一起使用。这是唯一的Mackie Control documentation我已经找到了。

最初的 Mackie Control 只有 11 个用于旋钮的 LED,因此 X-Touch 中无法控制 2 个 LED。请参阅 MC 文档中的“V-Pot 环”(值以十六进制表示)。


按钮 LED

注意:

  • 与按下按钮时输入的注释相同。
  • 40-45、84-95

速度:

  • 0 = 关闭
  • 1 = 闪烁
  • 127 = 开启

示例:

ShortMessage(NOTE_ON, 0, note, velocity);

正如 CL.'s answer 所指出的使用常量NOTE_ON (144)。您当前提供的 8 是无效命令。

旋钮 LED

CC(控制更改):

  • 48-55

值:

  • 0 = 关闭
  • 1-11 = 单
  • 17-27 = 修剪
  • 33-43 = 粉丝
  • 49-54 = 传播

示例:

ShortMessage(CONTROL_CHANGE, 0, cc, value);

关于java - 更改 X-Touch Mini 上的 LED – Mackie Control(MC 模式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39435550/

相关文章:

java - Ant、JUnit 的 ClassNotFoundException

java - 如何在 arm-v7 上编译 ftd2xxj?

Java 设置 MIDI Out 接收器

android - 决定应用程序是否正在运行

C# 如何从帖子接收数据

java - 无法添加窗口 - token null 不适用于广播接收器 OnReceive 内的应用程序

java - 基本 Java 图形和坐标无法正常工作

java - CheckStyle 检查未被忽略

java midi 延迟

java - 除了 javax.sound.midi : Are there any? 之外,Java 中的一个简单的免费 MIDI 实现