2014-01-29 3 views
2

Я работаю над программным обеспечением для передачи MIDI на C++, и это первый раз, когда я работаю с MIDI.Rtmidi открытие портов?

Я выбрал библиотеку RtMidi, потому что она кажется самой полной библиотекой, но я открыт для предложений.

ОС, над которой я работаю, - это Windows 7, и у меня установлен интерфейс USB-MID, и он работает с другими программами (например, Roland UM-One).

Теперь я могу быть внедорожником, но я бы ожидал, что когда вы выполните поиск портов, он должен показать это устройство.

При компиляции кода примера для RtMidi я не получаю портов; в или из.

Что мне не хватает? Нужно ли мне открывать виртуальный порт?

ответ

0

Я работал кратко с RtMidi, и это, как вы заявили, довольно полная библиотека. Однако при работе с MIDI-устройствами вы должны учитывать специфические проблемы этого типа устройств.

Другое дело, что дешевые адаптеры USB-MIDI часто просто отказываются работать с некоторыми приложениями «только потому, что». Они очень просты внутри, но, по-видимому, китайские производители все еще способны создавать неисправные устройства.

Если вы используете немодифицированный код примера и не показываете свое устройство, я сначала гарантирую, что все остальные приложения, которые могут его использовать, будут закрыты, а затем повторите попытку. Создание виртуального интерфейса также неплохая идея; Я лично использую для этого бесплатную LoopBe1. Если он покажет виртуальный, но не реальный интерфейс, тогда проблема связана с самим устройством. В этом случае вам может потребоваться поэкспериментировать с разными драйверами или просто подключить его к другому порту.

Если у него нет ни одного устройства, ни реального, ни виртуального, то я сильно подозреваю, что что-то не так в том, как вы создаете/запускаете приложение.

+0

благодаря вашим предложениям я был в состоянии отслеживать его вниз к IDE я был составителем в линкере немного раздражает спасибо – user3248657

2

Это также для других, испытывающих аналогичные проблемы, а также: -

Когда я впервые начал использовать RtMIDI, если не указывать (OSX по крайней мере) макро определить для целевой системы, пример по умолчанию используется фиктивное MIDI-устройство, и у этого не будет MIDI-портов.

Как только я указал MAC_OSX_CORE, тогда RtMIDI использовал правильную архитектуру и вернул MIDI-устройства в мою систему, как ожидалось. Может быть, вы должны сделать что-то подобное для вашей системы - проверьте документы в раздел «Компиляция»:

http://www.music.mcgill.ca/~gary/rtmidi/index.html#compiling

Смежные вопросы