Re: [LAD] Deciphering jack-smf-utils -- Jack MIDI stuff

From: Paul Coccoli <pcoccoli@email-addr-hidden>
Date: Sun Feb 17 2013 - 15:21:51 EET

On Sat, Feb 16, 2013 at 10:33 PM, M Donalies <ingeniousnebbish@email-addr-hidden> wrote:
> The first question is a rather stupid one: How long is a Jack frame? If we're
> running at 44.1 kHz, is a frame 1/44100 sec? Or is it some multiple? Or is it
> something else? And does the process callback get called at each frame while
> transport is rolling?

IIRC, a "frame" in JACK parlance is one sample, so 1/44100 in your
example. The process callback is called regardless of transport
state. You call a function (jack_transport_query I think? I don't
have any of my code in front of me right now) to get transport state
and timing/tempo information (including bar:beat:tick).

> process_callback() calls process_midi_output(), wherein we find:
> port_buffer = jack_port_get_buffer(output_port, nframes);
> Why the nframes parameter? Is there a separate buffer area for each frame?

There's a separate buffer for each port.

> A little later in the same function we have:
> last_frame_time = jack_last_frame_time(jack_client);
> Is this the time of the end of the last process cycle?

Not sure about this one. The docs say: "the precise time at the start
of the current process cycle" which should be the same time as the
start of the current process cycle, I would think.
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Sun Feb 17 16:15:05 2013

This archive was generated by hypermail 2.1.8 : Sun Feb 17 2013 - 16:15:05 EET