JACK-AUDIO-CONNECTION-KIT
0.125.0rc1
|
#include <transport.h>
Data Fields | |
Server-set fields | |
these cannot be set from clients; the server sets them | |
jack_unique_t | unique_1 |
jack_time_t | usecs |
jack_nframes_t | frame_rate |
Mandatory fields | |
jack_nframes_t | frame |
jack_position_bits_t | valid |
JackPositionBBT fields | |
Bar:Beat.Tick-related information. Applications that support JackPositionBBT are encouraged to also fill the JackBBTFrameOffset | |
int32_t | bar |
int32_t | beat |
int32_t | tick |
double | bar_start_tick |
float | beats_per_bar |
float | beat_type |
double | ticks_per_beat |
double | beats_per_minute |
JackPositionTimecode fields | |
EXPERIMENTAL: could change | |
double | frame_time |
double | next_time |
jack_nframes_t | bbt_offset |
float | audio_frames_per_video_frame |
jack_nframes_t | video_offset |
Other fields | |
int32_t | padding [7] |
jack_unique_t | unique_2 |
Struct for transport position information.
float jack_position_t::audio_frames_per_video_frame |
number of audio frames per video frame. Should be assumed zero if JackAudioVideoRatio is not set. If JackAudioVideoRatio is set and the value is zero, no video data exists within the JACK graph
int32_t jack_position_t::bar |
current bar
Should be >0: the first bar is bar '1'.
double jack_position_t::bar_start_tick |
number of ticks that have elapsed between frame 0 and the first beat of the current measure.
jack_nframes_t jack_position_t::bbt_offset |
frame offset for the BBT fields (the given bar, beat, and tick values actually refer to a time frame_offset frames before the start of the cycle), should be assumed to be 0 if JackBBTFrameOffset is not set. If JackBBTFrameOffset is set and this value is zero, the BBT time refers to the first frame of this cycle. If the value is positive, the BBT time refers to a frame that many frames before the start of the cycle.
int32_t jack_position_t::beat |
current beat-within-bar
Should be >0 and <=beats_per_bar: the first beat is beat '1'.
float jack_position_t::beat_type |
time signature "denominator"
float jack_position_t::beats_per_bar |
time signature "numerator"
double jack_position_t::beats_per_minute |
BPM, quantized to block size. This means when the tempo is not constant within this block, the BPM value should adapted to compensate for this. This is different from most fields in this struct, which specify the value at the beginning of the block rather than an average.
jack_nframes_t jack_position_t::frame |
frame number, always present/required.
This is the frame number on the transport timeline, which is not the same as what jack_frame_time returns.
jack_nframes_t jack_position_t::frame_rate |
current frame rate, in frames per second
double jack_position_t::frame_time |
current time in seconds
double jack_position_t::next_time |
next sequential frame_time (unless repositioned)
int32_t jack_position_t::padding[7] |
int32_t jack_position_t::tick |
current tick-within-beat
Should be >0 and <=ticks_per_beat: the first tick is tick '0'.
double jack_position_t::ticks_per_beat |
number of ticks within a bar.
Usually a moderately large integer with many denominators, such as 1920.0
jack_unique_t jack_position_t::unique_1 |
unique ID
jack_unique_t jack_position_t::unique_2 |
unique ID
jack_time_t jack_position_t::usecs |
microsecond timestamp that is guaranteed to be monotonic, but not neccessarily linear.
The absolute value is implementation-dependent (i.e. it could be wall-clock, time since jack started, uptime, etc).
jack_position_bits_t jack_position_t::valid |
which other fields are valid, as a bitmask constructed from values in jack_position_bits_t
jack_nframes_t jack_position_t::video_offset |
audio frame at which the first video frame in this cycle occurs. Should be assumed to be 0 if JackVideoFrameOffset is not set. If JackVideoFrameOffset is set, but the value is zero, there is no video frame within this cycle.