Add jack_position_t::tick_double, and flags around it

This commit is contained in:
falkTX 2021-07-14 21:00:43 +01:00
parent ab27e5a59f
commit ce588b3af5
1 changed files with 19 additions and 7 deletions

View File

@ -47,18 +47,21 @@ typedef uint64_t jack_unique_t; /**< Unique ID (opaque) */
* Optional struct jack_position_t fields.
*/
typedef enum {
JackPositionBBT = 0x10, /**< Bar, Beat, Tick */
JackPositionTimecode = 0x20, /**< External timecode */
JackBBTFrameOffset = 0x40, /**< Frame offset of BBT information */
JackAudioVideoRatio = 0x80, /**< audio frames per video frame */
JackVideoFrameOffset = 0x100 /**< frame offset of first video frame */
JackPositionBBT = 0x10, /**< Bar, Beat, Tick */
JackPositionTimecode = 0x20, /**< External timecode */
JackBBTFrameOffset = 0x40, /**< Frame offset of BBT information */
JackAudioVideoRatio = 0x80, /**< audio frames per video frame */
JackVideoFrameOffset = 0x100, /**< frame offset of first video frame */
JackTickDouble = 0x200, /**< double-resolution tick */
} jack_position_bits_t;
/** all valid position bits */
#define JACK_POSITION_MASK (JackPositionBBT|JackPositionTimecode|JackBBTFrameOffset|JackAudioVideoRatio|JackVideoFrameOffset)
#define EXTENDED_TIME_INFO
/** transport tick_double member is available for use */
#define JACK_TICK_DOUBLE
/**
* Struct for transport position information.
*/
@ -178,12 +181,21 @@ typedef struct {
no video frame within this cycle. */
/*}@*/
/*@{*/
/* JACK extra transport fields */
double tick_double; /**< current tick-within-beat in double resolution.
Should be assumed zero if JackTickDouble is not set.
Since older versions of JACK do not expose this variable,
the macro JACK_TICK_DOUBLE is provided,
which can be used as build-time detection. */
/*}@*/
/*@{*/
/** @name Other fields */
/* For binary compatibility, new fields should be allocated from
* this padding area with new valid bits controlling access, so
* the existing structure size and offsets are preserved. */
int32_t padding[7];
int32_t padding[5];
/*}@*/
/* When (unique_1 == unique_2) the contents are consistent. */