Here’s a bunch of stuff from the Pigtronix Infinity manual that I finally dug up:
6.1 MIDI Sync
MIDI Sync is the normal default MIDI mode of the Infinity it’s always on.
When a MIDI Beat Clock is present, the Infinity Looper will synchronize its actions to the MIDI beat clock, acting as a slave device.
Once a loop has been recorded with a MIDI Beat Clock, the Infinity will constantly readjust the loop length to stay synchronized. This active MIDI synchronization prevents drift, and guarantees that all synchronized actions happen on time at the start of MIDI measures.
This active MIDI synchronization is designed to work with regular MIDI clock signals that don’t change tempo or time signature. If the MIDI clock signal does change tempo, the Infinity will react and adjust the sample rate gradually.
The MIDI actions of the Infinity are quantized to the measure when MIDI is running, by default in 4/4 time. Any action that is meant to obey MIDI clock will be applied at the beginning of the next measure (not necessarily the end of the loop cycle). So it’s best to cue the MIDI command within the bar/measure before you want it to occur, not right on the downbeat.
If a MIDI clock signal is present during recording and then stopped or disconnected, the Infinity will continue playback using its recorded length. Actions will continue to be quantized to an internal, approximate MIDI clock. However, this internal MIDI clock may drift or differ from the external MIDI clock that was disabled.
6.3 Commands That Sync to MIDI Clock
Starts loop audio at the start of the next measure after the switch has been pressed. Switching between loops in Series mode will trigger which loop is playing back at the start of the next measure after the switch has been pressed.
So I’m now seeing how maybe that “waiting until the beginning of the next measure” means 1 full measure if the command is sent right at the beginning of a measure. If so, I guess there’s no workaround on the Beat Buddy side, and we would need Pigtronix to have an option to override with the command (start as soon as the command is received).