<div dir="ltr">Yeah, cool, sure, I'm aware, but thanks for pointing that out anyway though, it's good that we take that into consideration as well in this thread for comparing and checking out preset management systems for Pd. And why not even bring to the table preset features from other systems, like MAX? I'm actually looking into that as well...<br><br>I guess I should have mentioned that, but I just wanted to ask for other existing solutions available for vanilla, either as pure vanilla abstractions or anything that uses externals available in our ecosystem.<br><br>And while we're at it, it seems to me one could just get the code of <span style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px">preset_hub / preset_node and port the exact same thing and distribute as an external for vanilla, right? I'm assuming it doesn't require any special Purr Data modification. If so, I guess one thing to consider is that thing we recently discussed in the pd-dev list, that for in order of two objects sharing data and info, like I'm assuming </span>preset_hub and preset_node do, you'd need a single binary library, or have something a single [preset] object and use Miller's trick that the argument will call the separate object (as in [preset hub] and [preset node]) - I like this idea better.<div><br></div><div>I just had a quick look at Purr's system though. It seems a bit more complex than I'd like, taking int consideration the same matter I pointed in the email I sent just before yours came in. But I'm gonna spend some more time on that too (as well as with other systems mentioned here, and maybe new ones yet to be mentioned) and see if I'm missing something cool I haven't thought of yet.</div><div><br></div><div>cheers</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em qui., 21 de jan. de 2021 às 14:17, Jonathan Wilkes <<a href="mailto:jancsika@yahoo.com">jancsika@yahoo.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px"><div></div>Just an FYI-- Purr Data has preset_hub and preset_node from Ivica's Pd-l2ork. I don't think it handles state transitions, but the UX is nice and works seamlessly across abstractions without requiring "$0" for symbolic names.<br><div dir="ltr"><br></div><div dir="ltr">Best,</div><div dir="ltr">Jonathan<br></div><div><br></div>
        
        </div><div id="gmail-m_-6953313747905922891ydp35743ad4yahoo_quoted_1541989709">
            <div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;color:rgb(38,40,42)">
                
                <div>
                    On Thursday, January 21, 2021, 2:54:33 AM EST, Alexandre Torres Porres <<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div id="gmail-m_-6953313747905922891ydp35743ad4yiv0761491288"><div dir="ltr"><div><div dir="ltr"><font face="arial, sans-serif"><font style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap">Never really needed fancy preset management other than storing messages in a basic vanilla way. But I've seen people mention how Pd lacks a nice preset system. Not that I know what a fancy one actually needs since I never felt the demand. So I'm here to ask what people use in Pd Vanilla, be it a pure vanilla solution or an external. And also to ask what people miss.</span></font></font><div><font face="arial, sans-serif"><font style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap"><br></span></font></font></div><div><font face="arial, sans-serif"><font style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap">This is what I came up with as a pure vanilla abstraction, it's based on [text] and [savestate]. Here's the thing: </span></font><a href="https://drive.google.com/file/d/1A0ISEJo5F1E578WHM1doo1n2CJAthonU/view?usp=sharing" rel="nofollow" target="_blank">https://drive.google.com/file/d/1A0ISEJo5F1E578WHM1doo1n2CJAthonU/view?usp=sharing</a></font><div><font style="background-color:rgb(255,255,255)" face="arial, sans-serif"><br></font></div><div><font style="background-color:rgb(255,255,255)" face="arial, sans-serif">

In short, the preset abstraction takes messages and stores them. You can have many of these on your patch and use them to recall presets for any parameters. It takes any kind of messages. I'm making use of built-in sends and receives in the number boxes to make the patch cleaner. Just think<font color="#000000"><span style="white-space:pre-wrap"> that you can have separate control of each parameter having its own preset or group all of them together globally, or a group here and another </span></font>there<font color="#000000"><span style="white-space:pre-wrap">, whatever... Once you save the patch, the presets you saved get stored in the patch.</span></font></font><br></div></div><div><font style="background-color:rgb(255,255,255)" face="arial, sans-serif"><font color="#000000"><span style="white-space:pre-wrap"><br></span></font></font></div><div><font style="background-color:rgb(255,255,255)" face="arial, sans-serif"><font color="#000000"><span style="white-space:pre-wrap">As for my current idea for my ELSE library, I'm using an object similar to grab to take messages from [receive] objects. It's a development over this original vanilla abstraction. My first draft is this, I hope that sharing the screenshot give you a nice idea. </span></font></font></div><div><font style="background-color:rgb(255,255,255)" face="arial, sans-serif"><font color="#000000"><span style="white-space:pre-wrap"><br></span></font></font></div><img src="cid:17725f49de0239317b41" alt="Screen Shot 2021-01-21 at 04.47.42.png" style="margin-right: 0px; width: 403px; max-width: 555px;"><div>You can check what's up in my repository for more details... <a href="https://github.com/porres/pd-else/blob/master/Classes/Abstractions/preset.pd" rel="nofollow" target="_blank">https://github.com/porres/pd-else/blob/master/Classes/Abstractions/preset.pd</a></div><div><br></div><div>cheers</div><div><br><div><font style="background-color:rgb(255,255,255)" face="arial, sans-serif"><font color="#000000"><span style="white-space:pre-wrap"><br></span></font></font></div><div><font style="background-color:rgb(255,255,255)" face="arial, sans-serif"><font color="#000000"><span style="white-space:pre-wrap"><br></span></font></font></div></div></div>
</div></div>
</div>_______________________________________________<br><a href="mailto:Pd-list@lists.iem.at" rel="nofollow" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="nofollow" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br></div>
            </div>
        </div></div></blockquote></div>