| control.h | | control.h | |
| | | | |
| skipping to change at line 34 | | skipping to change at line 34 | |
| * @ingroup publicheader | | * @ingroup publicheader | |
| * @brief JACK control API | | * @brief JACK control API | |
| * | | * | |
| */ | | */ | |
| | | | |
| #ifndef JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED | | #ifndef JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED | |
| #define JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED | | #define JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED | |
| | | | |
| #include <jack/jslist.h> | | #include <jack/jslist.h> | |
| #include <jack/systemdeps.h> | | #include <jack/systemdeps.h> | |
|
| | | #include <stdbool.h> | |
| | | | |
| /** Parameter types, intentionally similar to jack_driver_param_type_t */ | | /** Parameter types, intentionally similar to jack_driver_param_type_t */ | |
| typedef enum | | typedef enum | |
| { | | { | |
| JackParamInt = 1, /**< @brief value type is a signed i
nteger */ | | JackParamInt = 1, /**< @brief value type is a signed i
nteger */ | |
| JackParamUInt, /**< @brief value type is an
unsigned integer */ | | JackParamUInt, /**< @brief value type is an
unsigned integer */ | |
| JackParamChar, /**< @brief value type is a
char */ | | JackParamChar, /**< @brief value type is a
char */ | |
| JackParamString, /**< @brief value type is a string w
ith max size of ::JACK_PARAM_STRING_MAX+1 chars */ | | JackParamString, /**< @brief value type is a string w
ith max size of ::JACK_PARAM_STRING_MAX+1 chars */ | |
| JackParamBool, /**< @brief value type is a
boolean */ | | JackParamBool, /**< @brief value type is a
boolean */ | |
| } jackctl_param_type_t; | | } jackctl_param_type_t; | |
| | | | |
| skipping to change at line 111 | | skipping to change at line 112 | |
| * | | * | |
| * @param signals signals set to wait on | | * @param signals signals set to wait on | |
| */ | | */ | |
| void | | void | |
| jackctl_wait_signals( | | jackctl_wait_signals( | |
| sigset_t signals); | | sigset_t signals); | |
| | | | |
| /** | | /** | |
| * Call this function to create server object. | | * Call this function to create server object. | |
| * | | * | |
|
| | | * @param on_device_acquire - Optional callback to be called before device | |
| | | is acquired. If false is returned, device usage will fail | |
| | | * @param on_device_release - Optional callback to be called after device i | |
| | | s released. | |
| | | * | |
| * @return server object handle, NULL if creation of server object | | * @return server object handle, NULL if creation of server object | |
| * failed. Successfully created server object must be destroyed with | | * failed. Successfully created server object must be destroyed with | |
| * paired call to ::jackctl_server_destroy | | * paired call to ::jackctl_server_destroy | |
| */ | | */ | |
| jackctl_server_t * | | jackctl_server_t * | |
|
| jackctl_server_create(); | | jackctl_server_create( | |
| | | bool (* on_device_acquire)(const char * device_name), | |
| | | void (* on_device_release)(const char * device_name)); | |
| | | | |
| /** | | /** | |
| * Call this function to destroy server object. | | * Call this function to destroy server object. | |
| * | | * | |
| * @param server server object handle to destroy | | * @param server server object handle to destroy | |
| */ | | */ | |
| void | | void | |
| jackctl_server_destroy( | | jackctl_server_destroy( | |
| jackctl_server_t * server); | | 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). | | | |
| * | | | |
| * @param server server object handle to get drivers for | | | |
| * | | | |
| * @return Single linked list of driver object handles. Must not be | | | |
| * modified. Always same for same server object. | | | |
| */ | | | |
| const JSList * | | | |
| jackctl_server_get_drivers_list( | | | |
| jackctl_server_t * server); | | | |
| | | | |
| /** | | | |
| * Call this function to start JACK server | | * Call this function to start JACK server | |
| * | | * | |
| * @param server server object handle | | * @param server server object handle | |
| * @param driver driver to use | | * @param driver driver to use | |
| * | | * | |
| * @return success status: true - success, false - fail | | * @return success status: true - success, false - fail | |
| */ | | */ | |
| bool | | bool | |
| jackctl_server_start( | | jackctl_server_start( | |
| jackctl_server_t * server, | | jackctl_server_t * server, | |
| | | | |
| skipping to change at line 165 | | skipping to change at line 158 | |
| * | | * | |
| * @param server server object handle | | * @param server server object handle | |
| * | | * | |
| * @return success status: true - success, false - fail | | * @return success status: true - success, false - fail | |
| */ | | */ | |
| bool | | bool | |
| jackctl_server_stop( | | jackctl_server_stop( | |
| jackctl_server_t * server); | | 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). | |
| | | * | |
| | | * @param server server object handle to get drivers for | |
| | | * | |
| | | * @return Single linked list of driver object handles. Must not be | |
| | | * modified. Always same for same server object. | |
| | | */ | |
| | | const JSList * | |
| | | jackctl_server_get_drivers_list( | |
| | | jackctl_server_t * server); | |
| | | | |
| | | /** | |
| * Call this function to get list of server parameters. List node data | | * Call this function to get list of server parameters. List node data | |
| * pointers is a parameter object handle (::jackctl_parameter_t). | | * pointers is a parameter object handle (::jackctl_parameter_t). | |
| * | | * | |
| * @param server server object handle to get parameters for | | * @param server server object handle to get parameters for | |
| * | | * | |
| * @return Single linked list of parameter object handles. Must not be | | * @return Single linked list of parameter object handles. Must not be | |
| * modified. Always same for same server object. | | * modified. Always same for same server object. | |
| */ | | */ | |
| const JSList * | | const JSList * | |
| jackctl_server_get_parameters( | | jackctl_server_get_parameters( | |
| jackctl_server_t * server); | | 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). | |
| | | * | |
| | | * @param server server object handle to get internal clients for | |
| | | * | |
| | | * @return Single linked list of internal client object handles. Must not b | |
| | | e | |
| | | * modified. Always same for same server object. | |
| | | */ | |
| | | const JSList * | |
| | | jackctl_server_get_internals_list( | |
| | | jackctl_server_t * server); | |
| | | | |
| | | /** | |
| | | * Call this function to load one internal client. | |
| | | * | |
| | | * @param server server object handle | |
| | | * @param internal internal to use | |
| | | * | |
| | | * @return success status: true - success, false - fail | |
| | | */ | |
| | | bool | |
| | | jackctl_server_load_internal( | |
| | | jackctl_server_t * server, | |
| | | jackctl_internal_t * internal); | |
| | | | |
| | | /** | |
| | | * Call this function to unload one internal client. | |
| | | * | |
| | | * @param server server object handle | |
| | | * @param internal internal to unload | |
| | | * | |
| | | * @return success status: true - success, false - fail | |
| | | */ | |
| | | bool | |
| | | jackctl_server_unload_internal( | |
| | | jackctl_server_t * server, | |
| | | jackctl_internal_t * internal); | |
| | | | |
| | | /** | |
| | | * Call this function to add a slave in the driver slave list. | |
| | | * | |
| | | * @param server server object handle | |
| | | * @param driver driver to add in the driver slave list. | |
| | | * | |
| | | * @return success status: true - success, false - fail | |
| | | */ | |
| | | bool | |
| | | jackctl_server_add_slave(jackctl_server_t * server, | |
| | | jackctl_driver_t * driver); | |
| | | | |
| | | /** | |
| | | * Call this function to remove a slave from the driver slave list. | |
| | | * | |
| | | * @param server server object handle | |
| | | * @param driver driver to remove from the driver slave list. | |
| | | * | |
| | | * @return success status: true - success, false - fail | |
| | | */ | |
| | | bool | |
| | | jackctl_server_remove_slave(jackctl_server_t * server, | |
| | | jackctl_driver_t * driver); | |
| | | | |
| | | /** | |
| | | * Call this function to switch master driver. | |
| | | * | |
| | | * @param server server object handle | |
| | | * @param driver driver to switch to | |
| | | * | |
| | | * @return success status: true - success, false - fail | |
| | | */ | |
| | | bool | |
| | | jackctl_server_switch_master(jackctl_server_t * server, | |
| | | jackctl_driver_t * driver); | |
| | | | |
| | | /** | |
| * Call this function to get name of driver. | | * Call this function to get name of driver. | |
| * | | * | |
| * @param driver driver object handle to get name of | | * @param driver driver object handle to get name of | |
| * | | * | |
| * @return driver name. Must not be modified. Always same for same | | * @return driver name. Must not be modified. Always same for same | |
| * driver object. | | * driver object. | |
| */ | | */ | |
| const char * | | const char * | |
| jackctl_driver_get_name( | | jackctl_driver_get_name( | |
| jackctl_driver_t * driver); | | jackctl_driver_t * driver); | |
| | | | |
| skipping to change at line 203 | | skipping to change at line 284 | |
| * @param driver driver object handle to get parameters for | | * @param driver driver object handle to get parameters for | |
| * | | * | |
| * @return Single linked list of parameter object handles. Must not be | | * @return Single linked list of parameter object handles. Must not be | |
| * modified. Always same for same driver object. | | * modified. Always same for same driver object. | |
| */ | | */ | |
| const JSList * | | const JSList * | |
| jackctl_driver_get_parameters( | | jackctl_driver_get_parameters( | |
| jackctl_driver_t * driver); | | jackctl_driver_t * driver); | |
| | | | |
| /** | | /** | |
|
| | | * Call this function to get name of internal client. | |
| | | * | |
| | | * @param internal internal object handle to get name of | |
| | | * | |
| | | * @return internal name. Must not be modified. Always same for same | |
| | | * internal object. | |
| | | */ | |
| | | const char * | |
| | | jackctl_internal_get_name( | |
| | | 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). | |
| | | * | |
| | | * @param internal internal object handle to get parameters for | |
| | | * | |
| | | * @return Single linked list of parameter object handles. 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 parameter name. | | * Call this function to get parameter name. | |
| * | | * | |
| * @param parameter parameter object handle to get name of | | * @param parameter parameter object handle to get name of | |
| * | | * | |
| * @return parameter name. Must not be modified. Always same for same | | * @return parameter name. Must not be modified. Always same for same | |
| * parameter object. | | * parameter object. | |
| */ | | */ | |
| const char * | | const char * | |
| jackctl_parameter_get_name( | | jackctl_parameter_get_name( | |
| jackctl_parameter_t * parameter); | | jackctl_parameter_t * parameter); | |
| | | | |
| skipping to change at line 417 | | skipping to change at line 523 | |
| * | | * | |
| * @param parameter parameter object handle to check | | * @param parameter parameter object handle to check | |
| * | | * | |
| * @return whether parameter constraint is strict. | | * @return whether parameter constraint is strict. | |
| */ | | */ | |
| bool | | bool | |
| jackctl_parameter_constraint_is_fake_value( | | jackctl_parameter_constraint_is_fake_value( | |
| jackctl_parameter_t * parameter); | | jackctl_parameter_t * parameter); | |
| | | | |
| /** | | /** | |
|
| * Call this function to get list of available internal clients. List node | | | |
| data | | | |
| * pointers is a internal client object handle (::jackctl_internal_t). | | | |
| * | | | |
| * @param server server object handle to get internal clients for | | | |
| * | | | |
| * @return Single linked list of internal client object handles. Must not b | | | |
| e | | | |
| * modified. Always same for same server object. | | | |
| */ | | | |
| const JSList * | | | |
| jackctl_server_get_internals_list( | | | |
| jackctl_server_t * server); | | | |
| | | | |
| /** | | | |
| * Call this function to get name of internal client. | | | |
| * | | | |
| * @param internal internal object handle to get name of | | | |
| * | | | |
| * @return internal name. Must not be modified. Always same for same | | | |
| * internal object. | | | |
| */ | | | |
| const char * | | | |
| jackctl_internal_get_name( | | | |
| 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). | | | |
| * | | | |
| * @param internal internal object handle to get parameters for | | | |
| * | | | |
| * @return Single linked list of parameter object handles. Must not be | | | |
| * modified. Always same for same internal object. | | | |
| */ | | | |
| const JSList * | | | |
| jackctl_internal_get_parameters( | | | |
| jackctl_internal_t * internal); | | | |
| | | | |
| /** | | | |
| * Call this function to load one internal client. | | | |
| * | | | |
| * @param server server object handle | | | |
| * @param internal internal to use | | | |
| * | | | |
| * @return success status: true - success, false - fail | | | |
| */ | | | |
| bool | | | |
| jackctl_server_load_internal( | | | |
| jackctl_server_t * server, | | | |
| jackctl_internal_t * internal); | | | |
| | | | |
| /** | | | |
| * Call this function to unload one internal client. | | | |
| * | | | |
| * @param server server object handle | | | |
| * @param internal internal to unload | | | |
| * | | | |
| * @return success status: true - success, false - fail | | | |
| */ | | | |
| bool | | | |
| jackctl_server_unload_internal( | | | |
| jackctl_server_t * server, | | | |
| jackctl_internal_t * internal); | | | |
| | | | |
| /** | | | |
| * Call this function to log an error message. | | * Call this function to log an error message. | |
| * | | * | |
| * @param format string | | * @param format string | |
| */ | | */ | |
| void | | void | |
| jack_error( | | jack_error( | |
| const char *format, | | const char *format, | |
| ...); | | ...); | |
| | | | |
| /** | | /** | |
| | | | |
End of changes. 8 change blocks. |
| 80 lines changed or deleted | | 124 lines changed or added | |
|
| jack.h | | jack.h | |
| | | | |
| skipping to change at line 111 | | skipping to change at line 111 | |
| * caller is not a JACK client. | | * caller is not a JACK client. | |
| */ | | */ | |
| jack_client_t * jack_client_open (const char *client_name, | | jack_client_t * jack_client_open (const char *client_name, | |
| jack_options_t options, | | jack_options_t options, | |
| jack_status_t *status, ...); | | jack_status_t *status, ...); | |
| | | | |
| /** | | /** | |
| * \bold THIS FUNCTION IS DEPRECATED AND SHOULD NOT BE USED IN | | * \bold THIS FUNCTION IS DEPRECATED AND SHOULD NOT BE USED IN | |
| * NEW JACK CLIENTS | | * NEW JACK CLIENTS | |
| * | | * | |
|
| | | * @deprecated Please use jack_client_open(). | |
| */ | | */ | |
| jack_client_t * jack_client_new (const char *client_name); | | jack_client_t * jack_client_new (const char *client_name); | |
| | | | |
| /** | | /** | |
| * Disconnects an external client from a JACK server. | | * Disconnects an external client from a JACK server. | |
| * | | * | |
| * @return 0 on success, otherwise a non-zero error code | | * @return 0 on success, otherwise a non-zero error code | |
| */ | | */ | |
| int jack_client_close (jack_client_t *client); | | int jack_client_close (jack_client_t *client); | |
| | | | |
| | | | |
| skipping to change at line 215 | | skipping to change at line 216 | |
| | | | |
| /** | | /** | |
| * @defgroup NonCallbackAPI The non-callback API | | * @defgroup NonCallbackAPI The non-callback API | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * \bold THIS FUNCTION IS DEPRECATED AND SHOULD NOT BE USED IN | | * \bold THIS FUNCTION IS DEPRECATED AND SHOULD NOT BE USED IN | |
| * NEW JACK CLIENTS. | | * NEW JACK CLIENTS. | |
| * | | * | |
|
| * It should be replace by use of @ jack_cycle_wait and @ jack_cycle_signal | | * @deprecated Please use jack_cycle_wait() and jack_cycle_signal() functio | |
| functions. | | ns. | |
| * | | | |
| */ | | */ | |
| jack_nframes_t jack_thread_wait (jack_client_t*, int status); | | jack_nframes_t jack_thread_wait (jack_client_t*, int status); | |
| | | | |
| /** | | /** | |
| * Wait until this JACK client should process data. | | * Wait until this JACK client should process data. | |
| * | | * | |
| * @param client - pointer to a JACK client structure | | * @param client - pointer to a JACK client structure | |
| * | | * | |
| * @return the number of frames of data to process | | * @return the number of frames of data to process | |
| */ | | */ | |
| | | | |
| skipping to change at line 239 | | skipping to change at line 239 | |
| /** | | /** | |
| * Signal next clients in the graph. | | * Signal next clients in the graph. | |
| * | | * | |
| * @param client - pointer to a JACK client structure | | * @param client - pointer to a JACK client structure | |
| * @param status - if non-zero, calling thread should exit | | * @param status - if non-zero, calling thread should exit | |
| */ | | */ | |
| void jack_cycle_signal (jack_client_t* client, int status); | | void jack_cycle_signal (jack_client_t* client, int status); | |
| | | | |
| /** | | /** | |
| * Tell the Jack server to call @a thread_callback in the RT thread. | | * Tell the Jack server to call @a thread_callback in the RT thread. | |
|
| * Typical use are in conjunction with @a jack_cycle_wait and @ jack_cycle_
signal functions. | | * Typical use are in conjunction with @a jack_cycle_wait and @a jack_cycle
_signal functions. | |
| * The code in the supplied function must be suitable for real-time | | * The code in the supplied function must be suitable for real-time | |
| * execution. That means that it cannot call functions that might | | * execution. That means that it cannot call functions that might | |
| * block for a long time. This includes malloc, free, printf, | | * block for a long time. This includes malloc, free, printf, | |
| * pthread_mutex_lock, sleep, wait, poll, select, pthread_join, | | * pthread_mutex_lock, sleep, wait, poll, select, pthread_join, | |
| * pthread_cond_wait, etc, etc. See | | * pthread_cond_wait, etc, etc. See | |
| * http://jackit.sourceforge.net/docs/design/design.html#SECTION00411000000
000000000 | | * http://jackit.sourceforge.net/docs/design/design.html#SECTION00411000000
000000000 | |
| * for more information. | | * for more information. | |
| * | | * | |
| * NOTE: this function cannot be called while the client is activated | | * NOTE: this function cannot be called while the client is activated | |
| * (after jack_activate has been called.) | | * (after jack_activate has been called.) | |
| | | | |
| skipping to change at line 486 | | skipping to change at line 486 | |
| * (after jack_activate has been called.) | | * (after jack_activate has been called.) | |
| * | | * | |
| * @return 0 on success, otherwise a non-zero error code | | * @return 0 on success, otherwise a non-zero error code | |
| */ | | */ | |
| int jack_set_xrun_callback (jack_client_t *, | | int jack_set_xrun_callback (jack_client_t *, | |
| JackXRunCallback xrun_callback, void *arg); | | JackXRunCallback xrun_callback, void *arg); | |
| | | | |
| /*@}*/ | | /*@}*/ | |
| | | | |
| /** | | /** | |
|
| * @defgroup ServerControl Controlling & querying JACK server operation | | * @defgroup ServerClientControl Controlling & querying JACK server operati
on | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Start/Stop JACK's "freewheel" mode. | | * Start/Stop JACK's "freewheel" mode. | |
| * | | * | |
| * When in "freewheel" mode, JACK no longer waits for | | * When in "freewheel" mode, JACK no longer waits for | |
| * any external event to begin the start of the next process | | * any external event to begin the start of the next process | |
| * cycle. | | * cycle. | |
| * | | * | |
| | | | |
| skipping to change at line 838 | | skipping to change at line 838 | |
| /** | | /** | |
| * Remove @a alias as an alias for @a port. May be called at any time. | | * Remove @a alias as an alias for @a port. May be called at any time. | |
| * | | * | |
| * After a successful call, @a alias can no longer be | | * After a successful call, @a alias can no longer be | |
| * used as a alternate name for the port. | | * used as a alternate name for the port. | |
| * | | * | |
| * @return 0 on success, otherwise a non-zero error code. | | * @return 0 on success, otherwise a non-zero error code. | |
| */ | | */ | |
| int jack_port_unset_alias (jack_port_t *port, const char *alias); | | int jack_port_unset_alias (jack_port_t *port, const char *alias); | |
| | | | |
|
| /* | | /** | |
| * Get any aliases known for @port. | | * Get any aliases known for @port. | |
| * | | * | |
| * @return the number of aliases discovered for the port | | * @return the number of aliases discovered for the port | |
| */ | | */ | |
| int jack_port_get_aliases (const jack_port_t *port, char* const aliases[2])
; | | int jack_port_get_aliases (const jack_port_t *port, char* const aliases[2])
; | |
| | | | |
| /** | | /** | |
| * If @ref JackPortCanMonitor is set for this @a port, turn input | | * If @ref JackPortCanMonitor is set for this @a port, turn input | |
| * monitoring on or off. Otherwise, do nothing. | | * monitoring on or off. Otherwise, do nothing. | |
| */ | | */ | |
| | | | |
| skipping to change at line 987 | | skipping to change at line 987 | |
| * @return address of the jack_port_t of a @a port_id. | | * @return address of the jack_port_t of a @a port_id. | |
| */ | | */ | |
| jack_port_t * jack_port_by_id (jack_client_t *client, | | jack_port_t * jack_port_by_id (jack_client_t *client, | |
| jack_port_id_t port_id); | | jack_port_id_t port_id); | |
| | | | |
| /*@}*/ | | /*@}*/ | |
| | | | |
| /** | | /** | |
| * @defgroup TimeFunctions Handling time | | * @defgroup TimeFunctions Handling time | |
| * @{ | | * @{ | |
|
| | | * | |
| | | * JACK time is in units of 'frames', according to the current sample rate. | |
| | | * The absolute value of frame times is meaningless, frame times have meani | |
| | | ng | |
| | | * only relative to each other. | |
| */ | | */ | |
| | | | |
| /** | | /** | |
|
| * @return the time in frames that has passed since the JACK server | | * @return the estimated time in frames that has passed since the JACK | |
| * began the current process cycle. | | * server began the current process cycle. | |
| */ | | */ | |
| jack_nframes_t jack_frames_since_cycle_start (const jack_client_t *); | | jack_nframes_t jack_frames_since_cycle_start (const jack_client_t *); | |
| | | | |
| /** | | /** | |
|
| * @return an estimate of the current time in frames. This is a | | * @return the estimated current time in frames. | |
| * running counter, no significance should be attached to its value, | | * This function is intended for use in other threads (not the process | |
| * but it can be compared to a previously returned value. | | * callback). The return value can be compared with the value of | |
| | | * jack_last_frame_time to relate time in other threads to JACK time. | |
| */ | | */ | |
| jack_nframes_t jack_frame_time (const jack_client_t *); | | jack_nframes_t jack_frame_time (const jack_client_t *); | |
| | | | |
| /** | | /** | |
|
| * @return the frame_time after the last processing of the graph | | * @return the precise time at the start of the current process cycle. | |
| * this is only to be used from the process callback. | | * This function may only be used from the process callback, and can | |
| | | * be used to interpret timestamps generated by jack_frame_time() in | |
| | | * other threads with respect to the current process cycle. | |
| * | | * | |
|
| * This function can be used to put timestamps generated by | | * This is the only jack time function that returns exact time: | |
| * jack_frame_time() in correlation to the current process cycle. | | * when used during the process callback it always returns the same | |
| | | * value (until the next process callback, where it will return | |
| | | * that value + nframes, etc). The return value is guaranteed to be | |
| | | * monotonic and linear in this fashion unless an xrun occurs. | |
| | | * If an xrun occurs, clients must check this value again, as time | |
| | | * may have advanced in a non-linear way (e.g. cycles may have been skipped | |
| | | ). | |
| */ | | */ | |
| jack_nframes_t jack_last_frame_time (const jack_client_t *client); | | jack_nframes_t jack_last_frame_time (const jack_client_t *client); | |
| | | | |
| /** | | /** | |
|
| * @return estimated time in microseconds of the specified frame time | | * @return the estimated time in microseconds of the specified frame time | |
| */ | | */ | |
| jack_time_t jack_frames_to_time(const jack_client_t *client, jack_nframes_t
); | | jack_time_t jack_frames_to_time(const jack_client_t *client, jack_nframes_t
); | |
| | | | |
| /** | | /** | |
|
| * @return estimated time in frames for the specified system time. | | * @return the estimated time in frames for the specified system time. | |
| */ | | */ | |
| jack_nframes_t jack_time_to_frames(const jack_client_t *client, jack_time_t
); | | jack_nframes_t jack_time_to_frames(const jack_client_t *client, jack_time_t
); | |
| | | | |
| /** | | /** | |
| * @return return JACK's current system time in microseconds, | | * @return return JACK's current system time in microseconds, | |
|
| * using JACK clock source. | | * using the JACK clock source. | |
| * | | * | |
| * The value returned is guaranteed to be monotonic, but not linear. | | * The value returned is guaranteed to be monotonic, but not linear. | |
|
| * | | | |
| * This function is a client version of @function jack_get_microseconds(). | | | |
| */ | | */ | |
| jack_time_t jack_get_time(); | | jack_time_t jack_get_time(); | |
| | | | |
| /*@}*/ | | /*@}*/ | |
| | | | |
| /** | | /** | |
| * @defgroup ErrorOutput Controlling error/information output | | * @defgroup ErrorOutput Controlling error/information output | |
| */ | | */ | |
| /*@{*/ | | /*@{*/ | |
| | | | |
| | | | |
| skipping to change at line 1050 | | skipping to change at line 1060 | |
| * | | * | |
| * Set via jack_set_error_function(), otherwise a JACK-provided | | * Set via jack_set_error_function(), otherwise a JACK-provided | |
| * default will print @a msg (plus a newline) to stderr. | | * default will print @a msg (plus a newline) to stderr. | |
| * | | * | |
| * @param msg error message text (no newline at end). | | * @param msg error message text (no newline at end). | |
| */ | | */ | |
| extern void (*jack_error_callback)(const char *msg); | | extern void (*jack_error_callback)(const char *msg); | |
| | | | |
| /** | | /** | |
| * Set the @ref jack_error_callback for error message display. | | * Set the @ref jack_error_callback for error message display. | |
|
| | | * Set it to NULL to restore default_jack_error_callback function. | |
| * | | * | |
| * The JACK library provides two built-in callbacks for this purpose: | | * The JACK library provides two built-in callbacks for this purpose: | |
| * default_jack_error_callback() and silent_jack_error_callback(). | | * default_jack_error_callback() and silent_jack_error_callback(). | |
| */ | | */ | |
| void jack_set_error_function (void (*func)(const char *)); | | void jack_set_error_function (void (*func)(const char *)); | |
| | | | |
| /** | | /** | |
| * Display JACK info message. | | * Display JACK info message. | |
| * | | * | |
| * Set via jack_set_info_function(), otherwise a JACK-provided | | * Set via jack_set_info_function(), otherwise a JACK-provided | |
| * default will print @a msg (plus a newline) to stdout. | | * default will print @a msg (plus a newline) to stdout. | |
| * | | * | |
| * @param msg info message text (no newline at end). | | * @param msg info message text (no newline at end). | |
| */ | | */ | |
| extern void (*jack_info_callback)(const char *msg); | | extern void (*jack_info_callback)(const char *msg); | |
| | | | |
| /** | | /** | |
| * Set the @ref jack_info_callback for info message display. | | * Set the @ref jack_info_callback for info message display. | |
|
| | | * Set it to NULL to restore default_jack_info_callback function. | |
| | | * | |
| | | * The JACK library provides two built-in callbacks for this purpose: | |
| | | * default_jack_info_callback() and silent_jack_info_callback(). | |
| */ | | */ | |
| void jack_set_info_function (void (*func)(const char *)); | | void jack_set_info_function (void (*func)(const char *)); | |
| | | | |
| /*@}*/ | | /*@}*/ | |
| | | | |
|
| | | /** | |
| | | * The free function to be used on memory returned by jack_port_get_connect | |
| | | ions, | |
| | | * jack_port_get_all_connections and jack_get_ports functions. | |
| | | * This is MANDATORY on Windows when otherwise all nasty runtime version re | |
| | | lated crashes can occur. | |
| | | * Developers are strongly encouraged to use this function instead of the s | |
| | | tandard "free" function in new code. | |
| | | * | |
| | | */ | |
| | | void jack_free(void* ptr); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif /* __jack_h__ */ | | #endif /* __jack_h__ */ | |
| | | | |
End of changes. 17 change blocks. |
| 20 lines changed or deleted | | 49 lines changed or added | |
|