JACK-AUDIO-CONNECTION-KIT
Modules | Functions
Controlling & querying JACK server operation

Modules

 Creating & manipulating ports
 

Functions

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

Detailed Description

Function Documentation

◆ jack_cpu_load()

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.

◆ jack_engine_takeover_timebase()

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.

◆ jack_get_buffer_size()

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()

◆ jack_get_sample_rate()

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.

◆ jack_set_buffer_size()

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
clientpointer to JACK client structure.
nframesnew buffer size. Must be a power of two.
Returns
0 on success, otherwise a non-zero error code

◆ jack_set_freewheel()

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
clientpointer to JACK client structure
onoffif non-zero, freewheel mode starts. Otherwise freewheel mode ends.
Returns
0 on success, otherwise a non-zero error code.