Looping with SamplerPlugin : how can the last note play over the loop point?

I have a midi sequence playing a SamplerPlugin (this is basically a hacked project from the StepSequencer demo, where I’m using samples with a longer decay). When the transport loops, the currently playing note is cut. I want it to sustain throughout the loop point. I’ve tried to fix this with the SamplerPlugin method:

sampler->setSoundOpenEnded(soundIndex, true);

but that doesn’t sustain the note. Any idea? @dave96 maybe?

Thank you

Re-stating my question: comparing with an existing Waveform feature, what I’m trying to achieve is to play the sampler plugin in “one shot” mode, rather than applying an enveloppe (see screen shot). Is there a method in the tracktion API for doing that? Any pointers would help!

Thank you!

I think there’s three things at play here.

  1. Multi Sampler doesn’t really have anything to do with Tracktion Engine, it’s written using our synth framework Acktion which isn’t available for public use so you won’t find features present in it in the Engine.
  2. I think the setSoundOpenEnded method is actually doing what you want, that effectively makes the sound ignore a note-off. That should leave the sound ringing.
  3. What’s probably happening is when you loop round, an all-notes-off message is sent to SamplerPlugin which is killing the notes. I’m not sure if this is a bug or not though as you probably would want that to kill any currently playing notes…
1 Like