JACK-AUDIO-CONNECTION-KIT
Functions
the API for starting and controlling a JACK server

Functions

sigset_t jackctl_setup_signals (unsigned int flags)
 
void jackctl_wait_signals (sigset_t signals)
 
jackctl_server_tjackctl_server_create (bool(*on_device_acquire)(const char *device_name), void(*on_device_release)(const char *device_name))
 
void jackctl_server_destroy (jackctl_server_t *server)
 
bool jackctl_server_start (jackctl_server_t *server, jackctl_driver_t *driver)
 
bool jackctl_server_stop (jackctl_server_t *server)
 
const JSList * jackctl_server_get_drivers_list (jackctl_server_t *server)
 
const JSList * jackctl_server_get_parameters (jackctl_server_t *server)
 
const JSList * jackctl_server_get_internals_list (jackctl_server_t *server)
 
bool jackctl_server_load_internal (jackctl_server_t *server, jackctl_internal_t *internal)
 
bool jackctl_server_unload_internal (jackctl_server_t *server, jackctl_internal_t *internal)
 
bool jackctl_server_add_slave (jackctl_server_t *server, jackctl_driver_t *driver)
 
bool jackctl_server_remove_slave (jackctl_server_t *server, jackctl_driver_t *driver)
 
bool jackctl_server_switch_master (jackctl_server_t *server, jackctl_driver_t *driver)
 
const char * jackctl_driver_get_name (jackctl_driver_t *driver)
 
const JSList * jackctl_driver_get_parameters (jackctl_driver_t *driver)
 
const char * jackctl_internal_get_name (jackctl_internal_t *internal)
 
const JSList * jackctl_internal_get_parameters (jackctl_internal_t *internal)
 
const char * jackctl_parameter_get_name (jackctl_parameter_t *parameter)
 
const char * jackctl_parameter_get_short_description (jackctl_parameter_t *parameter)
 
const char * jackctl_parameter_get_long_description (jackctl_parameter_t *parameter)
 
jackctl_param_type_t jackctl_parameter_get_type (jackctl_parameter_t *parameter)
 
char jackctl_parameter_get_id (jackctl_parameter_t *parameter)
 
bool jackctl_parameter_is_set (jackctl_parameter_t *parameter)
 
bool jackctl_parameter_reset (jackctl_parameter_t *parameter)
 
union jackctl_parameter_value jackctl_parameter_get_value (jackctl_parameter_t *parameter)
 
bool jackctl_parameter_set_value (jackctl_parameter_t *parameter, const union jackctl_parameter_value *value_ptr)
 
union jackctl_parameter_value jackctl_parameter_get_default_value (jackctl_parameter_t *parameter)
 
bool jackctl_parameter_has_range_constraint (jackctl_parameter_t *parameter)
 
bool jackctl_parameter_has_enum_constraint (jackctl_parameter_t *parameter)
 
uint32_t jackctl_parameter_get_enum_constraints_count (jackctl_parameter_t *parameter)
 
union jackctl_parameter_value jackctl_parameter_get_enum_constraint_value (jackctl_parameter_t *parameter, uint32_t index)
 
const char * jackctl_parameter_get_enum_constraint_description (jackctl_parameter_t *parameter, uint32_t index)
 
void jackctl_parameter_get_range_constraint (jackctl_parameter_t *parameter, union jackctl_parameter_value *min_ptr, union jackctl_parameter_value *max_ptr)
 
bool jackctl_parameter_constraint_is_strict (jackctl_parameter_t *parameter)
 
bool jackctl_parameter_constraint_is_fake_value (jackctl_parameter_t *parameter)
 
void jack_error (const char *format,...)
 
void jack_info (const char *format,...)
 
void jack_log (const char *format,...)
 

Detailed Description

Function Documentation

◆ jack_error()

void jack_error ( const char *  format,
  ... 
)

Call this function to log an error message.

Parameters
formatstring

◆ jack_info()

void jack_info ( const char *  format,
  ... 
)

Call this function to log an information message.

Parameters
formatstring

◆ jack_log()

void jack_log ( const char *  format,
  ... 
)

Call this function to log an information message but only when verbose mode is enabled.

Parameters
formatstring

◆ jackctl_driver_get_name()

const char* jackctl_driver_get_name ( jackctl_driver_t driver)

Call this function to get name of driver.

Parameters
driverdriver object handle to get name of
Returns
driver name. Must not be modified. Always same for same driver object.

◆ jackctl_driver_get_parameters()

const JSList* jackctl_driver_get_parameters ( jackctl_driver_t driver)

Call this function to get list of driver parameters. List node data pointers is a parameter object handle (jackctl_parameter_t).

Parameters
driverdriver object handle to get parameters for
Returns
Single linked list of parameter object handles. Must not be modified. Always same for same driver object.

◆ jackctl_internal_get_name()

const char* jackctl_internal_get_name ( jackctl_internal_t internal)

Call this function to get name of internal client.

Parameters
internalinternal object handle to get name of
Returns
internal name. Must not be modified. Always same for same internal object.

◆ jackctl_internal_get_parameters()

const JSList* jackctl_internal_get_parameters ( jackctl_internal_t internal)

Call this function to get list of internal parameters. List node data pointers is a parameter object handle (jackctl_parameter_t).

Parameters
internalinternal object handle to get parameters for
Returns
Single linked list of parameter object handles. Must not be modified. Always same for same internal object.

◆ jackctl_parameter_constraint_is_fake_value()

bool jackctl_parameter_constraint_is_fake_value ( jackctl_parameter_t parameter)

Call this function to check whether parameter has fake values, i.e. values have no user meaningful meaning and only value description is meaningful to user.

Parameters
parameterparameter object handle to check
Returns
whether parameter constraint is strict.

◆ jackctl_parameter_constraint_is_strict()

bool jackctl_parameter_constraint_is_strict ( jackctl_parameter_t parameter)

Call this function to check whether parameter constraint is strict, i.e. whether supplying non-matching value will not work for sure.

Parameters
parameterparameter object handle to check
Returns
whether parameter constraint is strict.

◆ jackctl_parameter_get_default_value()

union jackctl_parameter_value jackctl_parameter_get_default_value ( jackctl_parameter_t parameter)

Call this function to get parameter default value.

Parameters
parameterparameter object handle to get default value of
Returns
parameter default value.

◆ jackctl_parameter_get_enum_constraint_description()

const char* jackctl_parameter_get_enum_constraint_description ( jackctl_parameter_t parameter,
uint32_t  index 
)

Call this function to get parameter enumeration value description.

Parameters
parameterobject handle of parameter
indexindex of parameter enumeration value
Returns
enumeration value description.

◆ jackctl_parameter_get_enum_constraint_value()

union jackctl_parameter_value jackctl_parameter_get_enum_constraint_value ( jackctl_parameter_t parameter,
uint32_t  index 
)

Call this function to get parameter enumeration value.

Parameters
parameterobject handle of parameter
indexindex of parameter enumeration value
Returns
enumeration value.

◆ jackctl_parameter_get_enum_constraints_count()

uint32_t jackctl_parameter_get_enum_constraints_count ( jackctl_parameter_t parameter)

Call this function get how many enumeration values parameter has.

Parameters
parameterobject handle of parameter
Returns
number of enumeration values

◆ jackctl_parameter_get_id()

char jackctl_parameter_get_id ( jackctl_parameter_t parameter)

Call this function to get parameter character.

Parameters
parameterparameter object handle to get character of
Returns
character.

◆ jackctl_parameter_get_long_description()

const char* jackctl_parameter_get_long_description ( jackctl_parameter_t parameter)

Call this function to get parameter long description.

Parameters
parameterparameter object handle to get long description of
Returns
parameter long description. Must not be modified. Always same for same parameter object.

◆ jackctl_parameter_get_name()

const char* jackctl_parameter_get_name ( jackctl_parameter_t parameter)

Call this function to get parameter name.

Parameters
parameterparameter object handle to get name of
Returns
parameter name. Must not be modified. Always same for same parameter object.

◆ jackctl_parameter_get_range_constraint()

void jackctl_parameter_get_range_constraint ( jackctl_parameter_t parameter,
union jackctl_parameter_value min_ptr,
union jackctl_parameter_value max_ptr 
)

Call this function to get parameter range.

Parameters
parameterobject handle of parameter
min_ptrpointer to variable receiving parameter minimum value
max_ptrpointer to variable receiving parameter maximum value

◆ jackctl_parameter_get_short_description()

const char* jackctl_parameter_get_short_description ( jackctl_parameter_t parameter)

Call this function to get parameter short description.

Parameters
parameterparameter object handle to get short description of
Returns
parameter short description. Must not be modified. Always same for same parameter object.

◆ jackctl_parameter_get_type()

jackctl_param_type_t jackctl_parameter_get_type ( jackctl_parameter_t parameter)

Call this function to get parameter type.

Parameters
parameterparameter object handle to get type of
Returns
parameter type. Always same for same parameter object.

◆ jackctl_parameter_get_value()

union jackctl_parameter_value jackctl_parameter_get_value ( jackctl_parameter_t parameter)

Call this function to get parameter value.

Parameters
parameterparameter object handle to get value of
Returns
parameter value.

◆ jackctl_parameter_has_enum_constraint()

bool jackctl_parameter_has_enum_constraint ( jackctl_parameter_t parameter)

Call this function check whether parameter has enumeration constraint.

Parameters
parameterobject handle of parameter to check
Returns
whether parameter has enumeration constraint.

◆ jackctl_parameter_has_range_constraint()

bool jackctl_parameter_has_range_constraint ( jackctl_parameter_t parameter)

Call this function check whether parameter has range constraint.

Parameters
parameterobject handle of parameter to check
Returns
whether parameter has range constraint.

◆ jackctl_parameter_is_set()

bool jackctl_parameter_is_set ( jackctl_parameter_t parameter)

Call this function to check whether parameter has been set, or its default value is being used.

Parameters
parameterparameter object handle to check
Returns
true - parameter is set, false - parameter is using default value.

◆ jackctl_parameter_reset()

bool jackctl_parameter_reset ( jackctl_parameter_t parameter)

Call this function to reset parameter to its default value.

Parameters
parameterparameter object handle to reset value of
Returns
success status: true - success, false - fail

◆ jackctl_parameter_set_value()

bool jackctl_parameter_set_value ( jackctl_parameter_t parameter,
const union jackctl_parameter_value value_ptr 
)

Call this function to set parameter value.

Parameters
parameterparameter object handle to get value of
value_ptrpointer to variable containing parameter value
Returns
success status: true - success, false - fail

◆ jackctl_server_add_slave()

bool jackctl_server_add_slave ( jackctl_server_t server,
jackctl_driver_t driver 
)

Call this function to add a slave in the driver slave list.

Parameters
serverserver object handle
driverdriver to add in the driver slave list.
Returns
success status: true - success, false - fail

◆ jackctl_server_create()

jackctl_server_t* jackctl_server_create ( bool(*)(const char *device_name)  on_device_acquire,
void(*)(const char *device_name)  on_device_release 
)

Call this function to create server object.

Parameters
on_device_acquire- Optional callback to be called before device is acquired. If false is returned, device usage will fail
on_device_release- Optional callback to be called after device is released.
Returns
server object handle, NULL if creation of server object failed. Successfully created server object must be destroyed with paired call to jackctl_server_destroy

◆ jackctl_server_destroy()

void jackctl_server_destroy ( jackctl_server_t server)

Call this function to destroy server object.

Parameters
serverserver object handle to destroy

◆ jackctl_server_get_drivers_list()

const JSList* jackctl_server_get_drivers_list ( jackctl_server_t server)

Call this function to get list of available drivers. List node data pointers is a driver object handle (jackctl_driver_t).

Parameters
serverserver object handle to get drivers for
Returns
Single linked list of driver object handles. Must not be modified. Always same for same server object.

◆ jackctl_server_get_internals_list()

const JSList* jackctl_server_get_internals_list ( jackctl_server_t server)

Call this function to get list of available internal clients. List node data pointers is a internal client object handle (jackctl_internal_t).

Parameters
serverserver object handle to get internal clients for
Returns
Single linked list of internal client object handles. Must not be modified. Always same for same server object.

◆ jackctl_server_get_parameters()

const JSList* jackctl_server_get_parameters ( jackctl_server_t server)

Call this function to get list of server parameters. List node data pointers is a parameter object handle (jackctl_parameter_t).

Parameters
serverserver object handle to get parameters for
Returns
Single linked list of parameter object handles. Must not be modified. Always same for same server object.

◆ jackctl_server_load_internal()

bool jackctl_server_load_internal ( jackctl_server_t server,
jackctl_internal_t internal 
)

Call this function to load one internal client.

Parameters
serverserver object handle
internalinternal to use
Returns
success status: true - success, false - fail

◆ jackctl_server_remove_slave()

bool jackctl_server_remove_slave ( jackctl_server_t server,
jackctl_driver_t driver 
)

Call this function to remove a slave from the driver slave list.

Parameters
serverserver object handle
driverdriver to remove from the driver slave list.
Returns
success status: true - success, false - fail

◆ jackctl_server_start()

bool jackctl_server_start ( jackctl_server_t server,
jackctl_driver_t driver 
)

Call this function to start JACK server

Parameters
serverserver object handle
driverdriver to use
Returns
success status: true - success, false - fail

◆ jackctl_server_stop()

bool jackctl_server_stop ( jackctl_server_t server)

Call this function to stop JACK server

Parameters
serverserver object handle
Returns
success status: true - success, false - fail

◆ jackctl_server_switch_master()

bool jackctl_server_switch_master ( jackctl_server_t server,
jackctl_driver_t driver 
)

Call this function to switch master driver.

Parameters
serverserver object handle
driverdriver to switch to
Returns
success status: true - success, false - fail

◆ jackctl_server_unload_internal()

bool jackctl_server_unload_internal ( jackctl_server_t server,
jackctl_internal_t internal 
)

Call this function to unload one internal client.

Parameters
serverserver object handle
internalinternal to unload
Returns
success status: true - success, false - fail

◆ jackctl_setup_signals()

sigset_t jackctl_setup_signals ( unsigned int  flags)

Call this function to setup process signal handling. As a general rule, it is required for proper operation for the server object.

Parameters
flagssignals setup flags, use 0 for none. Currently no flags are defined
Returns
the configurated signal set.

◆ jackctl_wait_signals()

void jackctl_wait_signals ( sigset_t  signals)

Call this function to wait on a signal set.

Parameters
signalssignals set to wait on