|
|
@@ -984,47 +984,57 @@ jack_port_t * jack_port_by_id (jack_client_t *client, |
|
|
/** |
|
|
/** |
|
|
* @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 meaning |
|
|
|
|
|
* only relative to each other. |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @return the time in frames that has passed since the JACK server |
|
|
|
|
|
* began the current process cycle. |
|
|
|
|
|
|
|
|
* @return the estimated time in frames that has passed since the JACK |
|
|
|
|
|
* 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 |
|
|
|
|
|
* running counter, no significance should be attached to its value, |
|
|
|
|
|
* but it can be compared to a previously returned value. |
|
|
|
|
|
|
|
|
* @return the estimated current time in frames. |
|
|
|
|
|
* This function is intended for use in other threads (not the process |
|
|
|
|
|
* 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 |
|
|
|
|
|
* this is only to be used from the process callback. |
|
|
|
|
|
* |
|
|
|
|
|
* This function can be used to put timestamps generated by |
|
|
|
|
|
* jack_frame_time() in correlation to the current process cycle. |
|
|
|
|
|
|
|
|
* @return the precise time at the start of the current process cycle. |
|
|
|
|
|
* 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 is the only jack time function that returns exact time: |
|
|
|
|
|
* 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(); |
|
|
|
|
|
|
|
|
|