Updates to ADSR code

There still seems to be something odd about the ADSR code.  I'm having
trouble getting the behavior I expect using these values:
5,102,1000,400.  I'm checking in the code so that Gaetan can peek at my
example.