Fellow ChucKists,

Envelope.rate() is a read-write function so I thought I'd try to use it to detect the current movement of a envelope, like this:
=========================================
Envelope e => blackhole;

e.value(0);
e.duration(second);

e.target(1);

now + 3::second => time later;
while(now <later)
    {
    <<<e.rate()>>>;
    10::ms => now;
    }
================

It now turns out that .rate(), when read from, reports the rate of change Envelope had when it was last set to a target, not necessarily it's current rate of change (which may well be 0).

I'd like to propose this behaviour to be changed towards Envelope always reporting it's current rate of change.

 Because Envelope is a part of the STK we may need to be careful with that as other Ugens inherit from it so such changes might affect those. Still; there are a few STK Ugens that are on The List to have a look at because of their envelope (probably ADSR) based behaviour anyway. Stricktly speaking this change could break some ChucK code as well but I find it hard to imagine situations where the current behaviour is more usefull then my proposed change.

Yours,
Kas.