I fear that I am missing something in the way Midi-cat works so the following may be entirely redundant!
I have been building some TouchOSC templates that I would like to make publicly available for others to use. I became lulled into a false sense of security by testing them in a single patch without thinking through how things would work when trying to produce a generic setup.
What I am trying to achieve is the distribution of a (set of) TouchOSC file and a matching Midi-cat preset, to avoid the user having to do any of the tedious mapping that puts people off using TouchOSC in the first place. I want them to be able to use this in any patch rather than just distribute a patch where everything is correctly mapped.
This I now realise does not work, but there is a workaround. Midi-cat records the ID of the module it is referencing both as the ‘rightModuleID’ and as the ‘moduleID’.
Within a single patch as long as the mapped module does not change its ID you can recall the preset and everything is mapped and works as expected.
Start a new patch, however, and the module you want to map will have a different ID and the Midi-cat preset will not work (in the sense that it will not be mapped).
This can be fixed, however, by saving a preset for the mapped module, solely to get its ID, and then opening the Midi-cat preset in a text editor and searching and replacing the instances.
Saving and reloading the preset will then fix the problem and everything will be nicely mapped again.
That is obviously quite involved and not a hoop that many would want to jump through. For a module with a few CCs mapped you might as well just remap it. However, I have an iPad Pro template with 128 CCs (a mixer) and mapping that is not an experience you would want to go through more than once!
As I said, I might be missing an easier solution here, so I would be glad to hear it if I am. Failing that, is there some way the module could be enhanced to deal with this problem?
Obviously dealing with a single module template is a restricted use case but one that can always be referred to in the rightModuleID. I doubt there is an easy solution for a performance TouchOSC template that mapped parameters on multiple modules. Nevertheless, a solution for the ‘module to the right’ would be massively helpful.