Beaglebone Black с входом MIDI (через USB) -> не может определить правильный порт

Несколько дней назад я написал вопрос относительно MIDI и ALSA, но с тех пор я решил проблему и столкнулся с новой.

контекст вкратце:

У меня есть Beaglebone Black с Debian 7.5 на нем.

Мой хост - 32-битная установка Ubuntu 14.10.

Я использую Qt4.8.6 для кросс-компиляции рук.

Я пытаюсь создать приложение, которое использует сенсорный экран, а также читает MIDI-ввод с клавиатуры. Я использовал следующий учебник ( http://embedded.von-kannen.net/2014/05/21/qt-4-8-6-on-beaglebone-black/) для установки встроенного Qt, чтобы я мог кросс-компилировать в мой beaglebone (учебник нуждается в некоторых исправлениях, у меня есть готовый исправленный документ, если он кому-то нужен) и следующий для компиляции ALSA для использования в ARM MPU: omappedia.org/wiki/ALSA_Setup

По сути, после того, как я наконец-то получил программу сборки и развертывания на своем черном beaglebone, он не смог найти порт, необходимый для приема MIDI-сигналов.

Я использую MidiMate II для подключения MIDI-устройства, которое я использую, к USB-порту на концентраторе в моем Beaglebone Black.

У меня есть следующий код для проверки доступных портов (C++):

RtMidiIn  *midiin = 0;
// RtMidiIn constructor
try {
  midiin = new RtMidiIn();
}
catch ( RtMidiError &error ) {
  error.printMessage();
  exit( EXIT_FAILURE );
}
// Check inputs.
unsigned int nPorts = midiin->getPortCount();
qDebug() << "\nThere are " << nPorts << " MIDI input sources available.\n";
std::string portName;
for ( unsigned int i=0; i<nPorts; i++ ) {
  try {
    portName = midiin->getPortName(i);
  }
  catch ( RtMidiError &error ) {
    error.printMessage();
    delete midiin
  }
  std::cout << "  Input Port #" << i+1 << ": " << portName << '\n';
}

Я могу подтвердить, что MidiMate работает правильно с Ubuntu. Поскольку запущенное приложение на рабочем столе получает значения просто отлично. Я не уверен в функциональности Debian для BeagleBone.

Приведенный выше код говорит мне, что при запуске на Beaglebone нет доступных источников ввода, в отличие от двух доступных источников ввода при запуске как на рабочих столах Ubuntu, так и на Windows.

мой вопрос: как я могу заставить свой Beaglebone определять порт, который мне нужен для чтения живого входа MIDI?


редактировать:

подключение midimate к beaglebone генерирует запись midi1 в / dev / list. однако я не знаю, что и как с этим делать.

функция RtMidi, которую я использую, может принимать в качестве входных данных только целое число без знака, поэтому я не могу предоставить строку "midi1" в качестве аргумента:(

1 ответ

Ваш дистрибутив не загружает snd-seq а также snd-seq-midi модули ядра при загрузке, и не имеет механизма их загрузки по требованию.

Добавьте их в /etc/modules файл.

Другие вопросы по тегам