Greetings. I started this as a new topic but could just as well have posted it here:
Smoothly fading variant parameters in GP5.
The original script, posted by Erik Schütz @schamass, struck me as a possible alternative to the Plugin Persist option which I find very useful. What interested me was the idea of mixing internal plugins and external sound sources in the Global space with the ability to control morphing over variations and rackspaces.
Here is my take on it with the following functions:
- 8 Morphable Parameters (as the original).
- Morph Progress Display with morph time setting from 0-3 seconds in rackspaces.
- Cubic Easing (smooth acceleration/deceleration).
- Morph Time Taken from *Previous* Rackspace/Variation.
- Delayed Bypass/Mute Update, avoiding premature cutoff of, for example, verbs.
- Clean Fade-Out Progress between Rackspaces/Variations via mouse click or keyboard scrolling (up/down arrows).
In addition:
-
To add more morph targets, simply extend all 8-element widget arrays (globalParams, etc.) to the new count.
-
To change the morph curve, modify the cubicEase function.
For example, replace it with eased = progress * progress for quadratic, or eased = Sin(progress * π/2) for sine ease-out. -
cachedMorphTime is the previous morph time value — critical for correct timing when jumping between rackspaces or variations.
I have tagged certain widgets and plugins in the panels and wiring for clarity.
There is a small script in the ‘current rackspace editor’ also.
The plugins used here are for demonstration purposes and should be available to most everyone, I haven’t yet gotten around to tweaking and adapting this for my projects but it is a good start. Hope you find this useful; thanks to Erik for his fine work.
Simon
GlobalMorphingWidgets_V01.gig (1.5 MB)