The preset manager has been updated. This new version have two new features:
1 - Saves parameters as name/value pairs [1], and so it should not be dependent on the order/placement of objects in the patch.
2 - Introduces a new attribute called "savemode". The "Global" mode allows a single preset manager to save all parameters in the patch, including all sub patches. The "SubPatch" mode works like the previous version, except for point 1 above.
Edit: I just added a third save mode "SubPatchV1", which is the exact same functionality as the first version of preset manager. While I'm keen on the added integrity name binding gives, missing the integer spinbox parameter (and possibly others) is not so cool, and I'll leave this option in until full integrity can be ensured for the other modes.
There is currently a drawback to implementing point 1: some parameters aren't currently being registered by the patches (in xpatch.cpp), and they will not be saved. When this issue/bug in the Axoloti base software is fixed, all parameters will be saved as expected. Currently I have identified the integer spinbox (ParameterInt32Box) as not being registered, but there could be others. If you test this object, please watch the Axoloti console and see if it reports any skipped/missing parameters on save/load in SubPatch mode (in Global mode this can't be easily detected unfortunately) - if you spot any other non-registered parameters, recognized by not being updated on a load, please report here.
Apart from the missing parameter type(s?), it now works better, since data integrity is helped by storing the parameter names. There is one problem with that though: in Global mode, two equally named parameters in different sub patches will create confusion. This can only be fixed if the patches store a list of sub patches (in xpatch.cpp, I'm discussing this elsewhere with tb, and I'm hoping this can be included in the next Axoloti version).
Given a fix for the non-registered parameters and a sub patch list, this module will perform complete preset management, like we're used to from most synthesizers.
The file format version has been bumped from 1 to 2. If you have saved data with the previous version, it should still be loaded back, but that support will be removed with the next update.
[1] In the files, only a hash of the name is actually saved.