Correct ADSR behavior

Since the native ADSR node is unusable, I’ve created a modified version.
Sustain and release work now.

Devvvvs feel free to take a look to it and update the old one.
(Only time based version so far)

ADSR_Mod.vl (85.7 KB)

2 Likes

I think this node needs to be rethought very deeply and something completely new created. There are some serious problems in the development process with this node:

  1. Creating settings creates settings every frame and when caching this node just becomes a mess.
  2. The current solution has an immediate problem with NaN.
  3. In general, this node is barely usable compared to its beta brother.

And in general, how many cool animation nodes there were in beta and how few usable animation nodes there were in gamma! I use hack with damper - I connect TogEdge to Jump and get a more or less convenient variant for which there were several convenient nodes in beta and their combinations made the animation very cool. Now there is a lack of suitable nodes for animation.

Diplaying NAN values issue fixed, (it doesn’t affect the how the node works)
ADSR_Mod.vl (85.7 KB)

Booth versions are fully functional

Can you use it and elaborate why it doesn’t work for your needs?

This is not related with the node itself, the settings are the same in the old and the modified versions

The ADSRSettings node was written so long ago that some of the concepts in Gamma seem to come later. I think that ADSRSettings should be converted to a Class-Process node.

ADSR_Mod_ideas.vl (109.2 KB)

If you don’t want to affect the underlying codebase, you should definitely add a Process node that will cache the settings internally. But my opinion is to just redesign without looking at backwards compatibility, sending this node to obsolete, and make a normal ASDR that matches the spirit of modern Gamma.

I’d also like to point out that it would be cool if the ADSR settings had something sensible as a default, so you could tweak it instead of setting it from scratch every time.

At least it could look like this screenshot. If you need to share these settings, you can create a separate GetParams.

Screenshot_19

Your node is much better, at least because it fixes bugs. I’m talking more about the original node. But the problem is that conceptually the issue is the same - using these nodes in code makes things very complicated and creates a mess.