commit 1f3a738b28dffa4103121cecb1cb8bd121b47e80
parent 949e77980677673c1c1d481caa074e1762a242ca
Author: falkTX <falktx@falktx.com>
Date: Fri, 2 Jul 2021 07:10:57 +0100
Use tick_double for jack standalone
Signed-off-by: falkTX <falktx@falktx.com>
Diffstat:
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/distrho/src/DistrhoPluginJACK.cpp b/distrho/src/DistrhoPluginJACK.cpp
@@ -355,6 +355,12 @@ protected:
fTimePosition.bbt.bar = pos.bar;
fTimePosition.bbt.beat = pos.beat;
fTimePosition.bbt.tick = pos.tick;
+#ifdef JACK_TICK_DOUBLE
+ if (pos.valid & JackTickDouble)
+ fTimePosition.bbt.tick = pos.tick_double;
+ else
+#endif
+ fTimePosition.bbt.tick = pos.tick;
fTimePosition.bbt.barStartTick = pos.bar_start_tick;
fTimePosition.bbt.beatsPerBar = pos.beats_per_bar;
diff --git a/distrho/src/jackbridge/JackBridge.hpp b/distrho/src/jackbridge/JackBridge.hpp
@@ -99,6 +99,8 @@
#define JACK_UUID_STRING_SIZE (JACK_UUID_SIZE+1) /* includes trailing null */
#define JACK_UUID_EMPTY_INITIALIZER 0
+#define JACK_TICK_DOUBLE
+
extern "C" {
enum JackOptions {
@@ -153,7 +155,8 @@ enum JackPositionBits {
JackPositionTimecode = 0x020,
JackBBTFrameOffset = 0x040,
JackAudioVideoRatio = 0x080,
- JackVideoFrameOffset = 0x100
+ JackVideoFrameOffset = 0x100,
+ JackTickDouble = 0x200
};
enum JackSessionEventType {
@@ -223,7 +226,8 @@ struct _jack_position {
jack_nframes_t bbt_offset;
float audio_frames_per_video_frame;
jack_nframes_t video_offset;
- int32_t padding[7];
+ double tick_double;
+ int32_t padding[5];
jack_unique_t unique_2;
} POST_PACKED_STRUCTURE;