Controlling & querying JACK server operation

Functions

int jack_set_freewheel (jack_client_t *client, int onoff)
int jack_set_buffer_size (jack_client_t *client, jack_nframes_t nframes)
jack_nframes_t jack_get_sample_rate (jack_client_t *)
jack_nframes_t jack_get_buffer_size (jack_client_t *)
int jack_engine_takeover_timebase (jack_client_t *)
float jack_cpu_load (jack_client_t *client)

Function Documentation

int jack_set_freewheel ( jack_client_t *  client,
int  onoff 
)

Start/Stop JACK's "freewheel" mode.

When in "freewheel" mode, JACK no longer waits for any external event to begin the start of the next process cycle.

As a result, freewheel mode causes "faster than realtime" execution of a JACK graph. If possessed, real-time scheduling is dropped when entering freewheel mode, and if appropriate it is reacquired when stopping.

IMPORTANT: on systems using capabilities to provide real-time scheduling (i.e. Linux kernel 2.4), if onoff is zero, this function must be called from the thread that originally called jack_activate(). This restriction does not apply to other systems (e.g. Linux kernel 2.6 or OS X).

Parameters:
client pointer to JACK client structure
onoff if non-zero, freewheel mode starts. Otherwise freewheel mode ends.
Returns:
0 on success, otherwise a non-zero error code.

Definition at line 929 of file JackAPI.cpp.

int jack_set_buffer_size ( jack_client_t *  client,
jack_nframes_t  nframes 
)

Change the buffer size passed to the process_callback.

This operation stops the JACK engine process cycle, then calls all registered bufsize_callback functions before restarting the process cycle. This will cause a gap in the audio flow, so it should only be done at appropriate stopping points.

See also:
jack_set_buffer_size_callback()
Parameters:
client pointer to JACK client structure.
nframes new buffer size. Must be a power of two.
Returns:
0 on success, otherwise a non-zero error code

Definition at line 943 of file JackAPI.cpp.

jack_nframes_t jack_get_sample_rate ( jack_client_t *   ) 
Returns:
the sample rate of the jack system, as set by the user when jackd was started.

Definition at line 1320 of file JackAPI.cpp.

jack_nframes_t jack_get_buffer_size ( jack_client_t *   ) 
Returns:
the current maximum size that will ever be passed to the process_callback. It should only be used *before* the client has been activated. This size may change, clients that depend on it must register a bufsize_callback so they will be notified if it does.
See also:
jack_set_buffer_size_callback()

Definition at line 1335 of file JackAPI.cpp.

int jack_engine_takeover_timebase ( jack_client_t *   ) 

Old-style interface to become the timebase for the entire JACK subsystem.

Deprecated:
This function still exists for compatibility with the earlier transport interface, but it does nothing. Instead, see transport.h and use jack_set_timebase_callback().
Returns:
ENOSYS, function not implemented.

Definition at line 1404 of file JackAPI.cpp.

float jack_cpu_load ( jack_client_t *  client  ) 
Returns:
the current CPU load estimated by JACK. This is a running average of the time it takes to execute a full process cycle for all clients as a percentage of the real time available per cycle determined by the buffer size and sample rate.

Definition at line 1495 of file JackAPI.cpp.


Generated on 21 Nov 2009 for Jack2 by  doxygen 1.6.1