Patch changes on external MIDI devices

Hi, as we have a rainy day I completed some GP script exercises to implement one of my most wanted missing features in GP when dealing with external MIDI devices: showing patch names of the external device…

Of course ‘we all know’ about the ‘Set PC From Patch Name’ function in the MIDI out wiring blocks. I also use this in some of my rackspaces - when the are quite fix.

To get this running I did a small Python script extracting the patch names of my Kurzweil Forte SE backups and creating an INS-file. But that’s a different story…

However, I wanted the same functionality already in my rackspaces. As there’s no access (or at least: I did not find one) to the list of the MIDI out, I expanded my python script to create a simple one-line csv-file and made some first tests with the ParseCSVString(<line : String>) function. However I figured out, that this is limited to 256 array entries - not enough. So I had to do it the long way, and pick the patch names out of the file by myself :zipper_mouth_face:

Attached you’ll find a simple rackspace with 3 knobs for MSB, LSB, PC which ‘create’ a Patch-number which is used to lookup the patch name out of my file and show both in two text labels.

A full MIDI Bank select and PC messages are only sent after changing the PC knob.

It’s not a perfect script, there’s not much about error catching etc. but for me it works :sunglasses: The script expects a simple one line csv file with comma separated 4-digit patch number and a corresponding name. At the end there’s a dummy entry needed.

I’ve attached a sample gig file and a sample pathname csv. If you want to test this you have to adjust the (absolute) file path, where the GP script expects the file…

How are you handling your (remaining) external devices?

BBB

PatchChangeExternal.zip (17.8 KB)

PS: if you are also interested in the Python script let me know…

2 Likes