Browse Source

Add jack_position_t::tick_double, and flags around it

pull/11/head
falkTX 4 years ago
parent
commit
ce588b3af5
1 changed files with 19 additions and 7 deletions
  1. +19
    -7
      transport.h

+ 19
- 7
transport.h 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. */


Loading…
Cancel
Save