幾天前,我寫了關於MIDI和ALSA的問題,但是我已經解決了這個問題並且遇到了新問題。帶MIDI輸入的Beaglebone黑色(通過USB) - >無法檢測到正確的端口
總之背景:
我有一個Beaglebone黑色與它的Debian 7.5。
我的主機是一個32位Ubuntu 14.10安裝。
我使用Qt4.8.6進行arm交叉編譯。
我想創建一個應用程序,它使用觸摸屏,並從鍵盤讀取MIDI輸入。我已經使用了下面的教程(http://embedded.von-kannen.net/2014/05/21/qt-4-8-6-on-beaglebone-black/)來安裝Qt嵌入式,所以我可以交叉編譯到我的beaglebone(教程需要一些修復,如果有人需要,我已經準備好了一個'fixed'doc),然後下面的教程來編譯ALSA在ARM MPU上使用:omappedia.org/wiki/ALSA_Setup
基本上,在我終於獲得了程序構建和部署到我的beaglebone黑色後,它找不到它需要接收MIDI信號的端口。
我正在使用MidiMate II將我正在使用的MIDI設備連接到Beaglebone Black的HUB上的USB端口。
我有以下代碼來檢查可用端口(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。在桌面上運行應用程序接收值很好。我不確定BeagleBone在Debian上的功能。
上面的代碼告訴我,在Beaglebone上運行時沒有可用的輸入源,而不是在Ubuntu和Windows桌面上運行時的2個可用輸入源。
我的問題: 如何讓我的Beaglebone能夠檢測到我需要讀取實時MIDI輸入的端口?
編輯:
堵midimate到beaglebone生成MIDI1進入INT在/ dev /列表。然而,我不知道該怎麼做以及如何處理它。
的RtMidi功能我用只能接受一個無符號整數作爲輸入,所以我不能提供字符串「MIDI1」作爲參數:(
是ALSA模塊,如'SND-SEQ-midi'裝?該設備是否顯示在'/ proc中/ asound在/ SEQ/clients'? – 2015-01-15 15:41:52
asound文件夾中有一個名爲II的條目。 seq爲空。 我不知道如何檢查ALSA模塊是否加載:S 的II文件夾包含:ID,midi0,oss_mixed,usbbus,USBID,usbmixer – poehalcho 2015-01-15 15:59:16