Mac OS CoreMIDI: изменение настроек на миди-устройстве (MIDISendSysex?)

Я надеюсь, что кто-то, знакомый с MIDISysexSendRequest и MIDISendSysex, может помочь...

Я работаю над приложением SwiftUI MacOS с целью изменения настроек на подключенном миди-устройстве с использованием системных эксклюзивных сообщений.

Существует 2 типа системных эксклюзивных сообщений: набор данных (DT1), который отправляет запрос на устройство для изменения настройки, и запрос данных (RQ1), который отправляет запрос на устройство, запрашивая текущее состояние настройки.

На основе моего исследования и работы, проделанной littlecharva, используя MIDISysexSendRequest и MIDISendSysex, я могу успешно отправить сообщение DT1, т.е. я могу подтвердить изменение настроек устройства. Однако неясно, как отправить сообщение RQ1 и получить информацию, возвращаемую в приложение с устройства.

Структура Глядя на последние 2 параметра:

завершениеProc: функция, которую система вызывает после отправки всех байтов для запроса или после того, как клиент пометил запрос как завершенный.

завершениеRefCon: данные, переданные указателю функции завершения.

Я интерпретирую это как означающее, что функция завершенияProc будет вызываться после отправки сообщения, что я могу проверить в своем коде, однако мне неясны данные завершенияRefCon, переданные оператору указателя функции завершения. Это возвращенные данные с устройства или другие данные? Если это данные с устройства, как мне получить к ним доступ? MIDISysexSendRequest и MIDISendSysex не подходят для сообщений RQ1?

Заранее спасибо!


person Mr. Tummy    schedule 05.01.2021    source источник