[PD] Preset management for Pd Vanilla

Alexandre Torres Porres porres at gmail.com
Sun Nov 12 14:31:53 CET 2023


this [image: Screen Shot 2023-11-12 at 10.31.08.png]

Em dom., 12 de nov. de 2023 às 09:40, Ico Bukvic <ico at vt.edu> escreveu:

> So, what happens when you get to run Pd-L2Ork on 10.14?
>
> Best,
>
> Ico
>
> --
> Ivica Ico Bukvic, D.M.A.
> Director, Creativity + Innovation
> Institute for Creativity, Arts, and Technology
>
> Virginia Tech
> Creative Technologies in Music
> School of Performing Arts – 0141
> Blacksburg, VA 24061
> (540) 231-6139
> ico at vt.edu
>
> ci.icat.vt.edu
> l2ork.icat.vt.edu
> ico.bukvic.net
>
> On Sun, Nov 12, 2023, 00:29 Alexandre Torres Porres <porres at gmail.com>
> wrote:
>
>> 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 at 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 at 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 at gmail.com> wrote:
>>>
>>>>
>>>>
>>>> Em sáb., 11 de nov. de 2023 às 16:11, Alexandre Torres Porres <
>>>> porres at 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 at 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 at 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 at 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 at 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 at 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 at gmail.com> escreveu:
>>>>>>>
>>>>>>> Em sex., 22 de jan. de 2021 às 01:35, Alexandre Torres Porres <
>>>>>>> porres at 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 at lists.iem.at mailing list
>>>>>>>
>>>>>>> UNSUBSCRIBE and account-management ->
>>>>>>> https://lists.puredata.info/listinfo/pd-list
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pd-list at lists.iem.at mailing list
>>>>>>> UNSUBSCRIBE and account-management ->
>>>>>>> https://lists.puredata.info/listinfo/pd-list
>>>>>>>
>>>>>>> _______________________________________________
>>>> Pd-list at lists.iem.at mailing list
>>>> UNSUBSCRIBE and account-management ->
>>>> https://lists.puredata.info/listinfo/pd-list
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20231112/f41f7370/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2023-11-12 at 10.31.08.png
Type: image/png
Size: 23827 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20231112/f41f7370/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2023-11-12 at 10.31.08.png
Type: image/png
Size: 23827 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20231112/f41f7370/attachment-0003.png>


More information about the Pd-list mailing list