k brown wrote:I sort of understand
what needs to be done - just not
how to do it.

It's actually pretty easy! As you might know by now, I'm the worst guy as soon as DSP/ASM is involved. Yet, it took me like 3 minutes to find out where to make changes and why.
Unfortunately I'm not on my music PC, where I have 3.0.6, so I can't share a fsm. But you should be able to do it on your own as well:
1) Drag the ADSR module from the toolbox. The one with the 5 knobs for ADSR and Amount.
2) Go inside that module. You will see another module labeled "ADSR".
3) Go inside that module. Now you see the DSP box with some code, and two modules (one labeled "Gate", which contains the env prim, Spogg was talking about. So we don't have to touch that, it's setup fine)
4) Now look over the code. You will find this line:
Code: Select all
stage = (env!=4.0)&stage + (env>=4)&4;
Without going into much detail, this is checking the stage from the env prim and prepares the current voices for either sustain (left part of the plus sign) or release (right part of the plus sign)
5) We don't need sustain, so we have to add a little math: "stage = (stage >= 2.0)&4;", so that the code now looks like so.
Code: Select all
stage = (env!=4.0)&stage + (env>=4)&4;
stage = (stage >= 2.0)&4;
This will get rid of sustaining.
That's basically it. There's just another line that won't hurt, but is redundant. It's this one
Code: Select all
val = (stage==2)&s + (stage!=2)&val;
Just remove it. Now you can safely remove the s input, and you have your very own ADR!
Have fun
