Java 更换X-Touch Mini上的LED–;麦基控制(MC模式)

Java 更换X-Touch Mini上的LED–;麦基控制(MC模式),java,midi,receiver,Java,Midi,Receiver,我有一个Behringer X-Touch Mini,我想控制它的LED MIDI输入已经工作,但我想向控制器发送正确的LED消息。MIDI控制器处于MC模式(Mackie控制仿真模式) 我需要发送什么样的正确数据才能更改指示灯 我试过这个: ShortMessage myMsg = new ShortMessage(); try { //command /channel /data1 /data2 myMsg.setMessage(8, 1, 27, 127); } cat

我有一个Behringer X-Touch Mini,我想控制它的LED

MIDI输入已经工作,但我想向控制器发送正确的LED消息。MIDI控制器处于MC模式(Mackie控制仿真模式)

我需要发送什么样的正确数据才能更改指示灯

我试过这个:

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();

ShortMessage
类中的字段可以帮助您使用正确的值构造消息

“CC”将是一条控制更改消息


您必须使用文档中指定的通道/控制器/注释/速度编号。例如,要点亮最后一个按钮上的LED,您必须使用note 15和velocity 1。

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

Mackie Control仿真旨在使X-Touch可用于所有音乐程序(传统)。这是我唯一找到的

原来的Mackie控制器只有11个用于旋钮的LED,因此在X-Touch中无法控制2个LED。请参阅MC文档中的“V形槽环”(值为十六进制)


按钮指示灯

注:

  • 与按下按钮时的输入注释相同
  • 40-45,84-95
速度:

  • 0=关
  • 1=闪烁
  • 127=开
例如:

ShortMessage(NOTE_ON, 0, note, velocity);
ShortMessage(CONTROL_CHANGE, 0, cc, value);
如使用(144)上的常量注释所述。您当前提供的
8
,该命令无效

旋钮指示灯

CC(控制变更):

  • 48-55
价值:

  • 0=关
  • 1-11=单个
  • 17-27=修剪
  • 33-43=风扇
  • 49-54=差价
例如:

ShortMessage(NOTE_ON, 0, note, velocity);
ShortMessage(CONTROL_CHANGE, 0, cc, value);

可使用以下参数设置LED:

命令:注意=9

数据1:键=0-15


数据2:0=发光二极管熄灭,1=发光二极管点亮,2个发光二极管闪烁

有什么问题?但我想将正确的发光二极管位置发送给控制器这不是问题,这是您的目标。我不知道如何将数据正确发送到设备。。我还在setMessage方法中尝试了不同的值。我不知道在哪里可以设置音符和速度。短消息具有以下参数<代码>短消息(int命令、int频道、int数据1、int数据2)阅读。