jack_position_t Struct Reference

#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

Detailed Description

Struct for transport position information.

Field Documentation

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

current bar

Should be >0: the first bar is bar '1'.

number of ticks that have elapsed between frame 0 and the first beat of the current measure.

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.

current beat-within-bar

Should be >0 and <=beats_per_bar: the first beat is beat '1'.

time signature "denominator"

time signature "numerator"

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.

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.

current frame rate, in frames per second

current time in seconds

next sequential frame_time (unless repositioned)

current tick-within-beat

Should be >0 and <=ticks_per_beat: the first tick is tick '0'.

number of ticks within a bar.

Usually a moderately large integer with many denominators, such as 1920.0

unique ID

unique ID

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).

which other fields are valid, as a bitmask constructed from values in jack_position_bits_t

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.

The documentation for this struct was generated from the following file: