MIDI с ALSA: как определить подписку на порт

avatar
Folkert van Heusden
9 августа 2021 в 07:19
60
1
0

Я хочу увидеть/обнаружить, подключается ли что-то к моему виртуальному миди-порту.

Итак, я создаю порт:

 snd_seq_create_simple_port(handle, "my port",
        SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,
        SND_SEQ_PORT_TYPE_MIDI_GENERIC);

Теперь, прежде чем я начну создавать MIDI-события на этом порту, я хотел бы знать, подключился ли кто-нибудь к этому порту (например, с помощью aconnect или патча или что-то в этом роде).

Источник

Ответы (1)

avatar
CL.
9 августа 2021 в 13:09
1

Подпишитесь на 0:1 (SND_SEQ_CLIENT_SYSTEM:SND_SEQ_PORT_SYSTEM_ANNOUNCE), чтобы получать события о подписках. Примеры см. в выводе aseqdump -p 0:1.

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