Better: *adr { arg attackTime=0.01, decayTime=0.3, sustainLevel=0.5, sustainTime=1.0, preReleaseLevel=0.3, releaseTime=1.0, peakLevel=1.0, curve = -4.0, bias = 0.0; ^this.new( [0, peakLevel, peakLevel * sustainLevel, peakLevel * preReleaseLevel, 0] + bias, [attackTime, decayTime, sustainTime, releaseTime], curve ) } hjh On Jun 5, 2006, at 9:46 PM, James Harkins wrote: So we have Env.adsr and Env.asr, but I am often looking for the fixed-length equivalent of adsr, which is currently available only inconveniently as Env.new(). How about this? : H. James Harkins : jamshark70@xxxxxxxxxxxxxxxxx : http://www.dewdrop-world.net .::!:.:.......:.::........:..!.::.::...:..:...:.:.:.:..: "Come said the Muse, Sing me a song no poet has yet chanted, Sing me the universal." -- Whitman |