Set PC# and Bank# on a variation

Hi Guys, is it possible to set this items via scripting. These are the numbers usually set in the Variation Properties dialogue.

I searched the “System Functions” documentation and found this “GetCurrentProgramChangeOrBankNumber”. But unfortunately there is no corresponding setter and even this function getter is reported as “Unknown identifier” after compilation. :frowning:

NOTE: I still use GP version 4.0.54

Well, the getter was not implemented back in 4.0

No. What would be the use case for this?

Hi dhj,

I use 1 rackspace for 1 song in live performances (each song is a rackspace) and I only use 1 variation.
During live performange I switch to the required Rackspace by Bank# and PC# sent from MIDI master keyboard.

Sometimes I need to export/import rackspaces from one gig file to an other (copying song from one the another live band or a different gig of a live band)

For a given rackspace in all my gig files I use PC#=1 and Bank MSB# = 0 and Bank LSB# = unique number in the one and only variation’s properties. But during export and import of rackapaces the PC# and Bank# get lost (this is known and on your feature list).

Since the Bank LSB# is also a prefix in the name of my Rackspaces I’d like to go for a workaround by setting this lost Bank LSB# via scripting according to this name prefix once it has been imported from somewhere else.

e.g. The rackspace name could be like “65 Uptown Funk” and script could be like

Name  = GetRackspaceNameAtIndex (newRackspaceIndex)

Num = StringUpToFirstOccurrence (Name, " ", false, false)

PC  = GetCurrentProgramChangeOrBankNumber(0)
MSB = GetCurrentProgramChangeOrBankNumber(1)
LSB = GetCurrentProgramChangeOrBankNumber(2)

Showing the compilation error mentioned before. I can update to neweset GP version to enable the getter. But a setter is not available in any version? I would use it to set LSB like:

   SetCurrentProgramChangeOrBankNumber(2, StringToInt(Num))

Why don’t you use song/setlist mode?

1 Like

When I started ‘gig performing’ many xears ago no setlist feature was available. So I decided to use this “each song is a dedicated rackspace” workflow. Then after setlists have been added to GP I evaluated this but I was missing some level of flexibility in the set list workflow where a rackspace is more or less a collection of intruments or virtual devices which can be (re-)used in multiple songs. E.G. different mappings of keyboard midi zones, channels and midi controllers, different tansposings, different plugin configuration (e.g. the drawbars of my VB3 or Blue3) in different songs using the same rackspace were not possible.

So I continued using my “song <=> rackspace” workflow. Maybe I didn’t study setlists well enough or may be some extra felxibility was added later. But finally it was always the question of how much time I would spend on learning GP when I would rather make music. So excuse me when there is an obvious solution which I just did not see.

But regarding time, it would be very helpful in this community when an answere to a question is not a question itself forcing me to argue and explain a lot of things and discuss many options but rather a real answere like “hey you can use songs in setlists allowing to be addressed (activated/selected) by the same bank# and PC# from other midi master keyboards like variations in a rackspace”. Indeed I still have not found this option, only the reversve way of controlling an external device by sending bank# and pc# when a song is selected within GP.

So, even after spending a lot of time and words I still haven’t got any clue. :frowning:

Aha may be I found it, is it this Bank# and PC# in “Song Part Properties”?

HI Markus, it was not my intention to ‘force’ you in an argumentation/explanation cascade - however sometimes it’s worth to take a small step back and review processes/behaviours and see/undestand what a tool like GP (or any other thing…) can offer, what has been improved/changed over time and how you make the best use of it.

My first intention when starting with GP was quite similar, I thought that I don’t need the Setlist mode as I can control everything from my master keyboard or an iPad App.

Meanwhile I figured out how to setup a system of PCs/LSBs/MSB which I use in Setlist mode and have the freedom to reuse or even just change a rackspace from time to time.

Some additional widgets and variations of a rackspace are my best friends to even increase the reuse of some rackspaces in more songs/songparts in my setlist.

I also removed some GP scripts over the time as functionality was added or even ‘undiscovered’ from my side :wink:

Just some thoughts

1 Like

Probably not going to happen. It is far too common that people ask how-to questions because they aren’t aware of other (often better) ways to do things. So people will want to try and understand the situation better hence asking more questions!

This is mostly a volunteer community and complaints about how people answer your questions will not garner many points and will also discourage people from trying to help you in the future.


Sorry if I was perhaps a bit unkind.

Yes, of course ignoring or blocking is a way to deal with feedback/criticism. But feedback and criticism are also an opportunity to learn from communication and improve knowledge transfer. So I just said that I would be happy to receive an answer that explains the how and why in one or two lines, instead of just “why don’t you use xy”.

Otherwise I first have to familiarize myself with xy, understand what it has to do with my question and my problem, and analyze where exactly the solution lies in xy. It’s a bit like reverse engineering, and it’s not the most efficient way to learn.

But I understand what you mean and I’ll be careful.