хорошо - моя цель состоит в том, чтобы написать простую программу (консоли), как это:я застрял с простой MIDI программы
1.) получить MIDI сообщение от MIDI Input
2.) modifiy сообщение (или добавлять сообщения)
3) написать сообщение MIDI выход
поскольку я новичок в C++, и это было 15 лет, так как я в последний раз написал некоторые C код, я искал какое-то время и наткнулся на RtMIDI (http://www.music.mcgill.ca/~gary/rtmidi/), который, как я думал, может помочь мне достичь моей цели.
Я использую Xcode для компиляции и прочее.
Я также полагал, что имеет смысл использовать функцию обратного вызова.
Код RtMidi работает прямо из коробки. Я могу открыть виртуальные MIDI-файлы, и я получаю свои MIDI-сообщения в функцию обратного вызова, где он выводится на консоль.
Но теперь я застреваю, так как не понял работу реализации обратного вызова (я думаю).
Мои вопросы:
- я должен делать модификации сообщения MIDI в функции обратного вызова?
- если да, то как я могу записать MIDI-выход из функции обратного вызова?
- if no: как получить MIDI-сообщение в моем cpp-коде (возможно, передав указатель на поле userdata)?
- Но тогда - как мой основной код запускается для обработки сообщения, когда он прибывает в функцию обратного вызова?
Было бы здорово, если бы кто-то мог помочь мне здесь - я пробовал в течение нескольких дней, чтобы отстать от этой (для меня еще) магии.
спасибо заранее Matt