>On Tue, Jul 23, 2002 at 07:48:45 -0400, Paul Davis wrote: >> the question is, however, to what extent is it worth it. the reason >> JACK exists is because there was nothing like it available for moving >> audio data around. this isn't true of the MIDI side of things, where > >If you actaully want to deal with raw MIDI (you'd be mad, but...) then its >OK, as the maximum ammount of data per jack unit time is pretty small, but >I agree, it's better dealt with via the alsa api.
well, what i was thinking was something more like this: struct jack_midi_buffer_t { unsigned int event_cnt; WhateverTheALSASequencerEventTypeIsCalled events[0]; }; a JACK client that handles MIDI as well would do something like this in its process() callback: jack_midi_buffer_t* buf = (jack_midi_buffer_t*) jack_port_get_buffer (midi_in_port, nframes); for (n = 0; n < buf->event_cnt; ++n) { process_midi_event (buf->events[n]); } a real client would probably look at the timestamps in the events too. --p