JACK-AUDIO-CONNECTION-KIT 0.124.0
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,...)

Function Documentation

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

Call this function to log an error message.

Parameters:
formatstring
void jack_info ( const char *  format,
  ... 
)

Call this function to log an information message.

Parameters:
formatstring
void jack_log ( const char *  format,
  ... 
)

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

Parameters:
formatstring
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.
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.
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.
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.
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.
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.
union jackctl_parameter_value jackctl_parameter_get_default_value ( jackctl_parameter_t parameter) [write]

Call this function to get parameter default value.

Parameters:
parameterparameter object handle to get default value of
Returns:
parameter default value.
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.
union jackctl_parameter_value jackctl_parameter_get_enum_constraint_value ( jackctl_parameter_t parameter,
uint32_t  index 
) [write]

Call this function to get parameter enumeration value.

Parameters:
parameterobject handle of parameter
indexindex of parameter enumeration value
Returns:
enumeration value.
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
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.
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.
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.
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
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_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.
union jackctl_parameter_value jackctl_parameter_get_value ( jackctl_parameter_t parameter) [write]

Call this function to get parameter value.

Parameters:
parameterparameter object handle to get value of
Returns:
parameter value.
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.
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.
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.
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
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
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_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
void jackctl_server_destroy ( jackctl_server_t server)

Call this function to destroy server object.

Parameters:
serverserver object handle to destroy
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.
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.
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.
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
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
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
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
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
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
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.
void jackctl_wait_signals ( sigset_t  signals)

Call this function to wait on a signal set.

Parameters:
signalssignals set to wait on