Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Freerun doesn't freerun if transport stopped and loop mode enabled #5812

Closed
mkruselj opened this issue Jan 23, 2022 · 2 comments · Fixed by #5865
Closed

Freerun doesn't freerun if transport stopped and loop mode enabled #5812

mkruselj opened this issue Jan 23, 2022 · 2 comments · Fixed by #5865
Labels
Bug Report Item submitted using the Bug Report template Host Specific Issues related to specific host(s) or host features Modulation Modulation related issues
Milestone

Comments

@mkruselj
Copy link
Collaborator

mkruselj commented Jan 23, 2022

  1. Init Saw
  2. Set VLFO1 to Freerun
  3. Modulate osc pitch with it
  4. Be in Bitwig or Studio One or Maschine or MuLAB or Reason (out of hosts that I have), and enable transport loop mode
  5. Play consecutive notes while transport is stopped

Result: notes all sound as if we're in Keytrigger mode for the LFO. Emulated song position pointer doesn't advance. Reaper also has transport loop mode, but for some reason, this doesn't happen in Reaper at all!

@mkruselj mkruselj added Host Specific Issues related to specific host(s) or host features Modulation Modulation related issues Bug Report Item submitted using the Bug Report template labels Jan 23, 2022
@mkruselj mkruselj added this to the Surge XT 1.1 milestone Jan 23, 2022
@baconpaul
Copy link
Collaborator

Ahh I bet it is this code

 if (cp.isPlaying || cp.isRecording || cp.isLooping)
            surge->time_data.ppqPos = cp.ppqPosition;

I thought the 'isLooping' meant 'is playing in a loop' but it seems it means 'isLoopEnabled'.

That if should just be isPlaying since, according to the juce docs, isRecording is always true if isPlaying is true, and isLooping is transport is set to loop not that it is actually doing a loop.

lemme see if i can repro and if this fixes.

@baconpaul
Copy link
Collaborator

Yeah could repro in bitwig that's totally it

PR inbound.

baconpaul added a commit to baconpaul/surge that referenced this issue Feb 6, 2022
I confused 'isLooping' to mean "is looping" when it actually
means "would be looping if playing" which meant my ppqpos
reset was improper.

Closes surge-synthesizer#5812
baconpaul added a commit that referenced this issue Feb 6, 2022
I confused 'isLooping' to mean "is looping" when it actually
means "would be looping if playing" which meant my ppqpos
reset was improper.

Closes #5812
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Report Item submitted using the Bug Report template Host Specific Issues related to specific host(s) or host features Modulation Modulation related issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants