Prototype for the @a bufsize_callback that is invoked whenever the JACK engine buffer size changes. Although this function is called in the JACK process thread, the normal process cycle is suspended during its operation, causing a gap in the audio flow. So, the @a bufsize_callback can allocate storage, touch memory not previously referenced, and perform other operations that are not realtime safe.
Prototype for the client supplied function that is called whenever a client is registered or unregistered.
Prototype for the client supplied function that is called whenever jackd starts or stops freewheeling.
Prototype for the client supplied function that is called whenever the processing graph is reordered.
Prototype for the client supplied function that is called whenever jackd is shutdown. Note that after server shutdown, the client pointer is *not* deallocated by libjack, the application is responsible to properly use jack_client_close() to release client ressources. Warning: jack_client_close() cannot be safely used inside the shutdown callback and has to be called outside of the callback context.
Prototype for the client supplied function that is called by the engine when port latencies need to be recalculated
Prototype for the client supplied function that is called whenever a port is connected or disconnected.
Prototype for the client supplied function that is called whenever a port is registered or unregistered.
Prototype for the client supplied function that is called whenever the port name has been changed.
Prototype for the client supplied function that is called by the engine anytime there is work to be done.
Prototype for the client supplied function that is called when the engine sample rate changes.
Prototype for the client supplied function that is called whenever jackd is shutdown. Note that after server shutdown, the client pointer is *not* deallocated by libjack, the application is responsible to properly use jack_client_close() to release client ressources. Warning: jack_client_close() cannot be safely used inside the shutdown callback and has to be called outside of the callback context.
Prototype for the @a sync_callback defined by slow-sync clients. When the client is active, this callback is invoked just before process() in the same thread. This occurs once after registration, then subsequently whenever some client requests a new position, or the transport enters the ::JackTransportStarting state. This realtime function must not wait.
Prototype for the client thread routine called by the engine when the client is inserted in the graph.
Prototype for the client supplied function that is called once after the creation of the thread in which other callbacks will be made. Special thread characteristics can be set from this callback, for example. This is a highly specialized callback and most clients will not and should not use it.
Prototype for the @a timebase_callback used to provide extended position information. Its output affects all of the following process cycle. This realtime function must not wait.
Prototype for the client-supplied function that is called whenever an xrun has occured.
For convenience, use this typedef if you want to be able to change between float and double. You may want to typedef sample_t to jack_default_audio_sample_t in your application.
jack_intclient_t is an opaque type representing a loaded internal client. You may only access it using the API provided in @ref intclient.h "<jack/intclient.h>".
Type of Latency Callback (Capture or Playback)
Type used to represent sample frame counts.
Options for several JACK operations, formed by OR-ing together the relevant @ref JackOptions bits.
Ports have unique ids. A port registration callback is the only place you ever need to know their value.
Status word returned from several JACK operations, formed by OR-ing together the relevant @ref JackStatus bits.
Type used to represent the value of free running monotonic clock with units of microseconds.
@ref jack_latency_callback_mode_t
@ref jack_options_t bits
A port has a set of flags that are formed by AND-ing together the desired values from the list below. The flags "JackPortIsInput" and "JackPortIsOutput" are mutually exclusive and it is an error to use them both.
@ref jack_status_t bits
Optional struct jack_position_t fields.
Optional struct jack_transport_info_t fields.
Transport states.
Used for the type argument of jack_port_register() for default audio ports and midi ports.
Maximum size of @a load_init string passed to an internal client jack_initialize() function via jack_internal_client_load().
Maximum value that can be stored in jack_nframes_t
all valid position bits
Valid options for loading an internal client.
Valid options for opening an external client.
jack_client_t is an opaque type. You may only access it using the API provided.
the new latency API operates on Ranges.
jack_port_t is an opaque type. You may only access it using the API provided.
Deprecated struct for transport position information.