[PD] (breaking symbols) was Re: find a list of numbers in a text file

Jonathan Wilkes jancsika at yahoo.com
Wed Sep 7 23:46:46 CEST 2011

----- Original Message -----

> From: Hans-Christoph Steiner <hans at at.or.at>
> To: Jonathan Wilkes <jancsika at yahoo.com>
> Cc: fbar <fbar at footils.org>; "pd-list at iem.at" <pd-list at iem.at>
> Sent: Tuesday, September 6, 2011 4:04 PM
> Subject: Re: [PD] (breaking symbols) was Re: find a list of numbers in a text file
> On Sep 6, 2011, at 12:30 PM, Jonathan Wilkes wrote:
>>  ----- Original Message -----
>>>  From: fbar <fbar at footils.org>
>>>  To: "pd-list at iem.at" <pd-list at iem.at>
>>>  Cc:
>>>  Sent: Tuesday, September 6, 2011 3:53 AM
>>>  Subject: Re: [PD] (breaking symbols) was Re: find a list of numbers in 
> a text file
>>>  On Tue, Sep 06, 2011 at 09:44:33AM +0200, Frank Barknecht wrote:
>>>>  I'm not sure what "appears in the patch" should mean. 
> It
>>>  definitly means
>>>>  that numercial-symbol selectors don't get shown and cannot be 
> written
>>>>  into a patch, so you cannot use them in the editor where 
> "real"
>>>>  selectors should be written, like in [route].
>>>  Forgot to add: Of course it is possible and legal to "use" 
> numerical
>>>  or
>>>  non-printable symbols as selectors, but they have to be constructed
>>>  dynamically and cannot be typed, in accordance with the restrictions
>>>  mentioned in the manual. Instead something like this can be used:
>>>    [makefilename %d]
>>>    |
>>>    |                  [makefilename %d]
>>>    |                  |
>>>    [select symbol-dummy]
>>>  I used [makefilename %d] a lot in the rj library's [m_chorddict]
>>>  dictionary for chords, where some chord names are proper symbols, like
>>>  "m7", while others are floats like 7. The float-names get 
> converted to
>>>  symbols internally to look up chord notes in a data structure array
>>>  keyed by symbols only (using [m_symbolarray]).
>>  At what point are you using numerical-symbol selectors?  Everything 
> you've
>>  described has the selector 'symbol'.
>>  If you mean you let the user send symbols or floats as the key and convert
>>  internally, that's _exactly_ what I'm proposing.
> I guess I'm not clear on your proposal.  Is it that a "symbol" 
> selector automatically converts things to a symbol?  That makes a lot of sense, 
> and would help with other issues.  Then you could also make symbols with spaces, 
> like:
> [symbol 43(
> [symbol /home/hans/My Documents(

Well, that's something I've wanted for a long time.  But what I am proposing has to do with 
selectors, not symbol messages.

Problem: convert from symbol-atom to float-atom
Proposal: if a selector happens to be in a form that can be interpreted by the 
naked eye as a valid Pd float, and the object receiving the message has a float method 
(and no anything method), then send a float to the object.

[r infinite-expressivity]
[1( <- float
[makefilename %d] <-- converted to symbol message (and the message arg is convert to a symbol-atom)
[list trim] <-- now we have a message with the selector 1 and no arguments
[route float] <-- seriously, it's a symbol-atom, not a float
[float] <-- my proposal: give [float] a float-atom instead of a symbol-atom in this case
[route float]
[set $1, bang(
[s infinite-expressivity]

But if there were a really nice quoting mechanism, that would probably be much clearer.

> etc.
> A quoting mechanism would also help.  We could probably get away with only 
> \.  For example, \ for spaces, like:
> [symbol /home/hans/My\ Documents(
> [symbol I\ like\ lots\ of\ \ \ \ \ spaces(
> [symbol commas\,\ in\ symbols(
> [symbol semi-colon\;\ in\ symbols(

That looks really ugly to me.  What's wrong with "quotes"?

> And last but least, and its already in there:
> [symbol \43(
> [symbol \-21343(
> [symbol \-0.2e59(
> Anything that just \ couldn't cover?

[openpanel] <- outputs /home/hans/My documents
[set symbol $1(
[ ( <-- What's printed here? ...My documents or ...My\ documents?

> .hc
> ----------------------------------------------------------------------------
> If nature has made any one thing less susceptible than all others of exclusive 
> property, it is the action of the thinking power called an idea, which an 
> individual may exclusively possess as long as he keeps it to himself; but the 
> moment it is divulged, it forces itself into the possession of everyone, and the 
> receiver cannot dispossess himself of it.            - Thomas Jefferson

More information about the Pd-list mailing list