Issue with rackspace change

I have had a problem for a long time: as a guitarist (you know when the guitarists start playing, you do not know when they are going to stop :wink:) I wanted to change rackspace without stopping playing and use the Output Fading function to get a morphing transition.
The new Input Fading function is a plus, the remaining problem is the superposition of the incoming sound on the outgoing one.

Although I’m not really good at scripting, I’m glad I solved the problem by adapting a different script published in this topic: Automatic Fade Out
Thanks to @pianopaul and @dhj for this. :grinning:

The gig has one guitar amp and one Gain Control block named GUITAR VOLUME.
A widget called Guitar Volume is mapped to the GAIN of this block .

There are 4 rackspaces (Input Muting and Output Fading set to 5 seconds).

In rackspaces 1 and 2 there are no scripts. The volume value is 70. When rackspace 1 or 2 is activated, the volume is louder during the transition, as the input muting from one is still active while the sound from the new rackspace starts immediately.

In rackspaces 3 and 4 there is a script associated with the GUITAR VOLUME widget whose GPScript name is FADIN, and the initial value is: This Value (0.1), and Also reset on rackspace activation checked.

On rackspace 3 or 4 activation, the script starts the volume increase from the initial value (0.1) to the desired value (70), while the previous rackspace’s Input Muting decreases.
In this way, while still playing, a crossfade is obtained and the volume remains the same during the transition.

Here is the script included in the rackspaces 3 and 4:

Var
FADIN : Widget // A knob widget used to trigger the ramp
myRamp : Ramp // A generator that moves smoothly from 0.0 to 1.0 over some specified time
StartValue : double // This remembers the initial value of the knob so that when we start again
// the knob will be reset to this value
Running : Boolean // Keep track of whether we are currently running the ramp

initialization
SetGeneratorOneShot(myRamp, true) // Generator will only run once when triggered
myRamp.SetGeneratorLength(2000); // 2000 = milliseconds
Running = false // When we start up, the ramp is not running
end

On Activate // A new rackspace is selected
StartValue := GetWidgetValue(FADIN) // Get the initial level of the knob (NB make sure it’s not already 0 // otherwise nothing will happen
Running = true // Remember that we are now running the ramp
myRamp.EnableGenerator(True) // Arm the ramp function generator
SetTimersRunning(true) // The ramp function generator will now start producing values
end
// This gets called by the ramp generator as time passes
On TimePassing(timeX : integer, amplitudeY : double) from myRamp
SetWidgetValue(FADIN, StartValue + StartValue *700 *amplitudeY) // start value = 0.1 *700 to reach end value = 70
end

Here is the gig file: Auto Fade-In Guitar.gig (541.1 KB)

1 Like