@Progster, I was thinking about this and I finally start to get some ideas.
The distinctions between “global” vs “patch-level” vs “configuration-files” seem wrong to me. How about the following:
- There is no global data or configuration files data.
- Each patch exists as a file in a folder, and it can save all settings. So, patches exist in a file hierarchy/subfolder structure.
- In any subfolder you can have a “Default” patch, which all patches in that subfolder inherit from.
So for example, consider this file hierarchy:
/Patches/Default.patch
/Patches/MIDIGuitar/Default.patch
/Patches/MIDIGuitar/FCB1010/Default.patch
/Patches/MIDIGuitar/FCB1010/SomePedalBoardPatch1.patch
/Patches/MIDIGuitar/FCB1010/SomePedalBoardPatch2.patch
/Patches/MIDIGuitar/BreathControl/Default.patch
/Patches/MIDIGuitar/BreathControl/Sax1.patch
/Patches/MIDIGuitar/BreathControl/Sax2.patch
/Patches/MIDIBass/Default.patch
/Patches/MIDIBass/MonoSynths/Juno.patch
/Patches/MIDIBass/MonoSynths/Brute.patch
So you can construct a hierarchy of patches (in subfolders) and each level will add settings on top of the Default ones.
In my example, all patches will inherit the settings of /Patches/Default.patch, and then any other Default in its path.
At the extreme:
Sax1.patch will load the settings of /Patches/Default.patch, then add the settings of /Patches/MIDIGuitar/Default.patch and then add the settings of /Patches/MIDIGuitar/BreathControl/Default.patch and finally add the settings of /Patches/MIDIGuitar/BreathControl/Sax1.patch
For this to work, MG3 will automatically do the lifting for you when saving a patch: It will automatically lookup the folder structure and find and add up any parent default patches. If the settings you are saving is already saved in this default patch, the settings are not saved in the patch. Any setting that differ from the defaults will be stored in the patch.
Loading is simple: MG3 will just add up the folder hierarchy of defaults and then finally the settings stored in the patch.
At any time can you load a default patch and change it. That will affect all patches in its folder and subfolders.
Any everyone who dont care about all this, will not notice, as they dont have any default patches.