Audio Loop Player Sync Mode Not Working?
-
@d-healey Thanks for replying. I am running my exported plugin.
-
@Mwins Which host?
-
@d-healey I'm testing in FL studio because of the popularity. I am going to try in Studio One. However, I have read in other places that time stretching is not possible with Hise... But the documentation for the loop player says that it is...
Edit: Just tried in Studio One and it does not sync either. Have you ever gotten this to work?
-
-
@d-healey LOL I see. Testing in Studio One produces the same result. Have you ever gotten the loop player to sync to the DAW?
-
@Mwins I've never used the loop player, if you post a snippet I can test it when I have time but it won't be for a few days, or someone else might jump in and test it out.
-
Has anyone ever tested this?
Does it work? -
@MikeB It does "work" for me but I have issues with changing octaves.
I need to leave a gap between any note to get it work correctly.
Got no clue why this is happening but I guess it has time stretching reasons etc. -
So if I have a wav in the audio loop player that is 120bpm how do I set it to adjust to the DAW host bpm ?
-
Well I'm finally using the loop player in a project and want to know the same as @MusoCity. What do I set the sync mode to for a simple 120BPM loop and does the sync mode actually work?
-
Ok I just did some tests. I have found two problems.
-
My loops are 8 bars but the loop player only allows me to select up to 4, so I have to lose the last 4 bars of my loop. I think this should go up to 16 at least.
-
It doesn't auto update with a tempo change. You have to change the sync mode setting after you change the tempo for the loop player to catch on.
-
-
@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); });