Как определить конкретный MIDI-контроллер в Java MIDI? - PullRequest
3 голосов
/ 13 ноября 2011

Я экспериментирую со следующим кодом:

http://www.jsresources.org/examples/MidiNote.java.html

для управления моим MIDI-контроллером Novation Launchpad.

В основном мне интересно включить светодиоды, просто отправляя ноты MIDI / cc.

И эта часть работает - после изменения кода для отправки правильного MIDI на Launchpad - я могу добиться своего эффекта. Однако он работает только при использовании MIDI-устройства по умолчанию.

Я хотел бы кодировать обнаружение Lanchpad с помощью кода Java и отправлять сигналы непосредственно на них ..

Надеюсь, это достаточно ясно:)

1 Ответ

1 голос
/ 15 января 2012

Как полагают другие, вы можете обнаружить это по имени устройства с шины USB. Для этого есть проект http://javax -usb.org . Его последний выпуск вышел в 2008 году, поэтому я не уверен, насколько он годен к употреблению.

Я посмотрел Справочник программистов Launchpad (доступен в Загрузки Launchpad ), где не упоминается SysEx для обнаружения.

Если вы не хотите вмешиваться в USB и если вас устраивает «полуавтоматическое» обнаружение, вы можете попросить пользователя нажать кнопку на панели запуска и затем прослушать на всех MIDI-устройствах сообщения 90 (примечание включено) или B0. (изменение управления), которые генерируют кнопки (Справочник программистов панели запуска, стр. 11). С какого интерфейса приходит сообщение, что подключена Launchpad.

Вы могли бы получить лучший результат с сообщением B0, так как это Control Change и диапазон его значений на Launchpad от 68-6F (hex), и это более специфично для контроллера, чем примечание в сообщении.

...