|
@@ -79,13 +79,14 @@ process (jack_nframes_t frames, void* arg) |
|
|
for (i = 0; i < N; ++i) { |
|
|
for (i = 0; i < N; ++i) { |
|
|
jack_midi_event_t event; |
|
|
jack_midi_event_t event; |
|
|
int r; |
|
|
int r; |
|
|
|
|
|
|
|
|
r = jack_midi_event_get (&event, buffer, i); |
|
|
r = jack_midi_event_get (&event, buffer, i); |
|
|
|
|
|
|
|
|
if(event.size>MSG_BUFFER_SIZE) { |
|
|
|
|
|
|
|
|
if (r != 0) {continue;} |
|
|
|
|
|
|
|
|
|
|
|
if (event.size > MSG_BUFFER_SIZE) { |
|
|
fprintf(stderr, "Error: MIDI message was too large, skipping event. Max. allowed size: %d bytes\n", MSG_BUFFER_SIZE); |
|
|
fprintf(stderr, "Error: MIDI message was too large, skipping event. Max. allowed size: %d bytes\n", MSG_BUFFER_SIZE); |
|
|
} |
|
|
} |
|
|
else if (r == 0 && jack_ringbuffer_write_space (rb) >= sizeof(midimsg)) { |
|
|
|
|
|
|
|
|
else if (jack_ringbuffer_write_space (rb) >= sizeof(midimsg)) { |
|
|
midimsg m; |
|
|
midimsg m; |
|
|
m.tme_mon = monotonic_cnt; |
|
|
m.tme_mon = monotonic_cnt; |
|
|
m.tme_rel = event.time; |
|
|
m.tme_rel = event.time; |
|
@@ -94,7 +95,7 @@ process (jack_nframes_t frames, void* arg) |
|
|
jack_ringbuffer_write (rb, (void *) &m, sizeof(midimsg)); |
|
|
jack_ringbuffer_write (rb, (void *) &m, sizeof(midimsg)); |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
fprintf(stderr, "Error: ringbuffer was full, skipping event.\n"); |
|
|
|
|
|
|
|
|
fprintf (stderr, "Error: ringbuffer was full, skipping event.\n"); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|