I tried just calling calculate_tempo_frames() from the jack timebase callback in jack_audio_driver in lieu of setting transport info, but I don’t think that’s the right approach. I need to be fixing the calculation for giving JACK the right transport info. The Engine::calculate_tempo_frames function doesn’t yield BBT info. So I need to dig in and figure out how that information is calculated in the engine, and glue that to the transport callback. It think it’s in Engine::set_tempo, and I already see some possibilities.
The bug occurs when quantization is set to 8th as opposed to cycle, this reminds me. Note to self, verify that and finish writing out the conditions the trouble appears under in the first place.