From 1f3a738b28dffa4103121cecb1cb8bd121b47e80 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 2 Jul 2021 07:11:24 +0100 Subject: [PATCH] Use tick_double for jack standalone Signed-off-by: falkTX --- distrho/src/DistrhoPluginJACK.cpp | 6 ++++++ distrho/src/jackbridge/JackBridge.hpp | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/distrho/src/DistrhoPluginJACK.cpp b/distrho/src/DistrhoPluginJACK.cpp index 97a33c01..146f66fb 100644 --- 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 index 7736ac28..f96bf16d 100644 --- 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;