This question arises from jack-keyboard rather than jack-smf-utils. The basic framework is very similar, but jack-keyboard gets input from a gui rather than from a smf.
So the idea is that you press a key on the keyboard and an event handler gets called. The event handler calls queue_new_message(int, int, int), which creates a midi event ev on the stack. Then it calls queue_message(&ev). queue_message() copies ev to a ringbuffer. Okay, so far, so good. queue_new_message() exits and ev goes out of scope, so only the copy on the ringbuffer remains. The next process cycle process_callback() is invoked. It calls process_midi_output(), which takes data from the ringbuffer and moves it to output_port's buffer. Is this what's happening? Now for receiving timing info from Jack. Where's a good place to look for code that explains how to get (and display in a gui widget) the current time while transport is rolling? There's QJackCtl of course. Is there something simpler, more of an example program? -- 7:8 _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
