Init message boxes and sends are a clear place where $0 expansion is beneficial. The reason why I don't use those in pd-l2ork anymore is because pd-l2ork has had for quite some time universal preset system (preset_hub and preset_node objects) that can pinpoint just about any basic object or an array even in situations where you have multiple instances of the same abstraction and differentiate between them. This means that a variable that exists in two identical instances of the same abstractions will each be identified as unique and different. Note that in the K12 beginner mode, that is unique to pd-l2ork, every abstraction has one or more presetable variables and users are not only able to but strongly encouraged to create multiple instances of each of those abstractions without having to worry about any of this (in that mode effectively every abstraction is treated like a basic object).

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@vt.edu

ci.icat.vt.edu
l2ork.icat.vt.edu
ico.bukvic.net

On Thu, Dec 2, 2021, 17:52 IOhannes m zmölnig <zmoelnig@iem.at> wrote:
On 12/2/21 23:34, Christof Ressi wrote:
> Personally, I often use $0 in large "initializer" message boxes:
>
> [;$0-foo 10
>
> ;$0-bar 50
>
> ;$0-baz 10
>
> etc.(
>
> I like this better than creating dozens of individual [s] objects. The
> workaround is to use $1 instead and pass the $0 from a [float] object,
> but yeah...

i tend to prefer [list append $0] (or [symbol $0-buf] if in can be more
specific) over [float $0], keeping the type of $0 opaque.

but anyhow, i personally have stopped using those large initializer
mgxboxes long long ago - probably *because* they don't expand $0; but
probably also because:
- if there's only a single init-state, i initialize within the object s
(or nearby) rather than with a msgbox "somewhere else".
. if there's multiple init-states, i'd just go for a file-based state
saver, and solve the problem entirely different.

>
> It's also an issue when I want to create a message like this:
>
> [read media/$1-$2.wav $0-buf-l $0-buf-r(

well yes. that's te [soundfiler] use case i acknowledged.
>
>>> Whenever we need "$0" for a send name,
>>
>> then i tyically use [send $0-foo], where there's no msgbox involved at
>> all.
> The message box syntax is often more convenient:
>
> [;$0-array const $1(
>
> Of course, I could just as well write
>
> [const $1( -> [s $0-array]
>
> but people are lazy :-)

how much lazy?

i find the latter more readable than the former for anything but
idiosyncratic sending-msgboxes like [; pd dsp 1(
so i'm totally fine with having an additional multiky-stroke (afaict
it's really only a single Ctrl+1 that youhave to type more. and on my
german keyboard i prefer typing "s" over ";")


> IMO it is a real pain point. Otherwise this topic wouldn't come up again
> and again...

does it?
there are obviously *some* people who feel a real pain and articulate it.
it seems the Pd-list community is not very much into likes (and i myself
are not on fb so i don't know what is happening over there), but your PR
received 3 thumbs up.
this is not exactly bad for our upvotes, but...
maybe the pained people could just head over and upvote.


mgfsa
IOhannes
_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list