Using an iPad to send Program Changes

OK, next question
How looks the Global MIDI Monitor window when Gig Performer should get Program Change Messages?

According to your screenshot you linked above, you had zero based PC switched off. What this meant was that when you entered PC 14 in the song part properties, you actually needed to send GP PC 13 for it to work.

So I’m surprised it didn’t make a difference when you turned the option on.

He linked the screenshot, I’ll upload it here:


So, I did what was suggested again, that isSet the Midi messages to use zero based PC numbers. I remember having a similar issue in Mainstage, hence I have to set every patch number MINUS 1 - very confusing, but that is the world of Midi from 40 years ago.
I adjusted numbers back and forth, and I noticed one song was changing, which was All Fired Up. I delved a bit further, changed numbers, but then I noticed that 20Good Reasons had 0:88, and 3AM had 0:14. I removed the PC change, and put it in again, and those numbers disappeared. I tried switching again, and it works. Now to find play with arpeggiators and Samplers, plus tinker with Ripchord.

1 Like

Another step down the track is getting my Ipad to send PC changes higher than 127.

There is no PC message higher than 127
You need to send bank messages and then send the PC message.

1 Like

And based on that screenshot, his iPad is indeed sending bank select messages (CC 0 and CC 32 values) so it shouldn’t be an issue.

Note that those bank select messages will always be zero-based

Yes, I was aware of that (Thank you, anyway :slight_smile: ).

I haven’t had much success in getting Mainstage to recognise the control changes coming from Linkesoft. Linkesoft unfortunately don’t do Midi advice/support. :frowning:

Thank you, I’ll be trying that soon. :wink:

This is what I do. I have 21 GP gig files with 20 rackspaces/songs in each (20 songs = one hour playing). Each gig file is named “Guitar 1, Guitar 2, …………… up to Guitar 21”. Each set of 20 songs uses a bank number that is the same as the gig file number i.e. the songs in Guitar 1 use bank 1 in addition to the #PC number, Guitar 2 uses bank 2 and so on. These are set in OnSong running on the iPad. This bank numbering system has the added advantage of telling me where each rackspace can be found i.e. in GP gig files - Guitar 1, Guitar 2 etc.

We have about 120 songs in our repertoire, and every new customers wants a few more. We don’t have a set guide line, as each party is different.
Therefore each set is usually different, which can be a programmers/keyboardists nightmare. I am just in the process of adding each song, then the song patches, as per Linkesoft.
I found Onsong outrageously priced, and only supports IOS. I needed the Premium yearly, as I was always editing songs (and still do).
Thankfully we haven’t been asked to play ‘The Horses’ by Daryl Braithwaite yet. :crazy_face:

So, the initial tests worked on a few songs, with a basic PC## change. I added another 20 songs, now GP doesn’t recognise these PC## changes, despite the Global Midi Monitor saying the info is coming through.
Then I played around with a song using a different command type being
{midi: CC32.1, PC 7} and it worked (or just a coincidence.
However for some reason this does not work on Mainstage, and I need to keep using this until I am confident of a thorough migration to GP (when I get the last few things worked out), not to mention setting up another 100 songs.

You probably changed the bank number on those particular rackspaces and that’s why it works

I’ll fiddle a bit more when I have everything else sorted (I have 125+ songs to setup sounds, keys, transpose etc)

Program changes have been working successfully with using zero based messages, However, as we have approached song 128, I have started trying to workout how to change songs using MSB and LSB, and I initially had some minor success, but I have not been able to replicate it. Midi commands are going through according to the monitor, and I have attached a link to some screenshots.. I assume I just need to get the Syntax right, and I have been fiddling but no luck. IE {midi: CC10.2, PC10}

Also, disregard part of the midi, I am also trying to work out sending patch changes to my Boss ME80 Guitar Processor.

Bank Select = CC0
Bank Select (Fine) = CC32

This is the section with commands from my Software MIDI-Support

SongBook supports MIDI on all iOS devices. When MIDI is activated in menu Settings, SongBook will connect to all input and output sources on the MIDI bus.

You can select a song with a MIDI command by inserting a directive {midi-index: , ,…} in the song. You can also send certain MIDI commands when opening a song by inserting {midi: ,,…} in the song. You can also use a MIDI pedal to scroll up/down in a song, by entering the respective command in Settings.

The general MIDI command syntax is .:@ (see table below).
. However, in most cases it is easier to just select the MIDI command from the list of last received commands (via menu in song editor, or for up/down pedal in Settings).

Command Explanation Example
N Note (On/Off) N60
PC Program Change PC6
CC Control Change/Bank Select CC100.10
SS Song Select SS99
PAUSE Pause milliseconds before sending next command PAUSE10
XX.XX.XX… Arbitrary bytes (e.g. System Exclusive) F0.

For testing, write {midi: N60} anywhere in the song. This will play a C1 note on a connected keyboard whenever you display this song. Alternatively, if you have {midi-index: N60} anywhere in the song, this song will be displayed whenever you play a C1 on the keyboard.

Note: MIDI is a very complex topic. Unfortunately we’re not able to help with specific questions about MIDI setup or MIDI commands.

For some reason the Syntax is not displaying correctly - LinkeSOFT SongBook Your lyrics and chords on iPhone, iPad, and iPod touch

I don’t know what this means (CC100.10)

Bank select messages use CC0 and optionally CC32 numbers, with the values representing the desired banks (coarse and fine respectively). Make sure that your iPad application is in fact sending those CC numbers

See for example MIDI Specification: Bank Select

1 Like

Thank you. What you posted, has helped solve the issue. So, I use a Chord/Lyric Program called Linkesoft Songbook, which doesn’t everything I need, and is cheaper/better than Onsong.

Unfortunatly, the Midi section for help, does not provide much help in regards to Midi. From what dhj has posted, I have worked out the correct Syntax, and it works!
If Song XYZ, requires a patch change with the settings:-
Program Change = 10
MSB = 10
LSB = 3
you have write the following into the song at the beginning
{midi: CC32.3, CC0.10, PC10}

So {midi: CC32.xx, CC0.yy, PCzz}
zz = PC#
yy = MSB#
xx = LSB#

Thank you