Alsa porta rawmidi virtual receberá apenas primeiro e último byte midi de qualquer mensagem

3

Eu tenho experimentado com o seguinte código: alsarawmidiin.c

O alsa rawmidi afirma que você pode criar uma porta rawmidi virtual nomeando a porta de entrada "virtual"

Então eu compilei o código e comecei com o comando:

alsarawmidiin virtual

Isso funciona e eu posso conectar outras portas midi usando aconnect. O problema é que os dados midi que estão sendo exibidos apenas mostram o primeiro e o último byte da mensagem midi. A maioria das mensagens midi tem três bytes, mas ao usar o driver virtual, apenas duas são exibidas.

Conectar diretamente a um dispositivo rawmidi (não virtual) funciona. Mas eu quero conectar vários dispositivos midi à mesma porta rawmidi. Isso é um erro na biblioteca alsa rawmidi?

    
por sixeight 17.03.2017 / 19:12

1 resposta

0

Este é um bug no virtual plugin. Parece que o código para manipular um buffer menor que uma mensagem MIDI nunca foi testado.

Isso será corrigido no alsa-lib 1.1.4; até que esse pacote chegue à sua distribuição, você pode aplicar o patch manualmente, ou contornar isso usando um buffer maior.

    
por 18.03.2017 / 23:13

Tags