Hallo, punchik punchik hat gesagt: // punchik punchik wrote:
Hi, ive been working on a complex gem patch for creating 3d structures, the patch has a lot of parameters for changing translation , rotation, scale, color, etc. I want to make a preset system for saving the states of interesting shapes and then load them, Do anybody have tried something like this?
which is the best approach for saving a lot of parameters- variables? say 200 or more?
Do you think coll is a good idea for this? or is there a better way for doing this?
Generally with preset saving you face two problems:
a) collecting and distributing all the parameters to and from a central place b) storing them somehow - this is also called "persistence".
[coll] only deals with b) and as Hans wrote, there are other storage solutions like [pool] or the sqlite external or pbank etc. There also are useful builtin storage objects: [table], [textfile], message boxes or data structures.
You still will have to deal with a) which is the harder problem IMO. [sssad] was designed to solve a) in a standard way and to work with any solution to b) that you want to use, including storing into [textfile] and message boxes.
So, I would recommend [sssad] to solve a). Just "decorate" everything that you want to save with a cross-connected and uniquely named [sssad]-object, then build your persistence system for example as suggested in the help-file for sssad using [textfile]. You can group parameters like the three numbers for RGB values into lists with sssad as well, if you like.
If you want to see an advanced way of using [sssad] to manage parameters of abstractions in action, you maybe want to check the RjDj library in development here: http://trac.rjdj.me/wiki/RjLibnew
An example with lots of parameters is the [s_fm4] synthesizer, which is a 4-operator FM synth with 40 parameters. The help patch shows how these are saved into a message box, internally you see the [u_dispatch] objects that are used to manage the parameters with [sssad].
Frank