Why use variations?

I’m in a couple of bands and have to do a lot of GP programming for the various covers we do. Most of this is just different plugins/different presets of the same plugin which I do with rackspaces. Occasionally I’ll use splits but the process to do this using variations (which near as I can tell are incapable of saving anything in the Wiring space) is so annoying that I just wind up using a rackspace for that too. Are there any processor efficiency/storage/whatever reasons I should be using a variation instead? Does Version 5 allow saving Wiring space states as a variation?

Dave

Variations are simply just saving widget settings. So say if you assign a widget knob to the wet dry mix of say a phaser plugin then one variation can have your phaser widget turned all the way up and the other variation all the way down. Now you didn’t have to load that phaser twice.

No, you wouldn’t want that – the time it would take to save the state of all plugins would make it impossible to switch variations seamlessly.

Variations save widget values — if you have widgets mapped to the min/max notes values of a MIDI In block, then you can just switch variations to change your splits. If you have a widget mapped to the bypass parameter of a plugin then you can bypass/unbypass by simply changing variations.
So a group of variations for a single rackspace can be used for a variety of purposes where you just want different combinations of the same set of interconnected plugins but with simple differences (e.g, phaser turned on in one variation and turned off in another)

Not talking about changing the state of the plugin - just the IO block. Or, in the case of what I’m trying to do now, muting/unmuting the Gain blocks for the plugs on the lower register of the split.

This is what I’m getting at: the MIDI IO block already has a really good ‘widget’ that lets you easily select (or MIDI learn) the min/maxes for the split using a virtual (or real) keyboard - why should I have to map it to an inferior one just to save it as a variation?

Because that’s how GP works: You map parameters of blocks to widgets, and the variations allow for changes of those widget values without changing the blocks. The widgets themselves have many different options for scaling, grouping, display, OSC etc. that the blocks themselves do not have available. In this way, widgets are far more versatile than the parameters they are mapped to.

One reason to use variations is that repeated use of rackspaces with the same (especially memory intensive) plugins wastes ram. So, if you use the same plugin, but use widgets to tweak them (volume in a mix, bypass when not used, transpose, etc.) you avoid unnecessarily using ram.

Another reason to use variations is it might make is easier to set up. For example, if you are using 3 plugins in a song, you can just use the same rackspace and make adjustments (bypassing some, different splits/keyranges, relative volume) with widgets.

[There might be other reasons I am missing.]

You start with a rackspace (every rackspace has at least one “variation”). Variations are connected to the rackspace and allow you to change various parameters using “widgets” in different variations. (Also, the widgets are really useful in Setlist Mode. If you tweak, let’s say, the mixer volume of one plug in (via a widget), you can just save this is a “snapshot” in the Song Part).

When I first started I had little understanding how variations and widgets worked. So, I basically just used a different racskpace for each song part (I think I grabbed on to setlist mode from the beginning).

Since then I have used variations and widgets in most songs.

I hope this helps a bit.

Oh, and yet another plug for this template. (I just use the widget panel, without using the rackspace wiring). 6 Channel Template

Jeff

Variations are one of the most powerful features in Gig Performer. They add efficiency and can switch in real time. Let’s say you have a Hammond VST with a few favorite settings. Load the VST into one Rackspace, hook up widgets to the parameters that change (for instance, drawbars, chorus, percussion, and fast/slow) and make a variation for each of your favorite sounds. Now you can select “Keith”, “Jimmy”, “Green Onions”, and Gospel on the fly.

Next, create Songs and Song Parts. You can reuse each of your Variations in multiple songs and parts of songs - all with a single plugin.

You can even have Local Widgets linked to Global Widgets (and global plugin blocks). You can set those Local Widgets to different settings in different variations. An example would be where you have one Reverb plugin, globally. By changing its settings by Variation it can be wet in one song, dry in the next and dripping wet in the bridge.

By using few plugins with many settings, initial load times are fast, memory usage is small, and the changes are instantaneous.

Super powerful.

So I tried using variations with some bypass on some of layers but I’m a little fuzzy on how to add new ones and save them

Also in the song I’m using a variation how do I create the latch persist - so it won’t change to the next one until I lift up the keys ?

(I’m setting up 4 pads and while I currently have them as a global midi change previous and next - I’d rather assign each song part to a pad (I never have more than 4 parts so I want to press one pad for intro one for verse one for chorus and one for bridge. All variations

Then for more complex songs or medleys I’d like to add buttons to move to the next song in the medley or next Rackspace if it’s different

These seem like the most basic concepts yet there is no templated version to achieve this

You can use a MIDI filter plugin block that blocks NOTE ON messages. Disable the block to play the sound. Enable the block and no new notes will trigger, but it still passes NOTE OFF messages for perfect transitions.

IMO, this is a best practice for changing keyboard sounds.

Lookup.“plugin persist” in the forum.

Jeff

“You can use a MIDI filter plugin block that blocks NOTE ON messages. Disable the block to play the sound. Enable the block and no new notes will trigger, but it still passes NOTE OFF messages for perfect transitions”

Can I ask what the advanced to doing this is, over doing the same thing in the Midi in block itself, other than to allow one midi in block to play multiple plugins.

Yes, you can also do this with the MIDI In block.

I prefer the filter method, because it shows my routing more clearly, and I can potentially do additional filtering. The most important point is to enable/disable NOTE ON, but to leave NOTE OFF flowing. Both methods get the same result.

Cool. I already do it in the Midi in block, but thinking about it, having it as a separate block will give a visual indication that’s its on or off in the Wiring view. Ive got caught out a few times when ive had the Note on blocked using a widget but couldn’t tell visually while I was tweaking things.

That’s a good point. By enabling/disabling a “NOTE ON Filter” you can easily see what’s happening in the Wiring View.

Of course, it’s easier to troubleshoot things in GP5 than in older versions, now that the “wires” light up when MIDI and audio pass through. I wish my physical wires did that too!

Except when physical wires ‘light up’, its time for a fire extinguisher :slight_smile:

Can you walk me through how to do that? I assume you would add it in the variation? Is this a better way to do it than using a scriplet of plugin persist?

Here’s what I do…

I add a MIDI Input block and two Virtual Instruments. I add two MIDI Filter blocks and I route the input through those blocks to the instruments.

Open the editors for the filter blocks and disable NOTE OFF for both. (Okay, it’s more efficient to place one filter, disable NOTE OFF and then copy the block.)

Add two switches to the Local Panel. Connect one to each filter block. Set them both to control the Bypass parameter.

Create multiple Variations. Depending on how you set the switches in each variation, you can enable either instrument, both, or neither. Repeat for as many instruments as you would like.

I like this method because everything is loaded, running and ready to go. There’s no risk of a glitch or delay.

I label the filter blocks “Rhodes BLOCKER” or similar, because the instrument is blocked when the filter is enabled. (It looks odd in the Wiring View.) The way that Bypass works evens it out, so the instrument is enabled when the switch is On.

There is also a blog about that