Recall Variation With a CC?

Sorry for posting about what appears to be a touchy subject (and for not knowing the reason behind every feature in GP). I was just simply surprised that you’re only able to assign a PC to a variation. Everything else in the app is very flexible, and this struck me as a strange omission.

I hadn’t really looked at Song/Song part mode because I don’t conceptualize my rig that way, so I didn’t think it applied to me. I have 4 basic tones (clean, slightly dirty, crunch, and heavy), I then add effects for specific parts of songs or a volume boost for a lead tone. In other words, I don’t have different presets for each song…I can pretty much cover everything with those 4 tones and then specific effects as needed.

After looking at Song mode, it can do what I’m asking just as @djogon said. I’ll just ignore the whole “song” concept and think of them as rackspaces and variations. It would be nice, however, to not be forced into the setlist/song/song part paradigm. I suspect I’m not the only one. It would be cool to use a CC to recall a variation. It’s something to consider for a future feature.

Well, the whole song/song part concept was our solution to this issue

But why? How is that paradigm getting in your way? I guess that’s what we really need to understand.

It’s not getting in my way now that I understand the setlist/song thing. Again, I don’t think of my rig in those terms. I’d rather just access variations (with CC…a limitation of the midi controller I’m thinking of getting) in rackspace view instead of setlist view. I can’t do that…fine, I’ll do it your way. It seems as if my suggestion offends you, sorry about that too. I hope all user suggestions aren’t met with these types of responses.

I consider my problem solved.

Nobody is offended in the slightest. We are just struggling to understand why song view is a problem. Standalone rackspaces were just the initial approach in the original design and the intent was always to be able to “wrap” them inside songs and song parts, which let you do exactly what you want, such as using CC messages to switch variations.

If you just had to only use a rackspace with variations and still use CC messages to switch among them, then a simple GP Script attached to the rackspace would still let you do this.

I made a small script, how switch of a variation via CC can be done (quick&dirty)
CC_Switch_Variation.gig (3.8 KB)

var MIN  : MidiInBlock
    ccnc : Integer
    ccn  : Integer
    ccv  : Integer

initialization
 ccnc = 45 //Your controller is set to ccn 45 and sends 
           // values to select a variation
end

on ControlChangeEvent (cc : ControlChangeMessage) from MIN
// This callback is triggered when a Control Message is received
 ccn = GetCCNumber(cc)  // Check which ccn is received
 ccv = GetCCValue(cc)   // Check which value is received
 
 // Now switch to desired variation
 if ccn == ccnc and ccv == 1 then 
  SetVariation(0)
 elsif ccn == ccnc and ccv == 2 then
  SetVariation(1)
 elsif ccn == ccnc and ccv == 3 then
  SetVariation(2)
 else
  SetVariation(3)
 end  

end

This can be done without scripting, when you learn a CC for direct access:

Another use case when different CC messages should switch to desired variations:

var MIN  : MidiInBlock
    ccn  : Integer


on ControlChangeEvent (cc : ControlChangeMessage) matching 14,23,44,78 from MIN
// This callback is triggered when a Control Message is received
 ccn = GetCCNumber(cc)  // Check which ccn is received
 
 if GetCCValue(cc) == 127 // Only trigger when button is down
  then  

   // Now switch to desired variation
   select
    ccn == 14 do SetVariation(0)
    ccn == 23 do SetVariation(1) 
    ccn == 44 do SetVariation(2) 
    ccn == 78 do SetVariation(3)
   end
  end  

end

After reading all this, I’m now actually a bit confused myself.

pianopaul says “this can be done without scripting, when you learn a CC for direct access:” Am I misinterpreting something, or is this not exactly what chris_g was asking for/about in the original post?

From the discussion I think I understand how using setlist mode could achieve the same thing, but from pianopaul’s message it sounds like that’s an unnecessary (and seems unintuitive to me) approach.

Yes with direct access variations can be switched, and I wanted to show how this can be done via scripting.
The 2nd script shows when variations should be switched by different incoming CC Numbers

I never wanted to show that the SetList mode is unnecessary.
I just wanted to show a workaround if somebody does not want to use the SetList Mode.

Just had a conversation with @dhj where we tried to understand what the root of the issue is here and he came up with a brilliant suggestion.

  • In the setlist mode - have a song called “Any Song”. That song would have one part per your “generic” rackspace/variation. Any time you want to play a song that’s not set up or you want to change how you play your current song - you can switch to one of these song parts on the fly.

This essentially rolls in the rackspace mode into the setlist mode and completely solves any issue that were voiced here.

Basically - “Any Song” song would be a collection of all the rackspaces/variations and that song can be then used whenever one needs to improvise or step outside the current song constraints

Does this help? I thought it was a brilliant idea by @dhj

1 Like

That would be a very elegant solution.
How would the workflow be?

I create a new gig
Create a bunch of Rackspace Variations.
Go to SetList Mode and create a new Song called “Any Song”
Now Songparts are created automatically for all Rackspace/Variations?
How would be the name of this Song Parts?

Or are the shown Song Parts not really created Song Parts and are only used as “place holder” for real Song Parts?

I guess some work would be needed because song part names would have to match whatever you want. For example “Clean - Dry” for a Clean rackspace “Dry” variation.

To be clear. Setlist mode can do exactly what I requested. It just requires a little more configuration than I have now. Not a big deal. I will be using setlist mode moving forward.

What @dhj and @djogon describe is what I came up with yesterday once I looked into setlist mode. It does exactly what I want however…The reason I pushed back initially on this approach is because I’ve been working in the rackspace mode for a while and didn’t want to change my workflow to setlist mode. Given that nearly everything else in GP can be controlled via CC’s, it surprised me that I couldn’t assign a CC to a variation…hence my original question. I didn’t think it was such a big deal, but apparently it is.

The only reason any of this is a problem is because I’m switching to an interface that is specifically built for guitar (with very low latency) and also has a built in midi controller (Xsonic Xtone). The problem is it is a very rudimentary midi pedal and from what I can decipher in the manual it only sends CC messages. I currently use any number of interfaces (lately it’s been the OMEC Teleport by Orange) and my Line 6 Helix as the controller. The Helix is very configurable from a midi standpoint and you can configure any button to do anything…you can program a button to send letters of the alphabet or other keyboard command combinations…very handy. Lately I’ve been taking my Helix out quite a bit and I’m sick of plugging it in and out, etc. I want one device to get my guitar into my Mac and to control stuff via midi that I never have to move. Unfortunately, the Xtone is really the only choice…there really aren’t that many options. Unless someone else has a suggestion.

The new song parts are just defaults. You can rename them and map them to any rackspace or variation in the gig you have loaded. In my case I changed “Intro” to “Clean”, “Verse” to “Crunch”, etc. I then assigned the rackspace/variation as I wanted. The easiest way I found is to select the song part (i.e. “Clean”), then from the Rackspaces window on the bottom left select the variation, then click the “Capture variation into this part” button (its the floppy disk icon at the top of the first panel…to the left of the Transpose, Link, Tempo…buttons). Then in Settings – Setlist, you can assign a CC to each Song Part (up to 24).

One last thought. It seems the Setlist/Song/Song Part mode was built with the idea that players organize their sounds by song, then parts of songs, and have unique patches for each song.

Is this a keyboard player thing? I’ve never played in a band with a keyboardist so I wouldn’t know.

I have played with a lot of guitarists over my 35 years of playing and very few guitarists operate in this way. Some guitar products do allow for setlist and songs, but most people I know don’t use those functions. Guitarists tend to have a discrete set of sounds (in my case 4) and then just use the appropriate sound for a given song part. I don’t think of my sounds in terms of “intro” or “verse”. I think in terms of clean, light crunch, heavy crunch, metal…etc. Depending on what I feel like at the time I might use my “Heavy Crunch” for the rhythm tone today, then use my “Metal” sound for the same song part the next day.

For some this approach wouldn’t work, but most of the gigs I used to play (I don’t play out much anymore) are using a sub-par PA, with an amateur sound guy, in a room with bad acoustics to a bunch of drunk people. In short, it just doesn’t matter how accurate your tones are…most people will never know the difference. They just want to hear loud rock and roll, get drunk and act stupid. I get that not everyone sees it the same way…this is just MY use case.

The feature was designed specifically with guitarists in mind. I’m a keyboard player and @djogon is a guitarist. We took the input of quite a few touring guitarists into consideration when developing it and we were looking at systems such as the Kemper and the Fractal Axxe (both of which were in use by various guitarists in bands with which I tour by the way)

The idea behind song parts was to match the parts that you would see or control in a guitar pedal system so you could simply switch from one part to another exactly as you would with a Kemper (say). Once you’ve switched, you might use other pedals to turn on/off particular effects and/or introduce wah-wah or volume effects or whatever’s needed.

Songs can also automatically load/display ChordPro files, which are also mostly used by guitarists.

The thought was that there would be two different approaches to using song mode.

  1. A single song with a collection of song parts each of which is associated with a rackspace (often the same rackspace but with different variations). In this mode, you get your basic discrete sounds but then you also use some pedal switches (and expression pedals) to “adjust” parameters of those basic sounds. So you would use this to get “clean”, “metal”, “heavy”, etc.

  2. Each song in your set would be set up separately. You might use the same rackspaces or not but you’d use convenient names to navigate through the parts of each song. In this mode, your song parts might be named “Verse”, “Solo1”, “Bridge” and so forth even though the actual rackspaces might still just be “Clean”, “Metal”, “Heavy”, etc

The hope is that there is sufficient flexibility to allow either approach (and perhaps other approaches) so that it can work for anybody without getting too complicated.

Everything I’ve read here only reiterates my thoughts on the architecture of Setlist mode.
When the solution given to someone is “Just create something called Any Song and throw all the rackspaces and variations in there”…that’s just nonsense and far outside of an elegant workflow solution. Sure, it could work, but I can think of many other apps with far more elegant solutions than that, GP. Are you hearing yourselves when you give out this kind of advice?

@edm11 - we are ALWAYS open to suggestions. How would you organize things? We’re listening.
btw… there is never need for rudeness in our forums. We’re all trying to improve GP in one way or another. There will be difference in opinion, but hardly a reason to be rude.

1 Like

Different CC messages to switch variations … vs. song parts.

The reason we do not have this for variations is simple. There can only be 24 song parts maximum per song. There is no limit on the number of variations. You may have one rackspace with all your stuff in it and 100 variations.

Programming 100 variations to use different CC messages is just silly and arbitrarily limiting this would not be helpful to many users.

This is a SPECIFIC case where there is either a hardware limitation or some other limitation and CC messages are send when a button is pressed.

Because this looks like something with 4-10 rackspace - @pianopaul posted a simple script that can be thrown into every rackspace and it will just work. CC messages will switch to different variations.

Thanks for the clarification. As I said, your suggestion works well and it didn’t take that long to setup. I just spent the last hour playing in setlist mode using the Helix to only send CCs and the Neural DSP Plini as the plugin and it works as advertised.

In my case I don’t call it “Any Song”, I call it “Any Gig” because I usually get by with about 8-10 sounds (variations) for an entire gig or jam session. Of course, as you say you do have the flexibility to set it up just as you want. I just don’t use that many sounds anymore. I used to spend a bunch of time programming tons of sounds but after a while it just got tiring and as I said earlier the nuances of between the different sounds are generally lost on the crowds with the exception of the one guitar player standing in the back of the room with his arms crossed critiquing my tone. :slight_smile:

Lastly, thanks for making a great product. The only other VST host (outside of DAWs) I’ve tried is MainStage and while it works, in my opinion it makes things way more complicated than they need to be. I also don’t like the mixer with plugins way they come at the problem. It feels like a DAW but you can’t record anything. GP is much more intuitive with the signal flow (back view?) interface where you just connect the boxes. It’s trivial to add new plugins to your chain, create a backspace or variation and go from there.

Again thanks.