JACK-AUDIO-CONNECTION-KIT
Functions
intclient.h File Reference
#include <jack/types.h>

Go to the source code of this file.

Functions

char * jack_get_internal_client_name (jack_client_t *client, jack_intclient_t intclient)
 
int jack_internal_client_handle (jack_client_t *client, const char *client_name, jack_status_t *status, jack_intclient_t *handle)
 
int jack_internal_client_load (jack_client_t *client, const char *client_name, jack_options_t options, jack_status_t *status, jack_intclient_t,...)
 
jack_status_t jack_internal_client_unload (jack_client_t *client, jack_intclient_t intclient)
 

Function Documentation

◆ jack_get_internal_client_name()

char* jack_get_internal_client_name ( jack_client_t client,
jack_intclient_t  intclient 
)

Get an internal client's name. This is useful when JackUseExactName was not specified on jack_internal_client_load() and JackNameNotUnique status was returned. In that case, the actual name will differ from the client_name requested.

Parameters
clientrequesting JACK client's handle.
intclienthandle returned from jack_internal_client_load() or jack_internal_client_handle().
Returns
NULL if unsuccessful, otherwise pointer to the internal client name obtained from the heap via malloc(). The caller should free() this storage when no longer needed.

◆ jack_internal_client_handle()

int jack_internal_client_handle ( jack_client_t client,
const char *  client_name,
jack_status_t status,
jack_intclient_t handle 
)

Find the jack_intclient_t handle for an internal client running in the JACK server.

Parameters
clientrequesting JACK client's handle.
client_namefor the internal client of no more than jack_client_name_size() characters. The name scope is local to the current server.
status(if non-NULL) an address for JACK to return information from this operation. This status word is formed by OR-ing together the relevant JackStatus bits.
handlethe client handle will be returned here (passed by reference because of the type.
Returns
0 if successfullm non-zero otherwise. If non-zero, the internal client was not found, and *status includes the JackNoSuchClient and JackFailure bits.

◆ jack_internal_client_load()

int jack_internal_client_load ( jack_client_t client,
const char *  client_name,
jack_options_t  options,
jack_status_t status,
jack_intclient_t  ,
  ... 
)

Load an internal client into the JACK server.

Internal clients run inside the JACK server process. They can use most of the same functions as external clients. Each internal client is built as a shared object module, which must declare jack_initialize() and jack_finish() entry points called at load and unload times. See inprocess.c for an example.

Parameters
clientloading JACK client's handle.
client_nameof at most jack_client_name_size() characters for the internal client to load. The name scope is local to the current server.
optionsformed by OR-ing together JackOptions bits. Only the JackLoadOptions bits are valid.
status(if non-NULL) an address for JACK to return information from the load operation. This status word is formed by OR-ing together the relevant JackStatus bits.
handlethe client handle will be returned here (passed by reference because of the type.

Optional parameters: depending on corresponding [options bits] additional parameters may follow status (in this order).

  • [JackLoadName] (char *) load_name is the shared object file from which to load the new internal client (otherwise use the client_name).
  • [JackLoadInit] (char *) load_init an arbitary string passed to the internal client's jack_initialize() routine (otherwise NULL), of no more than JACK_LOAD_INIT_LIMIT bytes.
Returns
zero if successful, non-zero otherwise. If this is non-zero, the load operation failed, the internal client was not loaded, and *status includes the JackFailure bit.

◆ jack_internal_client_unload()

jack_status_t jack_internal_client_unload ( jack_client_t client,
jack_intclient_t  intclient 
)

Unload an internal client from a JACK server. This calls the intclient's jack_finish() entry point then removes it. See inprocess.c for an example.

Parameters
clientunloading JACK client's handle.
intclienthandle returned from jack_internal_client_load() or jack_internal_client_handle().
Returns
0 if successful, otherwise JackStatus bits.