Hello everybody:
I've written this system to have data persistance for Pd-extended with a quick save/load because I
personally don't understand deeply enough how sssad works. This technique relies on iem_tab/tab_copy object. I don't have Pd vanilla to test if the external can be loaded from it.
It is licensed under GplV3.
It happens to me a lot that many members post awesome patches for making sound or fx and I cannot merge them with the modules I have now. This set of abstractions that I give to the forum are written in such a way that one can have presets persistence very quickly. It saves all data to a wav file after dividing each value by 1e+7. Since I'm still using 32-bit Pd-extended the length of final data table is limited to 1e+7 values, but I think this would be quite enough.
This set of abstractions works as any presets manager in a keyboard: you move your sliders and/or edit tables and then you save that set of values to a certain preset number, using messages or clicking on (W) bang. Then you move them again to have a different setup and save that combination to a different preset number (W) bang or sending messages. When you recall them with (R) bang the values are set to your sliders and tables. Examples are provided in the compressed file so this post is not as long as a testament.
In the main patch you should put the presetsManagement-Master subpatch. In each abstraction (sound module, sampler, fx, etc) you should copy the presetsManagement subpatch. To each slider, numberbox, [f ] atom, toggle, etc, you should attach an [rwp ] abstraction and to each table that you'd like to persist, an [rwt ] abstraction. They should be instantiated as shown inside them. I rewrite that here:
[rwp $0 <Id-number> <AmountOfPresets> ]
[rwt $0 <Id-number> <AmountOfPresets> <nameOfTheTableWithout '$0-'> ]
(so if the table you want to persist is instantiated as: http://www.pdpatchrepo.info/hurleur/presetsPersistence-Sumidero.tar.bz2