Yeah, sure, thanks, it's definitely worth looking since you already have it working and all. I'm all up for it of course. BTW, I cannot run the latest pd-l2ork on my 10.14.6 macOS, but I'm having a look at Purr Data to remember how it rolls... I was never able to really fully understand it.
Let me see if I have the slightest idea correctly. It seems you have [preset_hub] that manages (stores and recalls) presets. And you have the [preset_node] object that connects to GUIs and things you want to store data from. BTW, seems like a more "Vanilla like" convention would be a single [preset] object, and you could have [preset hub] and [preset node]. Anyway, if a change to the core is needed and a whole preset system layout is to be provided, I wonder if we could also have "preset node names" as built in symbols in GUI objects. And it'd be great if we could also have interpolation and morphing, with exponential curves, as in my system in ELSE, with the [preset hub] object.
cheers
Em dom., 12 de nov. de 2023 às 01:37, Ico Bukvic ico@vt.edu escreveu:
I encourage Miller and the vanilla community to explore pd-l2ork's preset_hub and preset_node (see x_preset.c). It will require pd to adopt keeping glist consistent across various operations (cut/copy/undo/redo etc.). Once done, it allows for presetting of individual objects through various contexts that are both embeddable in the patch or can be saved into a file. Most importantly, this mechanism is able to distinguish between multiple instances of the same abstraction.
Best,
Ico
-- Ivica Ico Bukvic, D.M.A. Director, Creativity + Innovation Director, Human-Centered Design iPhD Institute for Creativity, Arts, and Technology
Virginia Tech Creative Technologies in Music School of Performing Arts – 0141 Blacksburg, VA 24061 (540) 231-6139 ico@vt.edu
ci.icat.vt.edu l2ork.icat.vt.edu ico.bukvic.net
On Sat, Nov 11, 2023 at 7:58 PM Alexandre Torres Porres porres@gmail.com wrote:
Em sáb., 11 de nov. de 2023 às 16:11, Alexandre Torres Porres < porres@gmail.com> escreveu:
Or yet a new functionality for [pdcontrol] if not in [send] or a whole new object
A "retrieve" method to [value] would actually make sense.
Anyway, I'm giving ideas and most probably most of you don't really know about my preset system in ELSE in detail. The key element is [savestate], which saves the data in a patch, which are values and receive destinations. So I'm not thinking of another object for preset management, just using this existing one for that, as a side product. The data is saved in a [text] object, which is the best plase to store such a thing and it's the 2nd key element per se.
The "retrieve" function is to "grab" the data from objects connected or bound to existing "receive" objects/symbols. This makes things much easier and I hope things are clearer.
[value] seems now like a good candidate for this functionality. It would require the injection of a lot of code for this, but maybe that's ok, not sure if this is a good reason to create a whole new object. And it fits into the idea of [value], which can already send a value to another object, so why can't it also 'grab'/'retrieve'?
And also, the external abstraction that I mentioned could also be part of the 'extra' library that comes with the Pd distribution, which already has some abstractions anyway. While we're at it, I was already hoping to include yet another abstraction there, a biquad coefficient calculator for the [biquad~] object.
cheers
On Sat, 11 Nov 2023 at 16:08 Alexandre Torres Porres porres@gmail.com wrote:
Else’s has morphing, interpolation, etc and is an abstraction that uses [savestate] and [text] mainly.
It also relies on an external, [retrieve], similar to [grab] from MAX. This one gets data from objects connected to named [receive] objects. One could make a vanilla version without it, but it’d be much more complicated. Or we could have a new [grab] / [retrieve] like object in Vanilla, and I could build a Vanilla external abstraction and bring my system to vanilla like that.
We maybe don’t even need a new object and could have something like an extra functionality in [send] where it can get things back. I think some net objects work like that and it would hopefully not be too weird or crazy, and maybe people would likewise abuse this for other use cases.
Seems like a very not much intrusive addition that opens the door for this. What do you people think?
Cheers
On Sat, 11 Nov 2023 at 08:39 KHM t.hartmann t.hartmann@khm.de wrote:
+1 as well, for a native preset system. Best would be the possibility for interpolation between values in various ways, from jump to customisable interpolation curves.
Dr. Tobias Hartmann Künstlerisch-Wissenschaftlicher Mitarbeiter / Assistant Professor
exMedia - Sound
Kunsthochschule für Medien Köln (KHM) Academy of Media Arts Cologne Peter-Welter-Platz 2 50676 Köln
t.hartmann@khm.de +49 (0) 221 20189 228
www.khm.de www.exmedia.khm.de
www.hartmanntobias.com
Am 11.11.2023 um 12:02 schrieb hans w. koch hansw.koch@gmail.com:
+1 for a native preset system. thats the one thing i miss thinking back of the times i used max/msp (particularily the morphing feature).
advantage over else: it can then be used in PdParty e.g. :-)
cheers hans
Am 11.11.2023 um 06:47 schrieb Alexandre Torres Porres < porres@gmail.com>:
I'm revisiting this. I'm proud of my presets system in ELSE but I think Pd needs something natively. What do you people think and say?
cheers
Em sex., 22 de jan. de 2021 às 14:27, Alexandre Torres Porres < porres@gmail.com> escreveu:
Em sex., 22 de jan. de 2021 às 01:35, Alexandre Torres Porres < porres@gmail.com> escreveu:
There's the "morphing" or "interpolation" thing that I may be still neglecting and thinking that using things "line" objects is just as fine, but let's see. I'll also look into how max does interpolation, someone already told me that, I think I have an idea for that too.
I neglected the fact that [line] doesn't work with lists :) so I created an object that does it called [morph]. Hence, this takes care of preset transitions. I don't think it's necessary to put this feature inside the preset object as it makes it more complicated and in the end it's good this is a separate object as it's also useful outside the preset system and can be used on its own to morph into different arrays and stuff.
I'm doing something similar for interpolation, with another object to allow one to manually interpolate between values and lists of values, also incorporating that feature from Max. This should all be up in my repository this weeked.
cheers
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list