@Christoph-Hart I've solved the first issue and added 8, 12, and 16 bar options. I'll make a pull request later.
For the second issue it seems there isn't a TempoListener in the AudioLooper class. I tried adding getMainController()->addTempoListener(this); but I get an instant crash when adding a loop player. Any suggestions?
Here's a scripted workaround:
const alp = Synth.getChildSynth("audioLoopPlayer0");
const th = Engine.createTransportHandler();
th.setOnTempoChange(false, function(x)
{
var syncMode = alp.getAttribute(alp.SyncMode);
alp.setAttribute(alp.SyncMode, syncMode);
});