christophhart / HISE

The open source framework for sample based instruments
http://hise.audio
Other
1.07k stars 123 forks source link

[Bug] Using a global simple envelope breaks Sampler's retrigger handling #453

Closed aaronventure closed 3 months ago

aaronventure commented 1 year ago
  1. Create a global modulator container.
  2. Create a Simple Envelope.
  3. Create a Sampler. Set the retrigger mode to "Do Nothing" so you can play repeating notes indefinitely. Hold the pedal for sustain to check that they are in fact stacking.
  4. Replace the Sampler's default simple envelope by the global one, because you're cool and want to control it all in one place.
  5. The sampler's retrigger mode breaks, and new notes will now override already playing notes, causing them to be killed off with a click.
davidhealey commented 1 year ago

Probably related - https://forum.hise.audio/topic/8582/global-adsr-issues

aaronventure commented 1 year ago

Kinda silly how much time I've spent refactoring my MIDI processor architecture and scripts over the past two days to try and track down why it was behaving the certain way, when this stronzo was just sitting there the entire time. So I reverted back to before I took the whole thing apart, swapped it out for the normal/local modulator and... all problems are gone.

christoph-hart commented 12 months ago

A bit late to the party but have you used this:

https://docs.hise.audio/scripting/scripting-api/synth/index.html#setuseuniformvoicehandler

regardless, I think for your project using multiple local envelopes is the way to go.

aaronventure commented 12 months ago

A bit late to the party but have you used this:

https://docs.hise.audio/scripting/scripting-api/synth/index.html#setuseuniformvoicehandler

regardless, I think for your project using multiple local envelopes is the way to go.

I haven't, the However you need to ensure that beyond that point every sound generator will start not more than one voice for each incoming MIDI event. bit was a dealbreaker.