Closed thenfour closed 1 year ago
the issue is in the order that things are processed, and the fact that mod matrix doesn't run when voices aren't active. so when you hit the 1st note on, it goes like:
so there's not a great way to do this in the mod matrix, nor do i want to do it that way. better to be flexible at the destination read. the cheapest way to do this is to put a couple-sample delay on the envelope to make sure the mod matrix has had time to run.
unfortunately it's still not perfect, because of the recalc period the mod matrix ramps its destination values over time. so the theoretical 1-sample delay is not enough, but a full recalc period is too long IMO (and youll find oscillator phase not being what you'd expect etc).
this change compromises simplicity, small code size, and expected results.
steps to repro:
2nd note you play you'll hear the properly modulated delay.