jack_umidi - jack_midi_event_get() failed, lost MIDI event

Marcel Bonnet marcelbonnet at gmail.com
Sun Nov 11 01:03:38 UTC 2018


Hello.

I wrote a program to send System Exclusive Messages to my Roland XP-30
Keyboard. This program (QStage) connects to jack_umidi .
I send  a burst of 4296 events every time I load a sysex file.
I started jackd with a Midi BufSize > 4296 * 4 bytes:

$ /usr/local/bin/jackd -M 18000 -r -doss -r44100 -p256 -n3 -w16
-C/dev/dsp3.0 -P/dev/dsp3.0
And:
$ jack_umidi  -S -d /dev/umidi0.0

My program does not print "NOTE LOST", so I suppose that "maybe" I am using
the API correctly. But jack_umidi is zombiffied DPRINTing hundreds times
the same error  only after I load the second or third sysexfile (even if
its the same file).

Hundreds of theses error:
"umidi_write:160: jack_midi_event_get() failed, lost MIDI event."

So, I don't know if I am not writing to jack ringbuffer in a proper way or
if it could be a bug with jack_umidi.

How I write to jack:
-----------------------------------------------------------------------------------------
void MidiControl::queue_message(struct MidiControl::MidiMessage *ev) {
   int written;

    if (jack_ringbuffer_write_space(ringbuffer) < sizeof(*ev)) {
        printf("Not enough space in the ringbuffer, NOTE LOST.\n");
        return;
    }

    written = jack_ringbuffer_write(ringbuffer, (char *)ev, sizeof(*ev));

    if (written != sizeof(*ev))
        printf("jack_ringbuffer_write failed, NOTE %i LOST.", ev->data[1] );
}
-----------------------------------------------------------------------------------------

The active connections:

$  jack_lsp -c
system:capture_1
system:capture_2
system:playback_1
system:playback_2
FastTrack Pro:midi.TX
FastTrack Pro:midi.TX.CH0
FastTrack Pro:midi.TX.CH1
FastTrack Pro:midi.TX.CH2
FastTrack Pro:midi.TX.CH3
FastTrack Pro:midi.TX.CH4
FastTrack Pro:midi.TX.CH5
FastTrack Pro:midi.TX.CH6
FastTrack Pro:midi.TX.CH7
FastTrack Pro:midi.TX.CH8
FastTrack Pro:midi.TX.CH9
FastTrack Pro:midi.TX.CHA
FastTrack Pro:midi.TX.CHB
FastTrack Pro:midi.TX.CHC
FastTrack Pro:midi.TX.CHD
FastTrack Pro:midi.TX.CHE
FastTrack Pro:midi.TX.CHF
FastTrack Pro:midi.RX
   QStage:midi_out
QStage:midi_out
   FastTrack Pro:midi.RX
QStage:midi_in

Thanks,
-- 
Marcel Bonnet


More information about the freebsd-multimedia mailing list