Change to 'noise' functions So this is awkward:

Change to ‘noise’ functions
So this is awkward: I finally found and fixed an integer overflow/underflow bug that had been lurking in the FastLED ‘noise’ functions for a long time. Before, due to the internal math overflow, the noise functions could sometimes produce significantly ‘discontinuous’ output, like:
21 22 24 26 172 173 174 175 (for example)
With the new code change in place, the output is more or less ‘continuous’, like:
21 22 24 26 28 30 31 32 33 33 (for example)

While this is definitely a bugfix, bringing the code much more closely in line with how it was designed and intended to behave, it could also result in a significant change in the appearance of your existing animations if they use the noise functions.

But if you want the old behavior, you can have it. Locate the file “fastled_config.h”, and uncomment the line that says
// #define FASTLED_NOISE_ALLOW_AVERAGE_TO_OVERFLOW 1
With that line uncommented, the noise functions will revert to their old behavior – including the discontinuities, which you may have used in some advantageous way in your animations.

These changes are, at present, found only in the latest version of the master branch on github.

Sorry if this disrupts your work, or requires you to change the flag for existing animations.

We try pretty hard not to make changes that aren’t backwards-compatible, and this one was a tough call. There’s no one right answer here, so we changed the code to the ‘new’ (correct, intended) way, but provided a flag for you to stick with the old way if you so desire.

Ha, I just wrote a selective data smoothing which handles rising / falling values different. It basically allows to set the attack and decay time seperately to speak in ADSR terms. It was inspired by your TwinkleFOX code.