It's nice to see many system options, but this is making it a bit hard for me in general checking it all out, as sometimes the idea of the process adopted is not quite clear. 

So may I please ask you people to check the general principle of my vanilla prototype and the enhancements I'm providing in my else/abstraction? Just tell me what you think of it in comparison to the other options you know. Like what is the difference in the process, what functionality it provides that I'm missing, things like that. It's just getting hard for me.

I'm hoping we can use this thread to discuss the possible strategies, the general issues and challenges for preset systems.

What I'm usually seeing is that generally the preset alternatives are quite complex and require a bunch of different objects and abstractions. Sometimes you have particular objects to get particular data (like a float or a symbol), and you need a connection to and from the float/symbol. Some will give you a number GUI abstraction that handles this, but it's bad cause you can't edit the size/color/easily. 

Anyway, the simplest one I ran into is the one in Purr Data (which I believe could be compiled for vanilla). It "only" has two objects, but even so feels a bit over complicated to me in general. Every parameter needs have a [preset_node] connected to it. My vanilla approach is similar as you have one object for each parameter as well. It's just a proof of concept with more functionalities to be added to, so it has less functionalities. On the other hand, I'm only using one single object (instead of a 'hub' and a 'node').

My solution for ELSE seems to be as simple as it can get, you can just one [preset] object for any parameters of any type you want! It's basically vanilla making use of [text] and [savestate], it only needs one external, which is based on cyclone/grab. My concern is that I'm missing possible strategies and use cases with it.

I'm also up for thinking about adding functionalities to vanilla so it can provide a preset system on its own. But simple solutions that don't require too many dependencies and just a single external is supposed to be more than good enough for me. And it's not like we can't have a minimal but functional preset strategy with vanilla just by getting all the values and storing them in your patch. It's just that we want easier and more convenient things and it can (and probably should) be external solutions.

What do you people think?

cheers