Date: Sat, 10 Nov 2018 23:03:23 -0200 From: Marcel Bonnet <marcelbonnet@gmail.com> To: FreeBSD multimedia <freebsd-multimedia@freebsd.org> Subject: jack_umidi - jack_midi_event_get() failed, lost MIDI event Message-ID: <CAPe0dB=J-a4i3WWf%2Bzw7WHWEqmTx_Y_gRHjsjuxyFi1odhMDyQ@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPe0dB=J-a4i3WWf%2Bzw7WHWEqmTx_Y_gRHjsjuxyFi1odhMDyQ>