Поделиться через


Обработка данных MIDI из двух источников MIDI

Подсистема MIDI может направлять сообщения MIDI из двух источников данных на одно выходное устройство MIDI для параллельного воспроизведения. Например, один источник может быть фоновой музыкой или бас-линией, предварительно записанной и сохраненной в файле. Второй источник может быть динамическим данными из инструмента MIDI, например клавиатуры или гитары.

Оба источника данных отправляют MIDI-данные на одно устройство MIDI, которое идентифицируется с одним идентификатором. Отправьте один поток данных с помощью функции midiStreamOut и одного или нескольких буферов потока. Этот поток данных обычно содержит предварительно подготовленные данные, упакованные в буфер.

Асинхронно отправлять второй поток данных (обычно из инструмента MIDI) с помощью функции midiOutShortMsg. Состояние выполнения буфера потока не будет негативно влиять на асинхронные вызовы, выполненные вторым потоком данных.

Каждое короткое сообщение, отправленное с midiOutShortMsg должно быть полным сообщением MIDI с байтами состояния и соответствующим количеством байтов данных. Если байт состояния опущен, midiOutShortMsg возвращает ошибку. Однако данные о работе потоков отсутствуют.