Browse Source

Add jack_position_t::tick_double, and flags around it (#770)

* Add jack_position_t::tick_double, and flags around it

Signed-off-by: falkTX <falktx@falktx.com>

* s/precision/resolution/

Signed-off-by: falkTX <falktx@falktx.com>
tags/v1.9.19
Filipe Coelho GitHub 4 years ago
parent
commit
814629b566
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 6 deletions
  1. +18
    -6
      common/jack/types.h

+ 18
- 6
common/jack/types.h View File

@@ -538,11 +538,12 @@ typedef uint64_t jack_unique_t; /**< Unique ID (opaque) */
*/
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;

@@ -550,6 +551,9 @@ typedef enum {
#define JACK_POSITION_MASK (JackPositionBBT|JackPositionTimecode)
#define EXTENDED_TIME_INFO

/** transport tick_double member is available for use */
#define JACK_TICK_DOUBLE

PRE_PACKED_STRUCTURE
struct _jack_position {

@@ -609,10 +613,18 @@ struct _jack_position {
set, but the value is zero, there is
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. */

/* 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. */
jack_unique_t unique_2; /**< unique ID */


Loading…
Cancel
Save