Confused on loading multiple patches


#1

Hi all,

I know this has been covered in the forum, but digging through all the past posts I am still confused. I just want to do this basic thing: load a specific patch from the SD card based on a specific input MIDI pgm change message. That is: I want a specific pgm change message (e.g. "12") to trigger loading a specific patch by name. How do I pull this off?

(note that I don't want to work with pgm changes 1-10, intentionally, because I am dealing with some annoying hardware defaults and I want to use low pgm change numbers to do other things)

Any help is much appreciated!


#2

This can be done. I think to skip over the first ten program numbers though you might have to do something clever... like maybe create a 'null' patch to populate the first ten slots of the bank.

I've just gone through this process but I'm not at home so unless someone else steps up, you'll have to wait a couple of days for a 'step-by-step'.


#3

Aha, I have solved my own problem. Sometimes it is hard to tell if I am completely misunderstanding something or if I just have a simple confusion or bug with how I am navigating the filesystems and conventions with the Axoloti. This was a case of the latter!

For my own future reference and for anyone else who needs to do this kind of thing (e.g. control the patches to load using a customized set of MIDI input messages from whatever hardware you are using), the right way to do this is to make a controller object subpatch. Basically I followed these steps:
- made a little mini patch (to be saved as a subpatch) that takes in and selects for the MIDI messages I want to use (only pgm change messages over 10, in my case). It then uses the string/indexed and patch/load fn objects to pick and load a filename based on the pgm change number.
- renamed my set of patches so that they work with this indexing convention (e.g. "PATCH_011" and so on) and uploaded them each to the axoloti.
- saved my little mini controller patch as a subpatch (.axs) in the 'controller' directory that axoloti uses (which I found by searching for the pgmchange.axs subpatch that is "factory-provided" to do patch switching).
- in the preferences menu, set my new subpatch as the controller object.

A couple of "gotchas" that had me stuck... finding the right place to put the subpatch, and the right syntax for expressing its path/name in the preferences menu; also getting the syntax right in the string/indexed object so that it finds the patches correctly once they are uploaded to the axoloti.

The most useful threads/messages for getting unstuck were:
https://sebiik.github.io/community.axoloti.com.backup/t/how-to-use-controller-object/910/2?u=kat (describes how to make a controller object and how to modify the preferences settings)
https://sebiik.github.io/community.axoloti.com.backup/t/help-with-program-change-and-patch-load/1961/4?u=kat (for getting the syntax right in the string/indexed object)


Current workflow of loading multiple patches