Just think like that: a message selector can't be a number (or pointer), that's why [1( automatically gets a "float" selector and [1 foo bar( automatically gets the "list" selector. Otherwise, the first item is the selector, so [foo bar( is a "foo" message, but [symbol foo( is a symbol message.
If you want to turn Pd lists into messages, you have to strip the "list" selector with [route list]. This obviously doesn't work if the next item is a number, so [list 1 2 3( -> [route list] passes the message unchanged, but [list foo 1 2( -> [route list] results in the message [foo 1 2( because "foo" is a valid selector. > A message [stop( to a [delay] object does not require "stop" to be > prefixed by a "symbol" selector. because [stop( is a "stop" message and [symbol stop( is a "symbol" message. If you want to know the gritty details, you have to study the C code, I'm afraid... Christof > Gesendet: Dienstag, 26. November 2019 um 16:59 Uhr > Von: "Peter P." <[email protected]> > An: [email protected] > Betreff: Re: [PD] opening patch from pd message > > * IOhannes m zmölnig <[email protected]> [2019-11-26 16:03]: > > Am 26. November 2019 15:49:07 MEZ schrieb Roman Haefeli > > <[email protected]>: > > >On Tue, 2019-11-26 at 15:12 +0100, Csaba Láng wrote: > > >> Dear list, > > >> > > >> I want to open from a pd patch a pd patch withe the message: > > >> > > >> [; > > >> pd open $1.pd /path-topatch;( > > > > > >[...] > > > > > >> just to be clear, if I want to open cat.pd, a message [cat( will not > > >> make it happen. > > > > > >Use [symbol cat(. > > > > > > and if you have many, many files (msgboxes) you can convert (almost) any > > selector toa symbol with [symbol]: > > jumping on this I must admit that I never understood when a selector > such as "symbol" or "list" has to be provided explicitely, or to be > trimmed off. > > From https://puredata.info/docs/manuals/pd/x2.htm#s3.1 I understand that > the message > [1( > has an implicit selector of "float" and is equivalent to > [float 1( > > Also the message > [1 2 3( > has an implicit selector of "list" and is equivalent to > [list 1 2 3( > > It seems the selector is always a symbol (one or many characters > without whitespace nor semicolons nor commas). > > It seems symbols themselves have no selector(?) as > [foo( > seems to be the selector "foo" itself and is not the same as > [symbol foo( > at least not when printing to the console window. > > Now is this why > [cat( > in the original poster's question did not have a selector "symbol" and > one had to be added eg. with [symbol]. Was this because it was used in > another message box or in a $1 substitution? > > A message [stop( to a [delay] object does not require "stop" to be > prefixed by a "symbol" selector. > > Why does this still seem a mixup of symbols with and symbols without a > "symbol" selector to me? Can this be clarified somehow? > > Thanks to everyone, > P > > > > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
