Re: [PD] Finding $0 and dealing with it in messages

2009-12-06 Thread Mathieu Bouchard

On Wed, 25 Nov 2009, Roman Haefeli wrote:


To me, it is not even clear, when data types are converted, in cases when
conversion happens at all. Does it happen at the 'inlet', or the 'outlet'?
at both?


It is always at the inlet. You will not figure this out by using [print] 
or [route], which are both designed to hide the inconsistency under the 
carpet. They both contain the combination of if-statements required to 
mask the problem. Basically each of those classes contains a replica of 
much of pd_defaultlist, only in a way that doesn't look like copy+paste.



[prepend] in Cyclone is different from [list prepend], and
that's by design, not a bug (as symbol-selector handling in [route] might be).

We don't know if it is a bug, but it doesn't seem logical in a common sense
of the word 'logical'.


«logical» thus means «something that follows from a set of rules (instead 
of just being a rule of its own)» instead of the other possible 
definitions of «something that follows the rules instead of not following 
them» and «something that was found using the rules instead of being found 
by other means»... (I didn't look at dictionary for this, I thought about 
what are the uses of the word that I do encounter in practice.)


But because the whole set of rules hasn't been defined or agreed upon, we 
don't know whether anything is logical or not, because logic always starts 
from a set of basic rules (which can't be deduced from any other rules... 
at least not literally).


Actually, we can know, as this is written in Pd's source code (and Dd's 
source code). It's just that the source has to be read... (well, if 
someone can find Martin Peach's internals doc, I can't find it atm, so I 
can't tell whether it documents this or not).


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-12-06 Thread Jonathan Wilkes


--- On Sun, 12/6/09, Frank Barknecht f...@footils.org wrote:

 From: Frank Barknecht f...@footils.org
 Subject: Re: [PD] Finding $0 and dealing with it in messages
 To: pd-list@iem.at
 Date: Sunday, December 6, 2009, 12:04 PM
 Hallo,
 Jonathan Wilkes hat gesagt: // Jonathan Wilkes wrote:
 
  --- On Sat, 12/5/09, Frank Barknecht f...@footils.org
 wrote:
   Hey, all I said is that *I* am not the right
 person to do
   that.
  
  If that's all you had said, I doubt anyone would have
 replied with 
  anything other than ok.
  
  And now I'm curious: why can't you create all the
 objects in that 
  patch?  If some of those objects don't create in
 pd-ext on win/macos/
  linux, at the very least the patch should be changed
 so that they are 
  removed (or replaced with ascii art).
  
  But if it's that you just prefer using pd-vanilla and
 don't want to 
  download/install pd-ext, why not just say that?
 
 Some history: 
 
 I was involved in early PDDP discussions (around 2005) as
 well, so PDDP isn't
 new to me. I dropped out of PDDP for various reasons after
 a while. Besides the
 endless discussion about template layout etc. another
 reason for my retreat
 was, that the help system started to require certain
 externals (pddp_link). I
 believe, a general purpose help file template should not
 require objects not
 available in all major Pd distributions. Help files should
 be accessible to
 everyone. I wasn't alone with this view, see:
 http://puredata.info/dev/pddp/2005-11-22-pddp_meeting.txt
 for example.  Some
 other PDDP contributors didn't have a problem with that. I
 can accept that, but
 obviously I had to stop contributing at that point. Some
 other early
 participants also dropped out, some for similar reasons
 IIRC.
 
 While I'm surely guilty of some anti-Pd-extended
 puritanism, my retreat from
 PDDP didn't have anything to do with it. It has a different
 story. 
 
 (I'm sorry for saying pd-extended docs in my previous
 mail, it should have
 been PDDP docs.)

Thanks, that clarifies some things.

So if [pddp_link] is removed, and external objects are given as comments 
in ascii art, would you have any other issues with pddp?  (I don't see 
template layout as a problem because I've been revising all the 
reference files to conform to one standard, and I can't imagine 
someone objecting to using them because they don't like the colors 
or whatever.  But the template looks pretty much like the one for 
[float] in pd-ext.)

[pddp-link] is currently used for pdpedia links, and links to 
tutorials and other pddp docs.  Currently [pddp-link] throws an ugly 
error msg in windows, although after you close the error message window 
the link works. I've been spot checking the links from help files to 
pdpedia, and of 200 help patches roughly 0% of the pdpedia links add 
anything to what's already in the help patch.  If I remove those links 
then it's just a matter of converting all the More info links to 
comments and voila, no more [pddp-link].

At some point, it would be nice to have either [pddp-link] in all 
distributions, or have the ability to links within pd comments 
(actually that would be much more useful in my opinion).

-Jonathan

 
 Ciao
 -- 
 Frank
 
 ___
 Pd-list@iem.at
 mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list
 


  

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-12-05 Thread Frank Barknecht
Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:

 On Nov 29, 2009, at 3:26 AM, Frank Barknecht wrote:

 I have written a bit about Pd's messages on puredata.info, feel free  to
 quote as much as you like. I'm not the right person to fix pd-extended docs.
 I can't even create all objects in that patch and bug 2026128 is still
 open, which indicates, that we believe different things about data types and
 messages. I don't want to get into that discussion again. :)

 The PDDP docs predate pd-extended.  The PDDP could easily be distributed 
 or used by anyone. That patch is related to PDDP.  But yes, Pd-extended 
 does include the PDDP docs.  What's the point of writing all this email 
 about the topic if it doesn't actually end up in something useful?  Few 
 people read the archives...

 I don't understand this anti-Pd-extended puritanism.  Does distributing 
 docs or code in Pd-extended somehow taint it with evil?  I think the PDDP 
 docs are mostly really good.  Most of that work was done by Dave Sabine.  
 Why wouldn't we use it and keep it up to date?

Hey, all I said is that *I* am not the right person to do that.

Ciao
-- 
Frank


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-12-05 Thread Jonathan Wilkes


--- On Sat, 12/5/09, Frank Barknecht f...@footils.org wrote:

 From: Frank Barknecht f...@footils.org
 Subject: Re: [PD] Finding $0 and dealing with it in messages
 To: pd-list@iem.at
 Date: Saturday, December 5, 2009, 1:09 PM
 Hallo,
 Hans-Christoph Steiner hat gesagt: // Hans-Christoph
 Steiner wrote:
 
  On Nov 29, 2009, at 3:26 AM, Frank Barknecht wrote:
 
  I have written a bit about Pd's messages on
 puredata.info, feel free  to
  quote as much as you like. I'm not the right
 person to fix pd-extended docs.
  I can't even create all objects in that patch and
 bug 2026128 is still
  open, which indicates, that we believe different
 things about data types and
  messages. I don't want to get into that discussion
 again. :)
 
  The PDDP docs predate pd-extended.  The PDDP
 could easily be distributed 
  or used by anyone. That patch is related to
 PDDP.  But yes, Pd-extended 
  does include the PDDP docs.  What's the point of
 writing all this email 
  about the topic if it doesn't actually end up in
 something useful?  Few 
  people read the archives...
 
  I don't understand this anti-Pd-extended
 puritanism.  Does distributing 
  docs or code in Pd-extended somehow taint it with
 evil?  I think the PDDP 
  docs are mostly really good.  Most of that work
 was done by Dave Sabine.  
  Why wouldn't we use it and keep it up to date?
 
 Hey, all I said is that *I* am not the right person to do
 that.

If that's all you had said, I doubt anyone would have replied with 
anything other than ok.

And now I'm curious: why can't you create all the objects in that 
patch?  If some of those objects don't create in pd-ext on win/macos/
linux, at the very least the patch should be changed so that they are 
removed (or replaced with ascii art).

But if it's that you just prefer using pd-vanilla and don't want to 
download/install pd-ext, why not just say that?

-Jonathan


  

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-12-04 Thread Mathieu Bouchard

On Thu, 3 Dec 2009, Jonathan Wilkes wrote:

Where does the conversion from, say, list 12 to float 12 happen in 
pd?  Is it left to each object to convert one-element lists to a 
symbol/float/pointer?


pd_defaultlist looks at the content of the list. if the size is 0 and 
there is a nondefault bangmethod, it is called. if the size is 1 and there 
is a matching floatmethod, symbolmethod or pointermethod, it is called. 
otherwise, it will be auto-unpacked and distributed to inlets, unless the 
object is a «nonpatchable» (that is, it's a DS).



[list 12(
|
[$0 1 2 3 4(

[list(
|
[$0 one two three(


The message class defines a method 'list', and because of that, a 'list' 
selector would naturally stay 'list'.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-12-04 Thread Mathieu Bouchard

On Sat, 28 Nov 2009, Frank Barknecht wrote:

I encountered this in the SICP as well which is from 1984, so probably 
knows its Smalltalk as well, although the index only mentions Smalltalk 
once in a footnote.

Here's the intro to selectors:
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-14.html#%_idx_1290


This is not the same meaning of selector. We have to be careful about 
that. In mainstream OO vocabulary, this would be called «reader», 
«getter», or «accessor» (or half of an accessor), although in your 
example, they define these as plain functions because there is no OO in 
Scheme.


In Scheme, the concept of selector we are talking about does not exist. In 
CommonLISP, it would be called «the symbol of a generic-function» because 
when CommonLISP integrated the notion of OO it turned it quite inside-out.


I don't know about other OOP frameworks for LISP and Scheme but you can 
assume that there are as many as there are for Tcl. In those systems you 
may find a more ordinary concept of selector. Or not.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-12-03 Thread Mathieu Bouchard

On Wed, 25 Nov 2009, Roman Haefeli wrote:

However, it doesn't, which makes you have to learn every single case 
separately. Smartness doesn't help here, only diligence. Unfortunately, 
when it comes to Pd data types, smartness doesn't apply. So we're left 
with documenting all_(the special cases)_about_data_types(.pd).


The only way to cover everything is to read all of the source code of pd. 
Every exception that is really an exception will have its own piece of 
code. Consistent cases that have their own piece of code just slow you 
down in reading that source code. This is why I took a lot of steps to 
separate difference and repetition in the pd source code, by using various 
means such as overloading, macros, meta-macros, abstracting out more 
functions, and formatting code so that it looks like a table. Eventually, 
stripping out all the redundantly repetitive mechanics that you can deduce 
from whatever else, you are left staring at the pure intent behind it all.
I didn't reach that point and seldom it is reached by anyone, but the 
closer you get, the more transparent it becomes.


If there are things two say about some the of the (special or not) 
cases, wouldn't it be a good idea to simply add them? Generally i think, 
that having such a patch isn't a bad idea, since it helps one not to 
have to find all the cases by experience.


Black-box reverse-engineering is the best when you have no other option. 
Otherwise, do peek under the hood and the source code will tell you 
everything you want to know. It's probably shorter to learn enough C/C++ 
and then read pd or dd, than to figure out by yourself all imaginable ways 
to poke pd's components so that every detail of their behaviour comes out!


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-12-03 Thread Mathieu Bouchard

On Wed, 25 Nov 2009, Jonathan Wilkes wrote:


Currently, is there any way to get the selector of a message?
The [symbol]/[route] method mentioned earlier in this thread doesn't work
for [list( because [route] will convert it to a bang.
In the message
[list(
the selector is list, right?


Yes, but it is cast by the pd kernel whenever the list-method is not 
defined, because then, they inherit the default list-method 
(pd_defaultlist), which turns every empty list to a bang.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-12-03 Thread Jonathan Wilkes


--- On Fri, 12/4/09, Mathieu Bouchard ma...@artengine.ca wrote:

 From: Mathieu Bouchard ma...@artengine.ca
 Subject: Re: [PD] Finding $0 and dealing with it in messages
 To: Jonathan Wilkes jancs...@yahoo.com
 Cc: pd-list@iem.at
 Date: Friday, December 4, 2009, 1:51 AM
 On Wed, 25 Nov 2009, Jonathan Wilkes
 wrote:
 
  Currently, is there any way to get the selector of a
 message?
  The [symbol]/[route] method mentioned earlier in this
 thread doesn't work
  for [list( because [route] will convert it to a bang.
  In the message
  [list(
  the selector is list, right?
 
 Yes, but it is cast by the pd kernel whenever the
 list-method is not defined, because then, they inherit the
 default list-method (pd_defaultlist), which turns every
 empty list to a bang.

Where does the conversion from, say, list 12 to float 12 happen 
in pd?  Is it left to each object to convert one-element lists to 
a symbol/float/pointer?

And getting back to the thread subject: if $0 in msg boxes was changed so 
that it expands to the selector of the incoming message, what would the 
following do:

[list 12(
|
[$0 1 2 3 4(

[list(
|
[$0 one two three(

-Jonathan


  

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-12-03 Thread Hans-Christoph Steiner


On Nov 29, 2009, at 3:26 AM, Frank Barknecht wrote:


Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:


Or it will make you add a [list trim] in front of most [route]
objects.  (Btw.:
all_about_data_types.pd doesn't have a single [list trim]  
inside ...)


Add something about [list trim].  :)  all_about_data_types is older  
than

than the list object.


I have written a bit about Pd's messages on puredata.info, feel free  
to quote
as much as you like. I'm not the right person to fix pd-extended  
docs. I
can't even create all objects in that patch and bug 2026128 is still  
open,

which indicates, that we believe different things about data types and
messages. I don't want to get into that discussion again. :)



The PDDP docs predate pd-extended.  The PDDP could easily be  
distributed or used by anyone. That patch is related to PDDP.  But  
yes, Pd-extended does include the PDDP docs.  What's the point of  
writing all this email about the topic if it doesn't actually end up  
in something useful?  Few people read the archives...


I don't understand this anti-Pd-extended puritanism.  Does  
distributing docs or code in Pd-extended somehow taint it with evil?   
I think the PDDP docs are mostly really good.  Most of that work was  
done by Dave Sabine.  Why wouldn't we use it and keep it up to date?


.hc



Mistrust authority - promote decentralization.  - the hacker ethic



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-12-03 Thread Mathieu Bouchard

On Thu, 3 Dec 2009, Hans-Christoph Steiner wrote:


I don't understand this anti-Pd-extended puritanism.


You don't need to understand it, you just need to avoid it.

 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-29 Thread Frank Barknecht
Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:

 Or it will make you add a [list trim] in front of most [route]  
 objects.  (Btw.:
 all_about_data_types.pd doesn't have a single [list trim] inside ...)

 Add something about [list trim].  :)  all_about_data_types is older than 
 than the list object.

I have written a bit about Pd's messages on puredata.info, feel free to quote
as much as you like. I'm not the right person to fix pd-extended docs. I
can't even create all objects in that patch and bug 2026128 is still open,
which indicates, that we believe different things about data types and
messages. I don't want to get into that discussion again. :)

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-29 Thread Frank Barknecht
Hallo,
jurgen hat gesagt: // jurgen wrote:

 Didn't see an article about messages... please try to point to the article.

It's here: 
http://puredata.info/dev/PdMessages

Or search for messages.

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-28 Thread Frank Barknecht
Hallo,
Mathieu Bouchard hat gesagt: // Mathieu Bouchard wrote:

 On Wed, 25 Nov 2009, Frank Barknecht wrote:

 Single objects unfortunatly often behave inconsistently or not as one  
 maybe would expect (e.g. [route list symbol] strips list- but not  
 symbol-selectors).

 [route] is quite disappointing. I already made [route2] which doesn't  
 modify any message, and I'm gonna make [route3] which outputs list  
 $1...$n on any non-last outlet in a consistent manner (and without the  
 weird quirks that happen when you try using [route] for that purpose).

 To one who believes that abstractions and externals should have a Pd API  
 that is as similar to each other, [route3] should be obvious: it would  
 correspond more closely to class_addmethod.

 all_about_data_types.pd doesn't even use the word selector anywhere.

 The pd 0.42 source code has the word selector once. This word was  
 introduced there in 0.39. On pd-list, there have been occasional uses of  
 the word 'selector' quite early. There's one early mention of 'selector'  
 (by none other than Miller) as early as 1998, but that seems to be an  
 outlier. After that you have to skip to 2001.

 Some stats now. Number of occurrences of selector per year (including  
 file selector, and someone who said selector to mean receiver, 
 etc):

   num ratio
 19981 3
 19990 0
 20002 3
 2001   2310
 2002   28 5
 2003   51 7
 2004   70 8
 2005   78 8
 2006  45539
 2007  19515
 2008   74 8
 2009  24433

 (where the ratio is 1000 times the number of occurrences divided by the  
 total number of emails)

 AFAIK, selector is vocabulary that comes from Smalltalk and its  
 derivatives, or any general OOP theory book that considers Smalltalk to 
 be a reference. 

I encountered this in the SICP as well which is from 1984, so probably knows
its Smalltalk as well, although the index only mentions Smalltalk once in a
footnote.

Here's the intro to selectors:
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-14.html#%_idx_1290

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-28 Thread Hans-Christoph Steiner


On Nov 25, 2009, at 1:50 AM, Frank Barknecht wrote:


Hallo,
Roman Haefeli hat gesagt: // Roman Haefeli wrote:

I wonder, what makes one any smarter. It doesn't make you any  
smarter, when
knowing about all the underlying mechanisms and special cases of  
Pd, it only
makes you know more. However, it *would* you make smarter, if you  
would be

able to apply your current experiences on new cases, that you haven't
experienced before, for instance: you found, that [route] strips the
selector off the message 'list one two' and 'hallo velo', so that  
you would
naturally assume, that [route] would strip off any selector.  
However, it

doesn't,  which makes you have to learn every single case separately.


Of course you have to learn every single object behaviour  
separately! There's
no way around it. [prepend] in Cyclone is different from [list  
prepend], and
that's by design, not a bug (as symbol-selector handling in [route]  
might be).


But to be able to understand what makes them different, you have to  
understand
at least a little bit about the anatomy of Pd's messages and ideally  
even how
messages with different selectors call different methods of a Pd  
object.
Explaing this makes you smarter. And then being smarter can help  
with the
tedious task of memorizing object behaviours (or knowing when to  
look them up).
Or it will make you add a [list trim] in front of most [route]  
objects.  (Btw.:

all_about_data_types.pd doesn't have a single [list trim] inside ...)


Add something about [list trim].  :)  all_about_data_types is older  
than than the list object.


.hc




Terrorism is not an enemy.  It cannot be defeated.  It's a tactic.   
It's about as sensible to say we declare war on night attacks and  
expect we're going to win that war.  We're not going to win the war on  
terrorism.- retired U.S. Army general, William Odom




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-27 Thread Mathieu Bouchard

On Sun, 22 Nov 2009, Jonathan Wilkes wrote:


It doesn't work for those selectors: bang symbol list

Why do you say it doesn't work for list?

because it doesn't.


Well, if you send the message list 7 to [symbol] it will output 
symbol list, when, according to all_about_data_types.pd, it ought to 
output symbol float.  Other than this, are there instances where 
[symbol] doesn't work correctly with lists?


If you send list stuff or list zzz to [symbol] you don't get list, 
you get stuff or zzz.


In light of what I wrote above, you'd actually need [route bang symbol 
float] to correctly convert lists with one float element.


What's the correct selector of a 1-element list?

 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-27 Thread Mathieu Bouchard

On Wed, 25 Nov 2009, Frank Barknecht wrote:

Single objects unfortunatly often behave inconsistently or not as one 
maybe would expect (e.g. [route list symbol] strips list- but not 
symbol-selectors).


[route] is quite disappointing. I already made [route2] which doesn't 
modify any message, and I'm gonna make [route3] which outputs list 
$1...$n on any non-last outlet in a consistent manner (and without the 
weird quirks that happen when you try using [route] for that purpose).


To one who believes that abstractions and externals should have a Pd API 
that is as similar to each other, [route3] should be obvious: it would 
correspond more closely to class_addmethod.



all_about_data_types.pd doesn't even use the word selector anywhere.


The pd 0.42 source code has the word selector once. This word was 
introduced there in 0.39. On pd-list, there have been occasional uses of 
the word 'selector' quite early. There's one early mention of 'selector' 
(by none other than Miller) as early as 1998, but that seems to be an 
outlier. After that you have to skip to 2001.


Some stats now. Number of occurrences of selector per year (including 
file selector, and someone who said selector to mean receiver, etc):


  num ratio
19981 3
19990 0
20002 3
2001   2310
2002   28 5
2003   51 7
2004   70 8
2005   78 8
2006  45539
2007  19515
2008   74 8
2009  24433

(where the ratio is 1000 times the number of occurrences divided by the 
total number of emails)


AFAIK, selector is vocabulary that comes from Smalltalk and its 
derivatives, or any general OOP theory book that considers Smalltalk to 
be a reference. This word is quite absent from the C++ vocabulary, for 
example. Even though I started using C++ in 1992, it took me until 1997 to 
read the word selector somewhere, probably a text on Objective-C.
Starting in 2000 or so, though, I was seeing selector everywhere as was 
the norm for the Ruby language. I used it routinely on pd-list.


Instead it talks about casting but doesn't explain what that means (in 
the patch it means adding a symbol-selector to a meta-message). It has 
several vague sentences in it like: Many objects cast the data they 
receive when they output it or Some objects do not cast the data. 
This doesn't make me any smarter.


trigger-help.pd is even funnier. It talks about conversions in which 
nearly every conversion results in all values of one type (0, 1, 2, 3, 
...) end up being converted to the same value of the other type (symbol 
float), thus destroying the entire contents of the message (except the 
existence thereof).



All in all, I don't think, the patch tells you All About Data Types.
But maybe it just has a misleading name.


It's a marketing thing. It's like when you enter a Steve's Music Store 
and they tell you if we don't have it, you don't need it.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-27 Thread Jonathan Wilkes


--- On Fri, 11/27/09, Mathieu Bouchard ma...@artengine.ca wrote:

 From: Mathieu Bouchard ma...@artengine.ca
 Subject: Re: [PD] Finding $0 and dealing with it in messages
 To: Jonathan Wilkes jancs...@yahoo.com
 Cc: Roman Haefeli reduzie...@yahoo.de, Phil Stone 
 pkst...@ucdavis.edu, pd-list@iem.at
 Date: Friday, November 27, 2009, 6:23 PM
 On Sun, 22 Nov 2009, Jonathan Wilkes
 wrote:
 
  It doesn't work for those selectors: bang
 symbol list
  Why do you say it doesn't work for list?
  because it doesn't.
  
  Well, if you send the message list 7 to [symbol] it
 will output symbol list, when, according to
 all_about_data_types.pd, it ought to output symbol
 float.  Other than this, are there instances where
 [symbol] doesn't work correctly with lists?
 
 If you send list stuff or list zzz to [symbol] you
 don't get list, you get stuff or zzz.

But how does having [route bang symbol list] instead of just 
[route bang symbol] help you here?  [route] will call
list stuff a symbol, not a list. 

 
 In light of what I wrote above, you'd actually need [route
 bang symbol float] to correctly convert lists with one float
 element.
 
 What's the correct selector of a 1-element list?

Hm, I'm so used to seeing one element lists automatically converted to 
floats or bangs (or pointers) by just about every object I use that I 
would assume [symbol] ought to say symbol float for [list 12( 
and symbol symbol for [list foo( . But then if the selector is 
supposed to be list, what should the selector be for [list( ?

-Jonathan

 
  _ _ __ ___ _  _
 _ ...
 | Mathieu Bouchard, Montréal, Québec. téléphone:
 +1.514.383.3801


  

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-27 Thread Mathieu Bouchard

On Fri, 27 Nov 2009, Mathieu Bouchard wrote:

Some stats now. Number of occurrences of selector per year (including file 
selector, and someone who said selector to mean receiver, etc):


Btw those stats were only for pd-list and not pd-dev nor any other 
mailing-list. I only realised later that I hadn't said which 
mailing-list(s) I was talking about.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-26 Thread Frank Barknecht
Hallo,
Roman Haefeli hat gesagt: // Roman Haefeli wrote:

 Of course, i was not going to question that. However, i consider it
 sub-optimal, that several object classes treat the very same data type so
 differently. The fact, that you have to learn every single object behaviour
 does certainly not justify, that [list 45(-[symbol] = 'symbol list',
 whereas [list 45(-[symbol\ = 'symbol float'. This difference in behaviour
 seems pretty arbitrary to me (please correct me). I'm not getting any
 smarter by knowing this.

Personally I consider this a kind of inconsistency bug. 

 To me, it is not even clear, when data types are converted, in cases when
 conversion happens at all. Does it happen at the 'inlet', or the 'outlet'?
 at both? 

I happens in between: Every Pd objectclass can define different methods
for different kinds of messages coming in. Or said in another way: You can
select what behaviour you want an object to show by prefixing your messages
with a certain selector - this is where the word selector comes from. For
example a [delay] object has these behaviour methods on the first inlet:

a) send a bang after the time of its stored delay time
b) set the stored delay time to x and send a bang after that time
c) cancel any scheduled bangs

You select behaviour a) by sending a bang message, you select b) by messages
with selector float and c) with selector stop.

On the C-code side, this is handled with messages like delay_bang(),
delay_float(), delay_stop() that get called according to the selector. If you
write an abstraction, you can mimick the same things with [route float bang
stop]. You've all done this already.

What an object produces on the outlet-side also is defined by the object: From
an abstraction, you can send out bangs, symbols, meta-messages etc. Same with
C-objects: There are Pd functions like outlet_float(), outlet_symbol(),
outlet_anything() that an external's author can use to produce any kind of
output. This includes the possibility to write objects that behave strange or
inconsistent. But these inconsistencies are not caused by the message mechanism
behind it, they are caused by the object's author, either deliberatly or not.

 Knowing this would probably make me any smarter and would allow me
 to make predictions about how certain objects behave in certain situations.

I hope you're a bit smarter now, but probably you still cannot make 
predictions. :)

 Thinking of the the [symbol] vs. [symbol\ and the [route] example (you
 mention below), one is just left with trying out the different cases and
 remember them.

Or thinking about making a bug report/feature wish. 
 
Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-26 Thread Roman Haefeli
Hi Frank

Thanks a lot for giving me such detailed insight.

Am 26.11.09 09:24 schrieb Frank Barknecht unter f...@footils.org:

 Hallo,
 Roman Haefeli hat gesagt: // Roman Haefeli wrote:
 
 Of course, i was not going to question that. However, i consider it
 sub-optimal, that several object classes treat the very same data type so
 differently. The fact, that you have to learn every single object behaviour
 does certainly not justify, that [list 45(-[symbol] = 'symbol list',
 whereas [list 45(-[symbol\ = 'symbol float'. This difference in behaviour
 seems pretty arbitrary to me (please correct me). I'm not getting any
 smarter by knowing this.
 
 Personally I consider this a kind of inconsistency bug.

Ok.
 
 To me, it is not even clear, when data types are converted, in cases when
 conversion happens at all. Does it happen at the 'inlet', or the 'outlet'?
 at both? 
 
 I happens in between: Every Pd objectclass can define different methods
 for different kinds of messages coming in.

...

 What an object produces on the outlet-side also is defined by the object: From
 an abstraction, you can send out bangs, symbols, meta-messages etc. Same with
 C-objects: There are Pd functions like outlet_float(), outlet_symbol(),
 outlet_anything() that an external's author can use to produce any kind of
 output. This includes the possibility to write objects that behave strange
 or inconsistent. 

Ok, i see. If i understand right, this would also make it possible to
deliberately create a message 'list 23' at the outlet, which is probably
converted to a 'float 23' by the next object's outlet (_if_ this next
object's inlet knows what to do with the selector 'list').
Unfortunately, knowing this doesn't make me understand what happens here -
for instance:

[list 23(
|
[print]

which produces simply '23' in the pd window. Now, does the message box
object do some evaluation and effectively sends 'float 23' instead of 'list
23', or is the [print] that does some reformatting and treats single element
lists as 'float' or 'symbol' messages?

Is there a way to know what goes through a connection wire?

Also interesting cases to consider:

[list velo( - 'symbol velo'
[float 12 34( - '12'

 But these inconsistencies are not caused by the message
 mechanism
 behind it, they are caused by the object's author, either deliberatly or not.

I see. Let me pick an example, which to me is not quite clear, which of the
involved object classes should be considered buggy:

[foo 56(
|
[route foo]
|
[*~ ]

This raises an error:
inlet: expected 'signal' but got 'list'
Is it [route]'s fault not to spit out a message with 'float' selector, since
obviously the message contains only a single element? Or is [*~ ] supposed
to accept single-element-lists as well and raise only an error, when the
single-element-list contains a symbol, but not a float?

 Knowing this would probably make me any smarter and would allow me
 to make predictions about how certain objects behave in certain situations.
 
 I hope you're a bit smarter now, but probably you still cannot make
 predictions. :)

Hmm.. i guess, you're right...

roman
 




___ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-26 Thread Frank Barknecht
Hallo Roman,
Roman Haefeli hat gesagt: // Roman Haefeli wrote:
 Am 26.11.09 09:24 schrieb Frank Barknecht unter f...@footils.org:
  To me, it is not even clear, when data types are converted, in cases when
  conversion happens at all. Does it happen at the 'inlet', or the 'outlet'?
  at both? 
  
  I happens in between: Every Pd objectclass can define different methods
  for different kinds of messages coming in.
 
 ...
 
  What an object produces on the outlet-side also is defined by the object: 
  From
  an abstraction, you can send out bangs, symbols, meta-messages etc. Same 
  with
  C-objects: There are Pd functions like outlet_float(), outlet_symbol(),
  outlet_anything() that an external's author can use to produce any kind of
  output. This includes the possibility to write objects that behave strange
  or inconsistent. 
 
 Ok, i see. If i understand right, this would also make it possible to
 deliberately create a message 'list 23' at the outlet, which is probably
 converted to a 'float 23' by the next object's outlet (_if_ this next
 object's inlet knows what to do with the selector 'list').

Ok, here you mention a different thing, which is the automatic conversion of
special messages, i.e. list 23 is just a float 23 which is the same as
23, or list being the same as bang. 

I must admit, that I don't really know where and how this is happening in Pd.
As you wrote, sometimes this conversion isn't working. A good example is the
right (or non-leftmost) inlet of the signal math objects: If they are created
so that normally both signals and floats can be sent into them, they only like
real floats, that is messages with selector float or numbers. They won't
accept messages coming out ot a [t a] either: 

 [0\
 |
 [t a a]
 |   | 
 [*~ ]

This gives error: inlet: expected 'signal' but got 'list' on the right inlet.
But if you disconnect  the right inlet, the same anything-float is accepted
on the first inlet.

Maybe IOhannes can explain the background? IIRC he wrote a patch that fixes
this so that [t a] works for non-leftmost signal inlets as well.

 Unfortunately, knowing this doesn't make me understand what happens here -
 for instance:
 
 [list 23(
 |
 [print]
 
 which produces simply '23' in the pd window. Now, does the message box
 object do some evaluation and effectively sends 'float 23' instead of 'list
 23', or is the [print] that does some reformatting and treats single element
 lists as 'float' or 'symbol' messages?

Apart from the fact that [print] is a very bad helper in this case, I don't
know where and how list 23 is made to be 23, see above. :(

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-26 Thread Roman Haefeli
Am 26.11.09 12:13 schrieb Frank Barknecht unter f...@footils.org:
 Unfortunately, knowing this doesn't make me understand what happens here -
 for instance:
 
 [list 23(
 |
 [print]
 
 which produces simply '23' in the pd window. Now, does the message box
 object do some evaluation and effectively sends 'float 23' instead of 'list
 23', or is the [print] that does some reformatting and treats single element
 lists as 'float' or 'symbol' messages?
 
 Apart from the fact that [print] is a very bad helper in this case, I don't
 know where and how list 23 is made to be 23, see above. :(

I found another interesting example:

  [float velo(

Clicking on this message box raises the following error:

  error: Bad arguments for message 'float' to object 'messresponder'

Obviously, the message box already does some parsing and tries to generate a
'coherent' pd message, which fails in this case.

btw: funny milleresque name: 'messresponder' :-)

roman





___ 
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: 
http://mail.yahoo.de

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-26 Thread Hans-Christoph Steiner


On Nov 25, 2009, at 12:48 AM, Frank Barknecht wrote:


Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:


Regarding all_about_data_types.pd: Personally I wouldn't trust this
patch.



Its a patch with examples, if you don't trust the examples, then that
seems to mean you don't trust Pd ;)


To me the fundamental flaw of the data types patch is that it tries  
to infer
information about Pd's data types from the behaviour of selected  
objects, but

doesn't explain the underlying mechanisms.

Single objects unfortunatly often behave inconsistently  or not as  
one maybe
would expect (e.g. [route list symbol] strips list- but not symbol- 
selectors).
IMO an explanation of the mechanisms is imporant to understand,  
where or why
objects behave strange. all_about_data_types.pd doesn't even use  
the word
selector anywhere. Instead it talks about casting but doesn't  
explain what
that means (in the patch it means adding a symbol-selector to a  
meta-message).
It has several vague sentences in it like: Many objects cast the  
data they
receive when they output it or Some objects do not cast the  
data.  This

doesn't make me any smarter.

All in all, I don't think, the patch tells you All About Data  
Types. But

maybe it just has a misleading name.


It should be all about data types, but it doesn't doesn't cover  
everything.  Please add to it, its in SVN in doc/pddp.  Those patches  
are there to be improved!


.hc





'You people have such restrictive dress for women,’ she said, hobbling  
away in three inch heels and panty hose to finish out another pink- 
collar temp pool day.  - “Hijab Scene #2, by Mohja Kahf




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-25 Thread Frank Barknecht
Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:

 Regarding all_about_data_types.pd: Personally I wouldn't trust this  
 patch.


 Its a patch with examples, if you don't trust the examples, then that  
 seems to mean you don't trust Pd ;)

To me the fundamental flaw of the data types patch is that it tries to infer
information about Pd's data types from the behaviour of selected objects, but
doesn't explain the underlying mechanisms. 

Single objects unfortunatly often behave inconsistently  or not as one maybe
would expect (e.g. [route list symbol] strips list- but not symbol-selectors).
IMO an explanation of the mechanisms is imporant to understand, where or why
objects behave strange. all_about_data_types.pd doesn't even use the word
selector anywhere. Instead it talks about casting but doesn't explain what
that means (in the patch it means adding a symbol-selector to a meta-message).
It has several vague sentences in it like: Many objects cast the data they
receive when they output it or Some objects do not cast the data.  This
doesn't make me any smarter. 

All in all, I don't think, the patch tells you All About Data Types. But
maybe it just has a misleading name.

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-25 Thread Roman Haefeli



Am 25.11.09 09:48 schrieb Frank Barknecht unter f...@footils.org:

 Hallo,
 Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
 
 Regarding all_about_data_types.pd: Personally I wouldn't trust this
 patch.
 
 
 Its a patch with examples, if you don't trust the examples, then that
 seems to mean you don't trust Pd ;)
 
 To me the fundamental flaw of the data types patch is that it tries to infer
 information about Pd's data types from the behaviour of selected objects,
 but
 doesn't explain the underlying mechanisms.
 
 Single objects unfortunatly often behave inconsistently  or not as one maybe
 would expect (e.g. [route list symbol] strips list- but not symbol-selectors).
 IMO an explanation of the mechanisms is imporant to understand, where or why
 objects behave strange. all_about_data_types.pd doesn't even use the word
 selector anywhere. Instead it talks about casting but doesn't explain what
 that means (in the patch it means adding a symbol-selector to a
 meta-message).
 It has several vague sentences in it like: Many objects cast the data they
 receive when they output it or Some objects do not cast the data.  This
 doesn't make me any smarter.

I wonder, what makes one any smarter. It doesn't make you any smarter, when
knowing about all the underlying mechanisms and special cases of Pd, it only
makes you know more. However, it *would* you make smarter, if you would be
able to apply your current experiences on new cases, that you haven't
experienced before, for instance: you found, that [route] strips the
selector off the message 'list one two' and 'hallo velo', so that you would
naturally assume, that [route] would strip off any selector. However, it
doesn't,  which makes you have to learn every single case separately.
Smartness doesn't help here, only diligence. Unfortunately, when it comes to
Pd data types, smartness doesn't apply. So we're left with documenting
all_(the special cases)_about_data_types(.pd).

If there are things two say about some the of the (special or not) cases,
wouldn't it be a good idea to simply add them? Generally i think, that
having such a patch isn't a bad idea, since it helps one not to have to find
all the cases by experience.

roman






___ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-25 Thread Frank Barknecht
Hallo,
Roman Haefeli hat gesagt: // Roman Haefeli wrote:

 I wonder, what makes one any smarter. It doesn't make you any smarter, when
 knowing about all the underlying mechanisms and special cases of Pd, it only
 makes you know more. However, it *would* you make smarter, if you would be
 able to apply your current experiences on new cases, that you haven't
 experienced before, for instance: you found, that [route] strips the
 selector off the message 'list one two' and 'hallo velo', so that you would
 naturally assume, that [route] would strip off any selector. However, it
 doesn't,  which makes you have to learn every single case separately.

Of course you have to learn every single object behaviour separately! There's
no way around it. [prepend] in Cyclone is different from [list prepend], and
that's by design, not a bug (as symbol-selector handling in [route] might be).

But to be able to understand what makes them different, you have to understand
at least a little bit about the anatomy of Pd's messages and ideally even how
messages with different selectors call different methods of a Pd object.
Explaing this makes you smarter. And then being smarter can help with the
tedious task of memorizing object behaviours (or knowing when to look them up).
Or it will make you add a [list trim] in front of most [route] objects.  (Btw.:
all_about_data_types.pd doesn't have a single [list trim] inside ...)

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-25 Thread Jonathan Wilkes
Currently, is there any way to get the selector of a message? 
The [symbol]/[route] method mentioned earlier in this thread doesn't work 
for [list( because [route] will convert it to a bang.

In the message
[list(
the selector is list, right?

-Jonathan


  

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-25 Thread Roman Haefeli
Am 25.11.09 10:50 schrieb Frank Barknecht unter f...@footils.org:
 
 Of course you have to learn every single object behaviour separately! There's
 no way around it.

Of course, i was not going to question that. However, i consider it
sub-optimal, that several object classes treat the very same data type so
differently. The fact, that you have to learn every single object behaviour
does certainly not justify, that [list 45(-[symbol] = 'symbol list',
whereas [list 45(-[symbol\ = 'symbol float'. This difference in behaviour
seems pretty arbitrary to me (please correct me). I'm not getting any
smarter by knowing this.
To me, it is not even clear, when data types are converted, in cases when
conversion happens at all. Does it happen at the 'inlet', or the 'outlet'?
at both? Knowing this would probably make me any smarter and would allow me
to make predictions about how certain objects behave in certain situations.
Thinking of the the [symbol] vs. [symbol\ and the [route] example (you
mention below), one is just left with trying out the different cases and
remember them.

 [prepend] in Cyclone is different from [list prepend], and
 that's by design, not a bug (as symbol-selector handling in [route] might be).

We don't know if it is a bug, but it doesn't seem logical in a common sense
of the word 'logical'.




___ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-24 Thread Jonathan Wilkes


--- On Mon, 11/16/09, Mathieu Bouchard ma...@artengine.ca wrote:

 From: Mathieu Bouchard ma...@artengine.ca
 Subject: Re: [PD] Finding $0 and dealing with it in messages
 To: Jonathan Wilkes jancs...@yahoo.com
 Cc: Roman Haefeli reduzie...@yahoo.de, Phil Stone 
 pkst...@ucdavis.edu, pd-list@iem.at
 Date: Monday, November 16, 2009, 8:59 PM
 On Mon, 16 Nov 2009, Jonathan Wilkes
 wrote:
  --- On Mon, 11/16/09, Mathieu Bouchard ma...@artengine.ca
 wrote:
  It doesn't work for those selectors: bang symbol
 list
  Why do you say it doesn't work for list?
 
 because it doesn't.

Well, if you send the message list 7 to [symbol] it will output 
symbol list, when, according to all_about_data_types.pd, it ought to 
output symbol float.  Other than this, are there instances where 
[symbol] doesn't work correctly with lists?

 
  As far as I can tell you just need [route bang
 symbol], two message boxes, and a [symbol] object. 
 There's no need to protect the message boxes because
 whatever is coming out of inlet 0 and 1 of [route] is either
 a bang or a symbol, both of which will trigger the msg box's
 output without changing its content.
 
 You are right, two [b] are extraneous. You still need [b]
 to protect msgbox «symbol list» from [route list].

In light of what I wrote above, you'd actually need 
[route bang symbol float] to correctly convert lists with one float 
element.

-Jonathan

 
  _ _ __ ___ _  _
 _ ...
 | Mathieu Bouchard, Montréal, Québec. téléphone:
 +1.514.383.3801


  

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-24 Thread Frank Barknecht
Hallo,
Jonathan Wilkes hat gesagt: // Jonathan Wilkes wrote:

 Well, if you send the message list 7 to [symbol] it will output 
 symbol list, when, according to all_about_data_types.pd, it ought to 
 output symbol float.  

Here (Pd version 0.42.4) [symbol], the object box, outputs symbol list.
However [symbol\, the graphical atom, shows float. Probably some artifact of
automatic converson going on behind our backs. A third possibility would be to
bail out with an error No message for list/float. I would prefer this
behaviour. It's consistent with the behaviour of [float] receiving a list abc
message.

Regarding all_about_data_types.pd: Personally I wouldn't trust this patch.

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-24 Thread Hans-Christoph Steiner


On Nov 24, 2009, at 10:01 AM, Frank Barknecht wrote:


Hallo,
Jonathan Wilkes hat gesagt: // Jonathan Wilkes wrote:


Well, if you send the message list 7 to [symbol] it will output
symbol list, when, according to all_about_data_types.pd, it ought  
to

output symbol float.


Here (Pd version 0.42.4) [symbol], the object box, outputs symbol  
list.
However [symbol\, the graphical atom, shows float. Probably some  
artifact of
automatic converson going on behind our backs. A third possibility  
would be to
bail out with an error No message for list/float. I would prefer  
this
behaviour. It's consistent with the behaviour of [float] receiving a  
list abc

message.

Regarding all_about_data_types.pd: Personally I wouldn't trust this  
patch.



Its a patch with examples, if you don't trust the examples, then that  
seems to mean you don't trust Pd ;)


.hc





kill your television



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-24 Thread Hans-Christoph Steiner


On Nov 22, 2009, at 1:34 PM, Jonathan Wilkes wrote:




--- On Mon, 11/16/09, Mathieu Bouchard ma...@artengine.ca wrote:


From: Mathieu Bouchard ma...@artengine.ca
Subject: Re: [PD] Finding $0 and dealing with it in messages
To: Jonathan Wilkes jancs...@yahoo.com
Cc: Roman Haefeli reduzie...@yahoo.de, Phil Stone pkst...@ucdavis.edu 
, pd-list@iem.at

Date: Monday, November 16, 2009, 8:59 PM
On Mon, 16 Nov 2009, Jonathan Wilkes
wrote:

--- On Mon, 11/16/09, Mathieu Bouchard ma...@artengine.ca

wrote:

It doesn't work for those selectors: bang symbol

list

Why do you say it doesn't work for list?


because it doesn't.


Well, if you send the message list 7 to [symbol] it will output
symbol list, when, according to all_about_data_types.pd, it ought to
output symbol float.  Other than this, are there instances where
[symbol] doesn't work correctly with lists?


I think there are.  Anytime I find something like that, I make an  
example patch and add it to SVN.  I encourage others to add to this  
collection since they are quite helpful in thinking about how we can  
fix things to make them work easier:


https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/doc/additional/messageoddness

.hc


As far as I can tell you just need [route bang

symbol], two message boxes, and a [symbol] object.
There's no need to protect the message boxes because
whatever is coming out of inlet 0 and 1 of [route] is either
a bang or a symbol, both of which will trigger the msg box's
output without changing its content.

You are right, two [b] are extraneous. You still need [b]
to protect msgbox «symbol list» from [route list].


In light of what I wrote above, you'd actually need
[route bang symbol float] to correctly convert lists with one float
element.




-Jonathan



_ _ __ ___ _  _
_ ...
| Mathieu Bouchard, Montréal, Québec. téléphone:
+1.514.383.3801





___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list





Access to computers should be unlimited and total.  - the hacker ethic



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-16 Thread Mathieu Bouchard

On Mon, 16 Nov 2009, IOhannes m zmölnig wrote:


Mathieu Bouchard wrote:

wouldn't need weird hacks in the pd source; but if anyone wanted to
reimplement old-style messageboxes, they'd need to find a way to disable
$-substitution in that case.
you can get the unparsed arguments during runtime (though after 
creation time) just fine. this is what every save-routine does (unless 
somebody decides to really save 1053 instead of $0)


Yes, I thought of that, but just try it, you'll see: it'll complain about 
missing $1, $2, etc. as you try making such messageboxes, because the 
$-substitution does happen anyway even if you ignore it. Even though it 
technically would work, no-one would want to put up with those error 
messages.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-16 Thread Jonathan Wilkes


--- On Fri, 11/13/09, Roman Haefeli reduzie...@yahoo.de wrote:

 From: Roman Haefeli reduzie...@yahoo.de
 Subject: Re: [PD] Finding $0 and dealing with it in messages
 To: Roman Haefeli reduzie...@yahoo.de, Phil Stone 
 pkst...@ucdavis.edu, Mathieu Bouchard ma...@artengine.ca
 Cc: pd-list@iem.at
 Date: Friday, November 13, 2009, 11:21 AM
 This is obviously a loop. All this
 has been said and proposed before in the
 thread [1], that has been posted by alex porres a few posts
 back. Sorry for
 not having brought any new perspectives into the
 discussion, but having just
 repeated what has been said already.
 
 The only thing i don't really get: Why seems there some
 agreement, that
 using $0 to get the selector could be confusing?
 
 It would certainly end the discussions about the special
 (somehow undefined)
 state it has now. 

You can already use [symbol] to get the selector of an incoming message. I 
can't think of many patches where I would utilize $0 to get the selector, 
but I can think of lots of abstractions where treating $0 in msg boxes the 
same as in object boxes would have been very convenient.

-Jonathan 


  

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-16 Thread Mathieu Bouchard

On Mon, 16 Nov 2009, Jonathan Wilkes wrote:


You can already use [symbol] to get the selector of an incoming message.


It doesn't work for those selectors:

  bang
  symbol
  list

To handle these cases, you need to also have [route bang symbol list], 
three messageboxes that say «symbol bang» «symbol symbol» and «symbol 
list», and three [b] to protect those messageboxes from whatever comes out 
of [route]. then the else-case of [route] goes to [symbol].


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-16 Thread Jonathan Wilkes


--- On Mon, 11/16/09, Mathieu Bouchard ma...@artengine.ca wrote:

 From: Mathieu Bouchard ma...@artengine.ca
 Subject: Re: [PD] Finding $0 and dealing with it in messages
 To: Jonathan Wilkes jancs...@yahoo.com
 Cc: Roman Haefeli reduzie...@yahoo.de, Phil Stone 
 pkst...@ucdavis.edu, pd-list@iem.at
 Date: Monday, November 16, 2009, 8:23 PM
 On Mon, 16 Nov 2009, Jonathan Wilkes
 wrote:
 
  You can already use [symbol] to get the selector of an
 incoming message.
 
 It doesn't work for those selectors:
 
   bang
   symbol
   list

Why do you say it doesn't work for list?

 
 To handle these cases, you need to also have [route bang
 symbol list], three messageboxes that say «symbol bang»
 «symbol symbol» and «symbol list», and three [b] to
 protect those messageboxes from whatever comes out of
 [route]. then the else-case of [route] goes to [symbol].

As far as I can tell you just need [route bang symbol], two message 
boxes, and a [symbol] object.  There's no need to protect the message 
boxes because whatever is coming out of inlet 0 and 1 of [route] is either 
a bang or a symbol, both of which will trigger the msg box's output 
without changing its content.

-Jonathan

 
  _ _ __ ___ _  _
 _ ...
 | Mathieu Bouchard, Montréal, Québec. téléphone:
 +1.514.383.3801


  

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-16 Thread Mathieu Bouchard

On Mon, 16 Nov 2009, Jonathan Wilkes wrote:

--- On Mon, 11/16/09, Mathieu Bouchard ma...@artengine.ca wrote:

It doesn't work for those selectors: bang symbol list

Why do you say it doesn't work for list?


because it doesn't.

As far as I can tell you just need [route bang symbol], two message 
boxes, and a [symbol] object.  There's no need to protect the message 
boxes because whatever is coming out of inlet 0 and 1 of [route] is 
either a bang or a symbol, both of which will trigger the msg box's 
output without changing its content.


You are right, two [b] are extraneous. You still need [b] to protect 
msgbox «symbol list» from [route list].


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-16 Thread Luke Iannini
2009/11/14 IOhannes m zmölnig zmoel...@iem.at:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Hans-Christoph Steiner wrote:


 http://sourceforge.net/tracker/?func=detailaid=1543850group_id=55736atid=478072


 i don't know how well this works for with the new dollarg-expansion code
 (within symbols, not only at the beginning).
 and anyhow it is unclear what bl...@-blu really means.

 as for $$ being available in messages: i don't think this can easily
 be done the way things are right know.

 and really, i don't think it is that important :-)

 I think this never got included because it didn't play nice with the new
 dollar arg expansion code.

 i remember doing tests and i vaguely remember that it worked.
 the only thing i could imagine is, that it might not apply cleanly
 anymore, since both the dollarg expansion code and the $@ code both
 touch the same lines.

Haha, I have no idea if I ever publicized this or not, but I believe I
got this applying to 0.42+ back in April...  Haven't tested this since
then but if it applies I'll add it to the tracker.

Best
Luke

 but then i wrote the current expansion code before the $@,$# things
 (http://sourceforge.net/tracker/?func=detailaid=1405137group_id=55736atid=478072),
 so i guess i might even have build on that code.


 So this patch at this point serves as a
 starting point for developing this.

 it implements about 66% of your suggestion.


 As for what bl...@-blu means, it doesn't matter as long as $$, $@, and
 $# are clearly defined.

 now what does that mean?
 if you implement anything, you have to make a clear definition of it
 (else youcouldn't express it in a language like C).
 you might not be aware of this fact, but you really do.

 in many cases you get away with just implementing it (and a somewhat
 logical definition of whatever you implemented will turn out to be there)

 now i did implement this and it turned out that i was wondering on what
 bl...@-blu should be explanded to.

 my experience showed me that it does matter.

 i can think of 2 expansions and both make sense and both don't.

 iirc, my final conclusion was that it would be best to not allow $@
 expansion at all for dollsyms, but just as solitary $@ which will always
 expand to a list.

 By bash rules, that would give you bla-my list
 of words-blu.

 this doosn't say much.
 in bash you can quote and escape.
 you can write bash-code that will regard bla-my list of words-blu
 to be a list of 5 arguments and bash-code that sees it as a single argument.

 this is exactly the question i asked; probably this was not so clear)

 gfmasd
 IOhannes







 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

 iEYEARECAAYFAkr/El8ACgkQkX2Xpv6ydvRZdwCgsbV3Eh85Nyw8cwqgFdeorNnx
 UkMAoKTGZ0NOEzu/nKyZ+gJ//8vnqx7M
 =S6J0
 -END PGP SIGNATURE-

 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list



dollargcargv-pd-0.42-4.patch
Description: Binary data
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread IOhannes m zmoelnig
Hans-Christoph Steiner wrote:

 this is exactly the question i asked; probably this was not so clear)
 
 
 I think omitting something here because you don't think its useful is
 not a good idea.  Instead, I think $@ should always expand unless that
 causes problems somewhere.  That's the spirit of flexibility that makes
 Pd good.


i think you totally misunderstand me.

$@ is implemented, this is not the problem.
the question i was asking is, what this will produce:

[1 2 3(
|
[mymsg bl...@-blu(

i see 2 possibilities, and both seem weird.
they seem weirder when comparing them to single $@, like in
[mymsg $@ $@(


fmgasdr
IOhannes


it really seems to me like this is something i have spent little thought
on and you have spent no thought on and now we try to discuss it.




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread Hans-Christoph Steiner


On Nov 14, 2009, at 3:26 PM, IOhannes m zmölnig wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hans-Christoph Steiner wrote:



http://sourceforge.net/tracker/?func=detailaid=1543850group_id=55736atid=478072


i don't know how well this works for with the new dollarg-expansion  
code

(within symbols, not only at the beginning).
and anyhow it is unclear what bl...@-blu really means.

as for $$ being available in messages: i don't think this can easily
be done the way things are right know.

and really, i don't think it is that important :-)

I think this never got included because it didn't play nice with  
the new

dollar arg expansion code.


i remember doing tests and i vaguely remember that it worked.
the only thing i could imagine is, that it might not apply cleanly
anymore, since both the dollarg expansion code and the $@ code both
touch the same lines.
but then i wrote the current expansion code before the $@,$# things
(http://sourceforge.net/tracker/?func=detailaid=1405137group_id=55736atid=478072 
),

so i guess i might even have build on that code.



So this patch at this point serves as a

starting point for developing this.


it implements about 66% of your suggestion.



As for what bl...@-blu means, it doesn't matter as long as $$,  
$@, and

$# are clearly defined.


now what does that mean?
if you implement anything, you have to make a clear definition of it
(else youcouldn't express it in a language like C).
you might not be aware of this fact, but you really do.

in many cases you get away with just implementing it (and a somewhat
logical definition of whatever you implemented will turn out to be  
there)


now i did implement this and it turned out that i was wondering on  
what

bl...@-blu should be explanded to.

my experience showed me that it does matter.

i can think of 2 expansions and both make sense and both don't.

iirc, my final conclusion was that it would be best to not allow $@
expansion at all for dollsyms, but just as solitary $@ which will  
always

expand to a list.


By bash rules, that would give you bla-my list

of words-blu.


this doosn't say much.
in bash you can quote and escape.
you can write bash-code that will regard bla-my list of words-blu
to be a list of 5 arguments and bash-code that sees it as a single  
argument.


this is exactly the question i asked; probably this was not so clear)



I think omitting something here because you don't think its useful is  
not a good idea.  Instead, I think $@ should always expand unless that  
causes problems somewhere.  That's the spirit of flexibility that  
makes Pd good.


.hc





kill your television



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread Matt Barber
Thanks.  I would like to work out the bugs if anyone could find this
useful... I am too trusting with [print] so there were some things
with floats that were actually phantom symbols (this kind of thing is
really useful for learning lessons about the weird datatype pitfalls
in Pd).  Here's an update.

I really wish there were some kind of [s2l] in vanilla.  One COULD use
something like # 2  instead of #2 and make it vanilla, but that seems
kind of clunky.


MB

On Sat, Nov 14, 2009 at 6:18 PM, Hans-Christoph Steiner h...@at.or.at wrote:

 Yeah, its great that you made this.  I think people are too used to thinking
 that some things are set in stone, like message boxes and arguments.  But
 you really can make your own.  And you did it in Pd event, bonus points
 there :-D

 .hc

 On Nov 14, 2009, at 5:45 PM, Matt Barber wrote:

 There are plenty of bugs still, but this might be the type of thing
 one could do without having to code a new object.

 On Sat, Nov 14, 2009 at 2:29 PM, Matt Barber brbrof...@gmail.com wrote:

 Here's a start -- it requires [s2l] and [l2s] from zexy, though (there
 may be a way to do it vanilla, but possibly not).

 Matt

 On Sat, Nov 14, 2009 at 11:35 AM, Mathieu Bouchard ma...@artengine.ca
 wrote:

 On Fri, 13 Nov 2009, Hans-Christoph Steiner wrote:

 Someone could write their own message box object and make it do
 whatever
 they want.  Then you have both: a new interface and backwards
 compatibility.
  The message box could just be a GUI object like any other, there is
 nothing
 inherently unique about it.

 It wouldn't even need to be a GUI object. just make it an objectbox
 class
 named [m]. Then $1 (etc) becomes the same as in other objectboxes, and
 then another syntax can be used to mean message arguments. Except that
 if
 it's not a GUI object, then it's not clickable, and stuff.

 User-wise, there _is_ something inherently unique to the messagebox, but
 it
 happens to be exactly the difference that we'd like to eliminate.

  _ _ __ ___ _  _ _ ...
 | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801





 

                            kill your television



#N canvas 583 22 531 551 10;
#N canvas 270 121 532 403 \$0-getargs 0;
#X obj 37 40 inlet;
#N canvas 31 427 359 254 \$0-construct_Iohannes_arg_test 0;
#X obj 71 19 inlet;
#X msg 218 155 vis 1;
#X obj 71 172 outlet;
#N canvas 497 46 421 150 \$0-connect 0;
#X obj 25 25 inlet;
#X obj 25 109 outlet;
#X msg 25 47 connect 0 0 1 0 \, connect 1 0 8 0 \, connect 1 1 2 0
\, connect 2 0 3 0 \, connect 3 0 4 1 \, connect 8 0 4 0 \, connect
4 0 7 0 \, connect 4 1 5 0 \, connect 5 0 9 0 \, connect 9 0 6 0;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 71 114 pd \$0-connect;
#X obj 90 90 s \$0-construct_out;
#X obj 89 139 r \$0-construct_out;
#X obj 71 41 t b b f;
#N canvas 557 172 523 728 \$0-step_1 0;
#X obj 122 135 list trim;
#X obj 79 380 list trim;
#X obj 93 309 list trim;
#X obj 108 206 f;
#X obj 231 20 inlet;
#X obj 205 405 outlet;
#X msg 108 227 obj 10 40 t b b \, msg 200 57 \$1 \, obj 200 87 makefilename
$%d- \, obj 10 104 select s \, obj 55 134 b;
#X obj 50 20 inlet;
#X obj 93 332 s \$0-step_1_out;
#X obj 79 403 s \$0-step_1_out;
#X obj 122 157 s \$0-step_1_out;
#X obj 108 262 s \$0-step_1_out;
#X obj 137 89 s \$0-step_1_out;
#X obj 205 381 r \$0-step_1_out;
#X obj 122 114 list append obj 10 10 r \$0-getcreationargs_in;
#X obj 79 357 list append obj 10 224 s \$0-getcreationargs_noarg;
#X obj 93 288 list append obj 55 194 s \$0-getcreationargs_thisarg
;
#X obj 64 451 f;
#X obj 64 473 makefilename $%d-;
#X obj 64 515 list trim;
#X obj 64 535 s \$0-step_1_out;
#X obj 64 495 list prepend obj 10 70 symbol;
#X obj 50 581 f;
#X obj 50 606 makefilename $%d;
#X obj 50 628 list prepend obj 55 164 list append;
#X obj 51 648 list trim;
#X obj 51 669 s \$0-step_1_out;
#X obj 50 43 t b b b b b b b;
#X msg 137 67 clear;
#X obj 231 43 s \$0-arg-float;
#X obj 65 560 r \$0-arg-float;
#X obj 79 428 r \$0-arg-float;
#X obj 123 183 r \$0-arg-float;
#X connect 0 0 10 0;
#X connect 1 0 9 0;
#X connect 2 0 8 0;
#X connect 3 0 6 0;
#X connect 4 0 29 0;
#X connect 6 0 11 0;
#X connect 7 0 27 0;
#X connect 13 0 5 0;
#X connect 14 0 0 0;
#X connect 15 0 1 0;
#X connect 16 0 2 0;
#X connect 17 0 18 0;
#X connect 18 0 21 0;
#X connect 19 0 20 0;
#X connect 21 0 19 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 27 0 22 0;
#X connect 27 1 17 0;
#X connect 27 2 15 0;
#X connect 27 3 16 0;
#X connect 27 4 3 0;
#X connect 27 5 14 0;
#X connect 27 6 28 0;
#X connect 28 0 12 0;
#X connect 30 0 22 1;
#X connect 31 0 17 1;
#X connect 32 0 3 1;
#X restore 90 68 pd \$0-step_1;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 3 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 3 0;
#X connect 6 1 7 0;
#X connect 6 2 7 1;
#X connect 7 0 4 0;
#X restore 76 164 pd 

Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread Hans-Christoph Steiner


Yeah, its great that you made this.  I think people are too used to  
thinking that some things are set in stone, like message boxes and  
arguments.  But you really can make your own.  And you did it in Pd  
event, bonus points there :-D


.hc

On Nov 14, 2009, at 5:45 PM, Matt Barber wrote:


There are plenty of bugs still, but this might be the type of thing
one could do without having to code a new object.

On Sat, Nov 14, 2009 at 2:29 PM, Matt Barber brbrof...@gmail.com  
wrote:
Here's a start -- it requires [s2l] and [l2s] from zexy, though  
(there

may be a way to do it vanilla, but possibly not).

Matt

On Sat, Nov 14, 2009 at 11:35 AM, Mathieu Bouchard ma...@artengine.ca 
 wrote:

On Fri, 13 Nov 2009, Hans-Christoph Steiner wrote:

Someone could write their own message box object and make it do  
whatever
they want.  Then you have both: a new interface and backwards  
compatibility.
 The message box could just be a GUI object like any other, there  
is nothing

inherently unique about it.


It wouldn't even need to be a GUI object. just make it an  
objectbox class
named [m]. Then $1 (etc) becomes the same as in other  
objectboxes, and
then another syntax can be used to mean message arguments. Except  
that if

it's not a GUI object, then it's not clickable, and stuff.

User-wise, there _is_ something inherently unique to the  
messagebox, but it

happens to be exactly the difference that we'd like to eliminate.

 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801









kill your television



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread Matt Barber
There are plenty of bugs still, but this might be the type of thing
one could do without having to code a new object.

On Sat, Nov 14, 2009 at 2:29 PM, Matt Barber brbrof...@gmail.com wrote:
 Here's a start -- it requires [s2l] and [l2s] from zexy, though (there
 may be a way to do it vanilla, but possibly not).

 Matt

 On Sat, Nov 14, 2009 at 11:35 AM, Mathieu Bouchard ma...@artengine.ca wrote:
 On Fri, 13 Nov 2009, Hans-Christoph Steiner wrote:

 Someone could write their own message box object and make it do whatever
 they want.  Then you have both: a new interface and backwards compatibility.
  The message box could just be a GUI object like any other, there is nothing
 inherently unique about it.

 It wouldn't even need to be a GUI object. just make it an objectbox class
 named [m]. Then $1 (etc) becomes the same as in other objectboxes, and
 then another syntax can be used to mean message arguments. Except that if
 it's not a GUI object, then it's not clickable, and stuff.

 User-wise, there _is_ something inherently unique to the messagebox, but it
 happens to be exactly the difference that we'd like to eliminate.

  _ _ __ ___ _  _ _ ...
 | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread IOhannes m zmölnig
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hans-Christoph Steiner wrote:
 
 
 http://sourceforge.net/tracker/?func=detailaid=1543850group_id=55736atid=478072
 
 
 i don't know how well this works for with the new dollarg-expansion code
 (within symbols, not only at the beginning).
 and anyhow it is unclear what bl...@-blu really means.
 
 as for $$ being available in messages: i don't think this can easily
 be done the way things are right know.
 
 and really, i don't think it is that important :-)
 
 I think this never got included because it didn't play nice with the new
 dollar arg expansion code.  

i remember doing tests and i vaguely remember that it worked.
the only thing i could imagine is, that it might not apply cleanly
anymore, since both the dollarg expansion code and the $@ code both
touch the same lines.
but then i wrote the current expansion code before the $@,$# things
(http://sourceforge.net/tracker/?func=detailaid=1405137group_id=55736atid=478072),
so i guess i might even have build on that code.


 So this patch at this point serves as a
 starting point for developing this.

it implements about 66% of your suggestion.

 
 As for what bl...@-blu means, it doesn't matter as long as $$, $@, and
 $# are clearly defined.  

now what does that mean?
if you implement anything, you have to make a clear definition of it
(else youcouldn't express it in a language like C).
you might not be aware of this fact, but you really do.

in many cases you get away with just implementing it (and a somewhat
logical definition of whatever you implemented will turn out to be there)

now i did implement this and it turned out that i was wondering on what
bl...@-blu should be explanded to.

my experience showed me that it does matter.

i can think of 2 expansions and both make sense and both don't.

iirc, my final conclusion was that it would be best to not allow $@
expansion at all for dollsyms, but just as solitary $@ which will always
expand to a list.

 By bash rules, that would give you bla-my list
 of words-blu.

this doosn't say much.
in bash you can quote and escape.
you can write bash-code that will regard bla-my list of words-blu
to be a list of 5 arguments and bash-code that sees it as a single argument.

this is exactly the question i asked; probably this was not so clear)

gfmasd
IOhannes







-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkr/El8ACgkQkX2Xpv6ydvRZdwCgsbV3Eh85Nyw8cwqgFdeorNnx
UkMAoKTGZ0NOEzu/nKyZ+gJ//8vnqx7M
=S6J0
-END PGP SIGNATURE-

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread Hans-Christoph Steiner


On Nov 14, 2009, at 12:17 PM, IOhannes m zmölnig wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

IOhannes m zmölnig wrote:

Hans-Christoph Steiner wrote:


messages:
- $$ provides unique ID number
- $# provides argument count from incoming message
- $@ provides the list of arguments from incoming message



objects:
- $$ provides unique ID number
- $# provides argument count from incoming message
- $@ provides the list of arguments from incoming message


Now, all we need is someone to code  it :) I am certainly willing  
to try


i thought i had committed such a patch about 3 years ago to the sf  
patch

tracker.



http://sourceforge.net/tracker/?func=detailaid=1543850group_id=55736atid=478072

i don't know how well this works for with the new dollarg-expansion  
code

(within symbols, not only at the beginning).
and anyhow it is unclear what bl...@-blu really means.



as for $$ being available in messages: i don't think this can easily
be done the way things are right know.

and really, i don't think it is that important :-)


I think this never got included because it didn't play nice with the  
new dollar arg expansion code.  So this patch at this point serves as  
a starting point for developing this.


As for what bl...@-blu means, it doesn't matter as long as $$, $@,  
and $# are clearly defined.  By bash rules, that would give you bla- 
my list of words-blu.


.hc




mfgasdr
IOhannes
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkr+5jYACgkQkX2Xpv6ydvQYYQCgjd2KBA8CqWC5fUcGLUdOMn2J
+AQAoPN6GqUvAu6NmWKgOx5PU0cWdx59
=F53w
-END PGP SIGNATURE-






Information wants to be free.-Stewart Brand



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread IOhannes m zmölnig
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

IOhannes m zmölnig wrote:
 Hans-Christoph Steiner wrote:
 
 messages:
 - $$ provides unique ID number
 - $# provides argument count from incoming message
 - $@ provides the list of arguments from incoming message
 
 objects:
 - $$ provides unique ID number
 - $# provides argument count from incoming message
 - $@ provides the list of arguments from incoming message
 
 Now, all we need is someone to code  it :) I am certainly willing to try
 
 i thought i had committed such a patch about 3 years ago to the sf patch
 tracker.


http://sourceforge.net/tracker/?func=detailaid=1543850group_id=55736atid=478072

i don't know how well this works for with the new dollarg-expansion code
(within symbols, not only at the beginning).
and anyhow it is unclear what bl...@-blu really means.


as for $$ being available in messages: i don't think this can easily
be done the way things are right know.

and really, i don't think it is that important :-)


mfgasdr
IOhannes
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkr+5jYACgkQkX2Xpv6ydvQYYQCgjd2KBA8CqWC5fUcGLUdOMn2J
+AQAoPN6GqUvAu6NmWKgOx5PU0cWdx59
=F53w
-END PGP SIGNATURE-

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread IOhannes m zmölnig
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hans-Christoph Steiner wrote:
 
 Here's my summary of the proposals mentioned here:
 
 I agree that $0 is totally arbitrary and is not inherintly bound to
 object boxes. I think this strongest proposed fix is to introduce $$
 which works in both object and message boxes, its a nice parallel to
 Bourne Shell syntax.  On that note, I think this should also come with
 Bourne Shell's $# for count of argument and $@ for a list of all
 arguments.  I think $$, $#, and $@ should work in both message and
 object boxes. So:
 
 messages:
 - $$ provides unique ID number
 - $# provides argument count from incoming message
 - $@ provides the list of arguments from incoming message
 
 objects:
 - $$ provides unique ID number
 - $# provides argument count from incoming message
 - $@ provides the list of arguments from incoming message
 
 Now, all we need is someone to code  it :) I am certainly willing to try

i thought i had committed such a patch about 3 years ago to the sf patch
tracker.


mfasr
IOhannes
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkr+48oACgkQkX2Xpv6ydvR39wCfUmgeZNT2vphUCtdiqFqy7ElT
BGgAnjlTXqVaJZjd4mxsvEY9L7W8Zy7p
=t2HN
-END PGP SIGNATURE-

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread Hans-Christoph Steiner


On Nov 14, 2009, at 11:35 AM, Mathieu Bouchard wrote:


On Fri, 13 Nov 2009, Hans-Christoph Steiner wrote:

Someone could write their own message box object and make it do  
whatever they want.  Then you have both: a new interface and  
backwards compatibility.  The message box could just be a GUI  
object like any other, there is nothing inherently unique about it.


It wouldn't even need to be a GUI object. just make it an  
objectbox class named [m]. Then $1 (etc) becomes the same as in  
other objectboxes, and then another syntax can be used to mean  
message arguments. Except that if it's not a GUI object, then it's  
not clickable, and stuff.


User-wise, there _is_ something inherently unique to the messagebox,  
but it happens to be exactly the difference that we'd like to  
eliminate.


Yeah, for clarification, there is nothing inherently unique in the  
implementation.  Someone could make their own message box.  I'd like  
to see that happen.


.hc



Making boring techno music is really easy with modern tools, he
says, but with live coding, boring techno is much harder. - Chris  
McCormick






___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread Matt Barber
Here's a start -- it requires [s2l] and [l2s] from zexy, though (there
may be a way to do it vanilla, but possibly not).

Matt

On Sat, Nov 14, 2009 at 11:35 AM, Mathieu Bouchard ma...@artengine.ca wrote:
 On Fri, 13 Nov 2009, Hans-Christoph Steiner wrote:

 Someone could write their own message box object and make it do whatever
 they want.  Then you have both: a new interface and backwards compatibility.
  The message box could just be a GUI object like any other, there is nothing
 inherently unique about it.

 It wouldn't even need to be a GUI object. just make it an objectbox class
 named [m]. Then $1 (etc) becomes the same as in other objectboxes, and
 then another syntax can be used to mean message arguments. Except that if
 it's not a GUI object, then it's not clickable, and stuff.

 User-wise, there _is_ something inherently unique to the messagebox, but it
 happens to be exactly the difference that we'd like to eliminate.

  _ _ __ ___ _  _ _ ...
 | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
#N canvas 583 22 531 551 10;
#N canvas 270 121 532 403 \$0-getargs 0;
#X obj 37 40 inlet;
#N canvas 31 427 359 254 \$0-construct_Iohannes_arg_test 0;
#X obj 71 19 inlet;
#X msg 218 155 vis 1;
#X obj 71 172 outlet;
#N canvas 497 46 421 150 \$0-connect 0;
#X obj 25 25 inlet;
#X obj 25 109 outlet;
#X msg 25 47 connect 0 0 1 0 \, connect 1 0 8 0 \, connect 1 1 2 0
\, connect 2 0 3 0 \, connect 3 0 4 1 \, connect 8 0 4 0 \, connect
4 0 7 0 \, connect 4 1 5 0 \, connect 5 0 9 0 \, connect 9 0 6 0;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 71 114 pd \$0-connect;
#X obj 90 90 s \$0-construct_out;
#X obj 89 139 r \$0-construct_out;
#X obj 71 41 t b b f;
#N canvas 557 172 523 728 \$0-step_1 0;
#X obj 122 135 list trim;
#X obj 79 380 list trim;
#X obj 93 309 list trim;
#X obj 108 206 f;
#X obj 231 20 inlet;
#X obj 205 405 outlet;
#X msg 108 227 obj 10 40 t b b \, msg 200 57 \$1 \, obj 200 87 makefilename
$%d- \, obj 10 104 select s \, obj 55 134 b;
#X obj 50 20 inlet;
#X obj 93 332 s \$0-step_1_out;
#X obj 79 403 s \$0-step_1_out;
#X obj 122 157 s \$0-step_1_out;
#X obj 108 262 s \$0-step_1_out;
#X obj 137 89 s \$0-step_1_out;
#X obj 205 381 r \$0-step_1_out;
#X obj 122 114 list append obj 10 10 r \$0-getcreationargs_in;
#X obj 79 357 list append obj 10 224 s \$0-getcreationargs_noarg;
#X obj 93 288 list append obj 55 194 s \$0-getcreationargs_thisarg
;
#X obj 64 451 f;
#X obj 64 473 makefilename $%d-;
#X obj 64 515 list trim;
#X obj 64 535 s \$0-step_1_out;
#X obj 64 495 list prepend obj 10 70 symbol;
#X obj 50 581 f;
#X obj 50 606 makefilename $%d;
#X obj 50 628 list prepend obj 55 164 list append;
#X obj 51 648 list trim;
#X obj 51 669 s \$0-step_1_out;
#X obj 50 43 t b b b b b b b;
#X msg 137 67 clear;
#X obj 231 43 s \$0-arg-float;
#X obj 65 560 r \$0-arg-float;
#X obj 79 428 r \$0-arg-float;
#X obj 123 183 r \$0-arg-float;
#X connect 0 0 10 0;
#X connect 1 0 9 0;
#X connect 2 0 8 0;
#X connect 3 0 6 0;
#X connect 4 0 29 0;
#X connect 6 0 11 0;
#X connect 7 0 27 0;
#X connect 13 0 5 0;
#X connect 14 0 0 0;
#X connect 15 0 1 0;
#X connect 16 0 2 0;
#X connect 17 0 18 0;
#X connect 18 0 21 0;
#X connect 19 0 20 0;
#X connect 21 0 19 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 27 0 22 0;
#X connect 27 1 17 0;
#X connect 27 2 15 0;
#X connect 27 3 16 0;
#X connect 27 4 3 0;
#X connect 27 5 14 0;
#X connect 27 6 28 0;
#X connect 28 0 12 0;
#X connect 30 0 22 1;
#X connect 31 0 17 1;
#X connect 32 0 3 1;
#X restore 90 68 pd \$0-step_1;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 3 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 3 0;
#X connect 6 1 7 0;
#X connect 6 2 7 1;
#X connect 7 0 4 0;
#X restore 76 164 pd \$0-construct_Iohannes_arg_test;
#X obj 135 315 r \$0-getcreationargs_thisarg;
#X obj 323 315 r \$0-getcreationargs_noarg;
#X obj 56 211 s \$0-getcreationargs_in;
#X obj 37 89 max 0;
#X obj 37 64 route float;
#X obj 37 110 int;
#X obj 37 315 spigot 1;
#X obj 82 262 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 37 338 s pd-\$1;
#X obj 135 338 outlet;
#X obj 323 338 outlet;
#X text 116 261 -- toggle on to see the result of the dynamic patching
;
#X obj 82 290 == 0;
#X text 147 55 Inlet: the argument number.;
#X obj 37 134 t b b f;
#X msg 37 237 clear \, editmode 0;
#N canvas 0 22 450 300 \$0-helper 0;
#X obj 10 10 r 1064-getcreationargs_in;
#X obj 10 40 t b b;
#X msg 200 57 17;
#X obj 200 87 makefilename $%d-;
#X obj 10 104 select s;
#X obj 55 134 b;
#X obj 55 194 s 1064-getcreationargs_thisarg;
#X obj 10 224 s 1064-getcreationargs_noarg;
#X obj 10 70 symbol \$17-;
#X obj 55 164 list append \$17;
#X connect 0 0 1 0;
#X connect 1 0 8 0;
#X connect 1 1 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 1;
#X connect 4 0 7 0;
#X connect 4 1 5 0;
#X connect 5 0 9 0;
#X connect 8 0 4 0;
#X connect 9 0 6 0;
#X restore 392 164 pd \$0-helper;
#X obj 76 186 s pd-\$0-helper;
#X text 147 

Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread Alexandre Porres
Geez, I got like 15 digests at once and kinda I lost it, I know nothing of
$$, $@ but I like this expansion idea for what I got fom it.

Anyway, let me get this quote here and...

IOhannes:
 as for $$ being available in messages: i don't think
 this can easily be done the way things are right know.
 and really, i don't think it is that important :-)

come back to my former inquiry, I am sorry if you told me this already and i
lost it. But then;

- Do you think $0 could easily be available in messages? How come?
- Is it a general consensuous that it aint't worth bothering about? Why?

Cheers
Alex
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread IOhannes m zmoelnig
IOhannes m zmölnig wrote:
 Hans-Christoph Steiner wrote:
 
 iirc, my final conclusion was that it would be best to not allow $@
 expansion at all for dollsyms, but just as solitary $@ which will always
 expand to a list.


i guess this is the main source of misunderstanding.

with dollsym i really mean what Pd internally understands as
A_DOLLSYM, that is a symbol constructed with a dollar+number and
something else, e.g. $1_bla or /foo/$2/bla
but not an A_DOLLARG, which is a a dollar+number, e.g. $1.

A_DOLLSYM will always expand to symbol, whereas A_DOLLARG will expand to
an atom of the type of the referenced listelement.
e.g.
[10 20 30(
|
[$2(

will give you the float 20.

whereas
[10 20 30(
|
[/$1(

will give you the symbol '/20'

now in the current implementation we have:

[10 20 30(
|
[$@ $@(

which gives you a 6 element list 10 20 30 10 20 30.

but what is this supposed to give me?


[10 20 30(
|
[$@/$@(


either its a 5 element list 10 20 30/10 20 30 (with 4 floats and a
symbol inbetween) or it is a single symbol '10 20 30/10 20 30'.

i don't like the former very much, because it generates both symbols and
other atoms in a hard to predict matter, and is kind of out of sync with
pd's ordinary behaviour.

i don't like the latter very much, because it suddenly allows easy
creation of symbols with spaces, and i think Pd is not really ready for
that.

symbols with spaces is not something one cannot live without.
(we all have learned to do this by now).
even if we can live with a symbol-with-spaces approach, this wouldn't
allow for just symbol with spaces (the thing [l2s] does), opening
another can of worms.

therefore my conclusion was that it was better *for now* to only support
A_DOLLARG $@ but not in A_DOLLSYM.
i don't even know whether i have implemented this conclusion or whether
i just went with one of the 2 options.

read the code.

fgmadsr
IOhannes


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread IOhannes m zmoelnig
Alexandre Porres wrote:
 IOhannes:
 as for $$ being available in messages: i don't think
 this can easily be done the way things are right know.
 and really, i don't think it is that important :-)
 
 come back to my former inquiry, I am sorry if you told me this already and i
 lost it. But then;
 
 - Do you think $0 could easily be available in messages? How come?

i say i don't think this can easily be done. this i mean, not the
opposite. i come to the conclusion because i read the code (that was
years ago, i might be mistaken so please forgive me if its plain wrong):
you need a context to evaluate $0 correctly. a message does not have
this canvas-context.
(this might really be total nonsense; but this is what i seem to remember)

i _think_ that it makes sense to see it as such: objects are citizens of
a canvas, messages are something entirely different. they are
information passed between the citizens.
they are not 2nd class citizens, they belong to another realm!


once you got that, everything is simple :-)


 - Is it a general consensuous that it aint't worth bothering about? Why?

i don't think its general consensus.
it's what _i_ think.
i don't need $0 in message-boxes so often.
i need to construct messages containing $0 for dynamic patching every
now and then. but usually the messages i construct are more complex
anyhow, so i don't use message-boxes to construct the values but [pack].
e.g.

[pack 0 $0]
|
[obj 100 $1 fluffy $2(
|
[s pd-$0-patch]

in this case, the penalty of not being able to write $0 in message boxes
is minimal.

keep in mind that this example is somewhat simplistic as well. usually
the messages created contain a lot more arguments (4)
, making the penalty even smaller.



fgmadsr
IOhannes

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread Mathieu Bouchard

On Sun, 15 Nov 2009, IOhannes m zmoelnig wrote:

with dollsym i really mean what Pd internally understands as 
A_DOLLSYM, that is a symbol constructed with a dollar+number and 
something else, e.g. $1_bla or /foo/$2/bla but not an A_DOLLARG, 
which is a a dollar+number, e.g. $1.


It's really a Dollar and not a Doll Arg.

Though you could ask why is it a Doll Sym and not a Dollar Symbol...

And why Dollar when the $ character is $ because it looks like the S 
in Substitute...


Anyway, in m_pd.h, A_DOLLAR exists and A_DOLLARG doesn't.

 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread Mathieu Bouchard

On Sat, 14 Nov 2009, Hans-Christoph Steiner wrote:

On Nov 14, 2009, at 11:35 AM, Mathieu Bouchard wrote:
User-wise, there _is_ something inherently unique to the messagebox, but it 
happens to be exactly the difference that we'd like to eliminate.
Yeah, for clarification, there is nothing inherently unique in the 
implementation.


I don't mean that it's just a user-wise thing and thus not an 
implementation thing. I mean that it's a user-wise thing 
therefore you don't have the choice to imitate it using a special 
implementation, if you are going to imitate it faithfully.


The $-substitution isn't run on messageboxes when they get instantiated. 
That's the difference I'm talking about. This is also the difference that 
the new messagebox wouldn't imitate, so the new-style messageboxes 
wouldn't need weird hacks in the pd source; but if anyone wanted to 
reimplement old-style messageboxes, they'd need to find a way to disable 
$-substitution in that case.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread IOhannes m zmölnig
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Mathieu Bouchard wrote:
 
 Anyway, in m_pd.h, A_DOLLAR exists and A_DOLLARG doesn't.
 

ah yes thanks for fixing.

mfgws.g
IOhannes
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAksBAv4ACgkQkX2Xpv6ydvT1RwCg6bM7/tzkfnd946nm1alI8svB
o8QAn00P8Kwy9raYY7JNQO4HTkiBLWR8
=0cmX
-END PGP SIGNATURE-

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-15 Thread IOhannes m zmölnig
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Mathieu Bouchard wrote:

 wouldn't need weird hacks in the pd source; but if anyone wanted to
 reimplement old-style messageboxes, they'd need to find a way to disable
 $-substitution in that case.
 

you can get the unparsed arguments during runtime (though after
creation time) just fine.
this is what every save-routine does (unless somebody decides to really
save 1053 instead of $0)

masdr
IOhannes
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAksBBWYACgkQkX2Xpv6ydvQbeQCeLfh0hNvNZB9+KIZkWO6CtMx/
wGYAnAtJZ+x/ZcmFn9bLXfeMZhPV3SJd
=NbBA
-END PGP SIGNATURE-

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Roman Haefeli



Am 13.11.09 01:31 schrieb Phil Stone unter pkst...@ucdavis.edu:

 Mathieu Bouchard wrote:
 On Fri, 13 Nov 2009, Frank Barknecht wrote:
 Alexandre Porres hat gesagt: // Alexandre Porres wrote:
 But I totally disagree, I have been teaching a lot basic Pd around, and
 people always get confused and think they can just throw $0 in
 messages.
 That may be because your students assume, that $1 in a message box is
 the same
 as $1 in an object box when in fact it's something different.
 
 That may be because you assume that objectboxes' $0 must have
 something to do with $1,$2,$3,... when in fact it's something different.
 
   $3 stands for ce_argv[2]
   $2 stands for ce_argv[1]
   $1 stands for ce_argv[0]
   $0 stands for ce_dollarzero
 
 it's a special case no matter what.
 
 Right.  Which neatly brings the question back around to why can't $0 be
 used in message boxes?  I've said this before (to no avail): it is well
 understood that $0 has no meaning in *messages* -- however, this is not
 a good reason why $0 can't be used in *message boxes.*
 
 Since 1024-foo (where 1024 represents the canvas-identifier), *does*
 have meaning in messages, why must we jump through (admittedly minor,
 but still quite annoying) hoops just to get that canvas-identifier into
 a message?
 
 It probably belongs in the some things will never change in Pd
 category; therefore we must resign ourselves to this discussion
 re-appearing on a regular basis.

$0 in messages is only special in the sense, that it has no meaning at all.
it wouldn't make it less special to use it as a container for canvas
identifier in message boxes. $-variables in objects have a different meaning
from $-variables in message boxes, no matter what. I understand, that it
would make patching often a lot easier, but conceptually it would be
exceptional to make $0 in message-boxes be replaced by the
canvas-identifier, while all other $n-variables in message-boxes get
replaced by the n-th element of the incoming list. I wouldn't want to have
to pay attention to n in $n in order to determine its behaviour. And i also
don't support a change that would introduce an inconsistency like that. Why
don't people fight with the same effort to make $1 in message boxes be
replaced by the first argument of the patch?

Personally, i find it 'unecological' to just not use $0 at all in message
boxes.  I am haven't checked, but i think this idea must have been brought
up already:

Let's make $0 in message boxes be replaced by the selector of the incoming
messages. Currently, it is quite cumbersome to type check a pd message and
it requires a lot of patching. Using $0 to get the '0th' element of the
incoming message would be consistent with the way $-variables are currently
used in message boxes and it would be tremendously useful. Just to
illustrate the proposed use of $0:

the incoming message:   the respective $0
'hallo velo''hallo'
'list mein fahrrad' 'list'
'symbol bike'   'symbol'
'12 twentyfour' 'list'
'12''float'
'bang'  'bang'
'bla'   'bla'

If this could be implemented, any future discussion about why $0 in message
boxes is not replaced by the canvas identifier would be lapsed.

roman






___ 
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: 
http://mail.yahoo.de

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Roman Haefeli



Am 12.11.09 17:21 schrieb Alexandre Porres unter por...@gmail.com:

 But I totally disagree, I have been teaching a lot basic Pd around, and people
 always get confused and think they can just throw $0 in messages. So I have
 to state and reinforce that there is an exception that it doesn't work on
 messages.

Calling this an exception creates the impression, that $1 in a message is
the same as in an object.

 Without an exception at all, it should be easier to get it, as I
 understand.

Agreed. But currently, the only thing that makes $0 in a message exceptional
is the fact, that it has no meaning at all. Making it be replaced by the
canvas identifier wouldn't make it less exceptional at all.

roman





___ 
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: 
http://mail.yahoo.de

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Roman Haefeli
This is obviously a loop. All this has been said and proposed before in the
thread [1], that has been posted by alex porres a few posts back. Sorry for
not having brought any new perspectives into the discussion, but having just
repeated what has been said already.

The only thing i don't really get: Why seems there some agreement, that
using $0 to get the selector could be confusing?

It would certainly end the discussions about the special (somehow undefined)
state it has now. 

roman
 

[1]: http://lists.puredata.info/pipermail/pd-list/2009-02/067889.html



Am 13.11.09 10:52 schrieb Roman Haefeli unter reduzie...@yahoo.de:

 
 
 
 Am 13.11.09 01:31 schrieb Phil Stone unter pkst...@ucdavis.edu:
 
 Mathieu Bouchard wrote:
 On Fri, 13 Nov 2009, Frank Barknecht wrote:
 Alexandre Porres hat gesagt: // Alexandre Porres wrote:
 But I totally disagree, I have been teaching a lot basic Pd around, and
 people always get confused and think they can just throw $0 in
 messages.
 That may be because your students assume, that $1 in a message box is
 the same
 as $1 in an object box when in fact it's something different.
 
 That may be because you assume that objectboxes' $0 must have
 something to do with $1,$2,$3,... when in fact it's something different.
 
   $3 stands for ce_argv[2]
   $2 stands for ce_argv[1]
   $1 stands for ce_argv[0]
   $0 stands for ce_dollarzero
 
 it's a special case no matter what.
 
 Right.  Which neatly brings the question back around to why can't $0 be
 used in message boxes?  I've said this before (to no avail): it is well
 understood that $0 has no meaning in *messages* -- however, this is not
 a good reason why $0 can't be used in *message boxes.*
 
 Since 1024-foo (where 1024 represents the canvas-identifier), *does*
 have meaning in messages, why must we jump through (admittedly minor,
 but still quite annoying) hoops just to get that canvas-identifier into
 a message?
 
 It probably belongs in the some things will never change in Pd
 category; therefore we must resign ourselves to this discussion
 re-appearing on a regular basis.
 
 $0 in messages is only special in the sense, that it has no meaning at all.
 it wouldn't make it less special to use it as a container for canvas
 identifier in message boxes. $-variables in objects have a different meaning
 from $-variables in message boxes, no matter what. I understand, that it
 would make patching often a lot easier, but conceptually it would be
 exceptional to make $0 in message-boxes be replaced by the
 canvas-identifier, while all other $n-variables in message-boxes get
 replaced by the n-th element of the incoming list. I wouldn't want to have
 to pay attention to n in $n in order to determine its behaviour. And i also
 don't support a change that would introduce an inconsistency like that. Why
 don't people fight with the same effort to make $1 in message boxes be
 replaced by the first argument of the patch?
 
 Personally, i find it 'unecological' to just not use $0 at all in message
 boxes.  I am haven't checked, but i think this idea must have been brought
 up already:
 
 Let's make $0 in message boxes be replaced by the selector of the incoming
 messages. Currently, it is quite cumbersome to type check a pd message and
 it requires a lot of patching. Using $0 to get the '0th' element of the
 incoming message would be consistent with the way $-variables are currently
 used in message boxes and it would be tremendously useful. Just to
 illustrate the proposed use of $0:
 
 the incoming message:   the respective $0
 'hallo velo''hallo'
 'list mein fahrrad' 'list'
 'symbol bike'   'symbol'
 '12 twentyfour' 'list'
 '12''float'
 'bang'  'bang'
 'bla'   'bla'
 
 If this could be implemented, any future discussion about why $0 in message
 boxes is not replaced by the canvas identifier would be lapsed.
 
 roman
 
 
 
 
 
 
 ___
 Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail:
 http://mail.yahoo.de
 
 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list





___ 
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: 
http://mail.yahoo.de

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Alexandre Porres
 Calling this an exception creates
 the impression, that $1 in a message
 is the same as in an object.

Hmm, I see you have a point! But I am just used to consider $0 and $1, $2
... $n different/separate things, being $0 solely a locality sintax.

Putting them as separate concepts I see $1, $2 ... $n as two different
things wether in messages or objects, and that $0 is just useless in
messages.

Anyway, I am cool with what needs to be done in order to put $0 in
messages, I still think it's a bit of an unnecessary hassle, but it ain't
that much of a big deal after all.

The thing that had no other way around was using the Find feature to
actually find them, so I thought about bringing this all up: the hassle and
the problem.

I now see that uncheking whole word in the new version is just another
way around rather than actually getting the Find feature to look for $0,
or even for the window number once we explicitly tell it which one it is.

So, nerverminding about $0 in messages, I would still make a point here
for the Find feature to be able to find $0, I hope it isn't much hassle
getting it to do so.

Thanks a bunch folks!
Cheers
alex


On Fri, Nov 13, 2009 at 8:03 AM, Roman Haefeli reduzie...@yahoo.de wrote:




 Am 12.11.09 17:21 schrieb Alexandre Porres unter por...@gmail.com:

  But I totally disagree, I have been teaching a lot basic Pd around, and
 people
  always get confused and think they can just throw $0 in messages. So I
 have
  to state and reinforce that there is an exception that it doesn't work on
  messages.

 Calling this an exception creates the impression, that $1 in a message
 is the same as in an object.

  Without an exception at all, it should be easier to get it, as I
  understand.

 Agreed. But currently, the only thing that makes $0 in a message
 exceptional
 is the fact, that it has no meaning at all. Making it be replaced by the
 canvas identifier wouldn't make it less exceptional at all.

 roman





 ___
 Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail:
 http://mail.yahoo.de

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Phil Stone

Roman Haefeli wrote:

This is obviously a loop. All this has been said and proposed before in the
thread [1], that has been posted by alex porres a few posts back. Sorry for
not having brought any new perspectives into the discussion, but having just
repeated what has been said already.
  


Hi Roman,


I think the fact that this is an eternally-recurring topic points to 
just how irritating this one little foible of Pd is -- it's confusing to 
newbies, and it's annoying to more experienced programmers.



I want to address the point you brought up in the first message:


$0 in messages is only special in the sense, that it has no meaning at all.
it wouldn't make it less special to use it as a container for canvas
identifier in message boxes. $-variables in objects have a different meaning
from $-variables in message boxes, no matter what. I understand, that it
would make patching often a lot easier, but conceptually it would be
exceptional to make $0 in message-boxes be replaced by the
canvas-identifier, while all other $n-variables in message-boxes get
replaced by the n-th element of the incoming list.


But $0 is exceptional in *all* cases!  Its use in objects has a very 
different meaning than the use of $1, $2 in objects.  Yet no one 
calls for eliminating $0 from object boxes -- why is the same argument 
repeated over and over as justification for its prohibition in message 
boxes?  I just don't understand this.



If only (as many have said) $0 had been written as #0 or something 
else completely un-encumbered with ideas about what $ must mean in Pd.




The only thing i don't really get: Why seems there some agreement, that
using $0 to get the selector could be confusing?



Well, I think that would make things even worse - further muddying the 
waters, as it were, by adding yet another meaning to the dollar-sign.  I 
don't see it as any more consistent or pure, given the unique role 
that $0 has in *all* cases.



When all is said and done, things in the Pd world will go on as they 
have, and we won't really suffer because of this one little grain of 
sand in our shell.  But we probably will continue to discuss it every 
few months!



Best,

Phil
http://www.pkstonemusic.com/pubmusic.html

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread IOhannes m zmoelnig
Phil Stone wrote:

 
 I think the fact that this is an eternally-recurring topic points to
 just how irritating this one little foible of Pd is -- it's confusing to
 newbies, 

i agree

 and it's annoying to more experienced programmers.

but i can't follow here .-)

 But $0 is exceptional in *all* cases!  Its use in objects has a very
 different meaning than the use of $1, $2 in objects.  Yet no one
 calls for eliminating $0 from object boxes -- why is the same argument

actually i do.
obviously it would break everything, so i won't say that loud.

 repeated over and over as justification for its prohibition in message
 boxes?  I just don't understand this.
 
 
 If only (as many have said) $0 had been written as #0 or something
 else completely un-encumbered with ideas about what $ must mean in Pd.

but why 0? what is #1 to mean then?
i always favoured a more bash-like syntax, e.g. $$ (which is the PID
of a process; i think this maps nicely to what $0 currently is)

 The only thing i don't really get: Why seems there some agreement, that
 using $0 to get the selector could be confusing?

because i want to get the selector of an object-box as well (it's name).

 Well, I think that would make things even worse - further muddying the
 waters, as it were, by adding yet another meaning to the dollar-sign.  I
 don't see it as any more consistent or pure, given the unique role
 that $0 has in *all* cases.

as explained lengthily months ago, i still don't think that messages
should have any notion of the surrounding patch.

 When all is said and done, things in the Pd world will go on as they
 have, and we won't really suffer because of this one little grain of
 sand in our shell.  But we probably will continue to discuss it every
 few months!

don't know whether we should.
most likely, we will.

fgmasdr
IOhannes


smime.p7s
Description: S/MIME Cryptographic Signature
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Phil Stone

IOhannes m zmoelnig wrote:

Phil Stone wrote:

  

I think the fact that this is an eternally-recurring topic points to
just how irritating this one little foible of Pd is -- it's confusing to
newbies, 



i agree

  

and it's annoying to more experienced programmers.



but i can't follow here .-)
  


Well, I'm annoyed.  :-)  But I think I'll get over it.


But $0 is exceptional in *all* cases!  Its use in objects has a very
different meaning than the use of $1, $2 in objects.  Yet no one
calls for eliminating $0 from object boxes -- why is the same argument
  


actually i do.
obviously it would break everything, so i won't say that loud.

snip
as explained lengthily months ago, i still don't think that messages
should have any notion of the surrounding patch.
  


I'd be interested in reading that, though I haven't been able to find 
the post yet.  Do you have a reference?


Currently, the only time I've needed to get $0 into a message is for 
dynamic patching.  Since this practice is an unloved bastard child of 
Pd, it's unlikely I'll get anywhere advocating for making it easier.  
Nevertheless, the less-readable patches (as if dynamic patches aren't 
obscure enough!) that result from the contortions needed to get $0 into 
the message annoy me, and tempt me to write bad, name-clash-ripe dynamic 
objects.



Best,

Phil
http://www.pkstonemusic.com/pubmusic.html

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Roman Haefeli
While definitely understanding your irritation, the only point of your
writing i was able to find is that it would make it 'easier'.

I definitely cannot support the idea of making one special case (that
arises a lot, i admit) easier, while disregarding completely the
concepts and consistency.

Luckily, i don't have make this decision. However, i still think $0 in
message boxes should expand to the selector of the incoming message.

roman


On Fri, 2009-11-13 at 08:54 -0800, Phil Stone wrote:
 Roman Haefeli wrote:
  This is obviously a loop. All this has been said and proposed before in the
  thread [1], that has been posted by alex porres a few posts back. Sorry for
  not having brought any new perspectives into the discussion, but having just
  repeated what has been said already.

 
 Hi Roman,
 
 
 I think the fact that this is an eternally-recurring topic points to 
 just how irritating this one little foible of Pd is -- it's confusing to 
 newbies, and it's annoying to more experienced programmers.
 
 
 I want to address the point you brought up in the first message:
 
  $0 in messages is only special in the sense, that it has no meaning at all.
  it wouldn't make it less special to use it as a container for canvas
  identifier in message boxes. $-variables in objects have a different meaning
  from $-variables in message boxes, no matter what. I understand, that it
  would make patching often a lot easier, but conceptually it would be
  exceptional to make $0 in message-boxes be replaced by the
  canvas-identifier, while all other $n-variables in message-boxes get
  replaced by the n-th element of the incoming list.
 
 But $0 is exceptional in *all* cases!  Its use in objects has a very 
 different meaning than the use of $1, $2 in objects.  Yet no one 
 calls for eliminating $0 from object boxes -- why is the same argument 
 repeated over and over as justification for its prohibition in message 
 boxes?  I just don't understand this.
 
 
 If only (as many have said) $0 had been written as #0 or something 
 else completely un-encumbered with ideas about what $ must mean in Pd.
 
 
  The only thing i don't really get: Why seems there some agreement, that
  using $0 to get the selector could be confusing?
 
 
 Well, I think that would make things even worse - further muddying the 
 waters, as it were, by adding yet another meaning to the dollar-sign.  I 
 don't see it as any more consistent or pure, given the unique role 
 that $0 has in *all* cases.
 
 
 When all is said and done, things in the Pd world will go on as they 
 have, and we won't really suffer because of this one little grain of 
 sand in our shell.  But we probably will continue to discuss it every 
 few months!
 
 
 Best,
 
 Phil
 http://www.pkstonemusic.com/pubmusic.html
 
 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Roman Haefeli
On Fri, 2009-11-13 at 18:08 +0100, IOhannes m zmoelnig wrote:

 
  The only thing i don't really get: Why seems there some agreement, that
  using $0 to get the selector could be confusing?
 
 because i want to get the selector of an object-box as well (it's name).

What the hell is the selector of an object box?


Not addressed to you directly, IOhannes:
What is so difficult about thinking the canvas identifier as an
implicitly given argument to a patch? If seen as that, it is not special
at all as it is used in objects. While currently it still has a special
status, how it is (not) used in message boxes.

I see, that i am not adding to this discussion anymore. Sorry for that.
Nevertheless, i'll fight against any change, that'll add
inconsistencies.

Roman



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Phil Stone

Roman Haefeli wrote:

While definitely understanding your irritation, the only point of your
writing i was able to find is that it would make it 'easier'.
  


No, it's that the idea of $0 = special case is only used when talking 
about message boxes; $0 is also a special case in object boxes, yet it 
is accepted there.  Thus, I find this argument inconsistent.


I am quite willing to bear the continued burden of coaxing $0 into 
messages for dynamic patching (I simply have no choice).  I would just 
like to see the reasoning against $0 in message boxes be less specious, 
and therefore less confusing to the overall issue.



I definitely cannot support the idea of making one special case (that
arises a lot, i admit) easier, while disregarding completely the
concepts and consistency.
  


As I said, it's the very *inconsistency* of this argument that bothers me.


Phil
http://www.pkstonemusic.com/pubmusic.html

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Matt Barber
Without $0, one would have to use $1 ... $n for locality.  $0 of a
parent patch often needs to be passed as $1 to a child for proper
locality, for instance, so I don't think they are necessarily THAT
different conceptually.

Matt

On Fri, Nov 13, 2009 at 11:49 AM, Alexandre Porres por...@gmail.com wrote:
 Calling this an exception creates
 the impression, that $1 in a message
 is the same as in an object.
 Hmm, I see you have a point! But I am just used to consider $0 and $1, $2
 ... $n different/separate things, being $0 solely a locality sintax.
 Putting them as separate concepts I see $1, $2 ... $n as two different
 things wether in messages or objects, and that $0 is just useless in
 messages.
 Anyway, I am cool with what needs to be done in order to put $0 in
 messages, I still think it's a bit of an unnecessary hassle, but it ain't
 that much of a big deal after all.
 The thing that had no other way around was using the Find feature to
 actually find them, so I thought about bringing this all up: the hassle and
 the problem.
 I now see that uncheking whole word in the new version is just another
 way around rather than actually getting the Find feature to look for $0,
 or even for the window number once we explicitly tell it which one it is.
 So, nerverminding about $0 in messages, I would still make a point here
 for the Find feature to be able to find $0, I hope it isn't much hassle
 getting it to do so.
 Thanks a bunch folks!
 Cheers
 alex

 On Fri, Nov 13, 2009 at 8:03 AM, Roman Haefeli reduzie...@yahoo.de wrote:



 Am 12.11.09 17:21 schrieb Alexandre Porres unter por...@gmail.com:

  But I totally disagree, I have been teaching a lot basic Pd around, and
  people
  always get confused and think they can just throw $0 in messages. So I
  have
  to state and reinforce that there is an exception that it doesn't work
  on
  messages.

 Calling this an exception creates the impression, that $1 in a message
 is the same as in an object.

  Without an exception at all, it should be easier to get it, as I
  understand.

 Agreed. But currently, the only thing that makes $0 in a message
 exceptional
 is the fact, that it has no meaning at all. Making it be replaced by the
 canvas identifier wouldn't make it less exceptional at all.

 roman





 ___
 Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail:
 http://mail.yahoo.de



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Matteo Sisti Sette

 But I am just used to consider $0 and $1, $2
 ... $n different/separate things, being $0 solely
 a locality sintax.

Well I don't know about implementation, but conceptually, I don't see $0 
(in object boxes) as something that much different than $1..$n: you can 
think of $0 as just one more creation argument of the containing patch 
(a numeric value), only that it is assigned automatically and guaranteed 
to be unique.



--
Matteo Sisti Sette
matteosistise...@gmail.com
http://www.matteosistisette.com

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Alexandre Porres
hmm, I am sorry, I don't think I got what you meant... could you give an
example please?

The way I see is that $1...$n are related to the inheritance concept. They
could be used inside [send~]  [receive~] objects to force some sort of
locality, but you can't really guarantee locality by that, it is just some
way around that is not 100% safe, cause if you have [s $1-gain] in an
abstraction, and $1 inheriting A for instance, a [s A-gain] object in a
parent patch (or even on another opened patch) would still get the value
globally.

cheers
alex


On Fri, Nov 13, 2009 at 5:28 PM, Matt Barber brbrof...@gmail.com wrote:

 Without $0, one would have to use $1 ... $n for locality.  $0 of a
 parent patch often needs to be passed as $1 to a child for proper
 locality, for instance, so I don't think they are necessarily THAT
 different conceptually.

 Matt

 On Fri, Nov 13, 2009 at 11:49 AM, Alexandre Porres por...@gmail.com
 wrote:
  Calling this an exception creates
  the impression, that $1 in a message
  is the same as in an object.
  Hmm, I see you have a point! But I am just used to consider $0 and $1,
 $2
  ... $n different/separate things, being $0 solely a locality sintax.
  Putting them as separate concepts I see $1, $2 ... $n as two different
  things wether in messages or objects, and that $0 is just useless in
  messages.
  Anyway, I am cool with what needs to be done in order to put $0 in
  messages, I still think it's a bit of an unnecessary hassle, but it ain't
  that much of a big deal after all.
  The thing that had no other way around was using the Find feature to
  actually find them, so I thought about bringing this all up: the
 hassle and
  the problem.
  I now see that uncheking whole word in the new version is just another
  way around rather than actually getting the Find feature to look for
 $0,
  or even for the window number once we explicitly tell it which one it is.
  So, nerverminding about $0 in messages, I would still make a point here
  for the Find feature to be able to find $0, I hope it isn't much hassle
  getting it to do so.
  Thanks a bunch folks!
  Cheers
  alex
 
  On Fri, Nov 13, 2009 at 8:03 AM, Roman Haefeli reduzie...@yahoo.de
 wrote:
 
 
 
  Am 12.11.09 17:21 schrieb Alexandre Porres unter por...@gmail.com:
 
   But I totally disagree, I have been teaching a lot basic Pd around,
 and
   people
   always get confused and think they can just throw $0 in messages. So
 I
   have
   to state and reinforce that there is an exception that it doesn't work
   on
   messages.
 
  Calling this an exception creates the impression, that $1 in a message
  is the same as in an object.
 
   Without an exception at all, it should be easier to get it, as I
   understand.
 
  Agreed. But currently, the only thing that makes $0 in a message
  exceptional
  is the fact, that it has no meaning at all. Making it be replaced by the
  canvas identifier wouldn't make it less exceptional at all.
 
  roman
 
 
 
 
 
  ___
  Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail:
  http://mail.yahoo.de
 
 

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Justin Glenn Smith
Alexandre Porres wrote:
 hmm, I am sorry, I don't think I got what you meant... could you give an
 example please?
 
 The way I see is that $1...$n are related to the inheritance concept. They
 could be used inside [send~]  [receive~] objects to force some sort of
 locality, but you can't really guarantee locality by that, it is just some
 way around that is not 100% safe, cause if you have [s $1-gain] in an
 abstraction, and $1 inheriting A for instance, a [s A-gain] object in a
 parent patch (or even on another opened patch) would still get the value
 globally.

A frequent pd design pattern is to have a subpatch that wants to, for example,
tell its own subpatch about a unique array name or receive or receive~ object.

The way this is commonly done is to make $0 of the subpatch the first argument
to the subpatch's subpatch.


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Matt Barber
I am saying two things:

1) Without $0 or something similar, the only way to guarantee similar
locality would be through use of $1 or $n -- you would have to
manually give each instance an instance number.  Sometimes you even
want to be able to group instances in the way you suggested.  I'm not
sure of the history of Pd, but if $0 was implemented after
abstractions with arguments, then manually assigning locality was
probably necessary.

2) Sometimes $0 NEEDS to be inherited (probably as $1 or some such) by
various helper abstractions within a larger, higher-functioning
abstraction.  This is especially the case with dynamic patching --
imagine, say, a bell synthesis patch using a dynamically created
bank of enveloped oscillator abstractions.  In that case, you'd want
each oscillator abstraction to [throw~] to the same [catch~] within
the parent instrument abstraction.  To do this, you could have
[catch~ $0-out] within the parent, and [throw $1-out] within each
child, while passing the parent's $0 to the children.

So all I'm saying is that $1-$n often plays a really important role in
locality, in addition to a number of other things, and to me it seems
almost natural to use $0 as an analogy for this role.  I personally
love the idea of using $0 as the selector of the abstraction -- its
name or filename, and $$ as its ID, but too late for that now.

Matt

On Fri, Nov 13, 2009 at 3:01 PM, Alexandre Porres por...@gmail.com wrote:
 hmm, I am sorry, I don't think I got what you meant... could you give an
 example please?
 The way I see is that $1...$n are related to the inheritance concept. They
 could be used inside [send~]  [receive~] objects to force some sort of
 locality, but you can't really guarantee locality by that, it is just some
 way around that is not 100% safe, cause if you have [s $1-gain] in an
 abstraction, and $1 inheriting A for instance, a [s A-gain] object in a
 parent patch (or even on another opened patch) would still get the value
 globally.
 cheers
 alex

 On Fri, Nov 13, 2009 at 5:28 PM, Matt Barber brbrof...@gmail.com wrote:

 Without $0, one would have to use $1 ... $n for locality.  $0 of a
 parent patch often needs to be passed as $1 to a child for proper
 locality, for instance, so I don't think they are necessarily THAT
 different conceptually.

 Matt

 On Fri, Nov 13, 2009 at 11:49 AM, Alexandre Porres por...@gmail.com
 wrote:
  Calling this an exception creates
  the impression, that $1 in a message
  is the same as in an object.
  Hmm, I see you have a point! But I am just used to consider $0 and
  $1, $2
  ... $n different/separate things, being $0 solely a locality sintax.
  Putting them as separate concepts I see $1, $2 ... $n as two different
  things wether in messages or objects, and that $0 is just useless in
  messages.
  Anyway, I am cool with what needs to be done in order to put $0 in
  messages, I still think it's a bit of an unnecessary hassle, but it
  ain't
  that much of a big deal after all.
  The thing that had no other way around was using the Find feature to
  actually find them, so I thought about bringing this all up: the
  hassle and
  the problem.
  I now see that uncheking whole word in the new version is just another
  way around rather than actually getting the Find feature to look for
  $0,
  or even for the window number once we explicitly tell it which one it
  is.
  So, nerverminding about $0 in messages, I would still make a point
  here
  for the Find feature to be able to find $0, I hope it isn't much
  hassle
  getting it to do so.
  Thanks a bunch folks!
  Cheers
  alex
 
  On Fri, Nov 13, 2009 at 8:03 AM, Roman Haefeli reduzie...@yahoo.de
  wrote:
 
 
 
  Am 12.11.09 17:21 schrieb Alexandre Porres unter por...@gmail.com:
 
   But I totally disagree, I have been teaching a lot basic Pd around,
   and
   people
   always get confused and think they can just throw $0 in messages.
   So I
   have
   to state and reinforce that there is an exception that it doesn't
   work
   on
   messages.
 
  Calling this an exception creates the impression, that $1 in a message
  is the same as in an object.
 
   Without an exception at all, it should be easier to get it, as I
   understand.
 
  Agreed. But currently, the only thing that makes $0 in a message
  exceptional
  is the fact, that it has no meaning at all. Making it be replaced by
  the
  canvas identifier wouldn't make it less exceptional at all.
 
  roman
 
 
 
 
 
  ___
  Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo!
  Mail:
  http://mail.yahoo.de
 
 



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Mathieu Bouchard

On Fri, 13 Nov 2009, Roman Haefeli wrote:

On Fri, 2009-11-13 at 18:08 +0100, IOhannes m zmoelnig wrote:

The only thing i don't really get: Why seems there some agreement, that
using $0 to get the selector could be confusing?

because i want to get the selector of an object-box as well (it's name).

What the hell is the selector of an object box?


when an objectbox is created, its contents («binbuf») are $-evaluated as 
when a messagebox receives a message (but commas and semicolons are left 
untouched), and then the whole contents are sent to pd_objectmaker as a 
message. therefore [moses 42] has receiver=pd_objectmaker, 
selector=moses, $1=42.


The selector is the creator's name, which is usually the same as the 
class' name, but not always (because aliases are possible). The difference 
is mostly only visible in the default names of helpfiles. I often say that 
the classname is the selector, even though it's not technically true, 
because it's almost true (a damn lot more than calling it the objectname, 
anyway).


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Alexandre Porres
Oh, cool, yeah, that is a nice design, I see it now.

but anyways, I still see $0 as locality and the rest as inheritance, as you
are just still making a child inherit (by $1) a parent's local $0 ID.

 I personally love the idea of using $0 as the selector
 of the abstraction -- its name or filename, and $$ as
 its ID, but too late for that now.

now that wasn't clear for me, but if we keep on it I suggest we might need
to change the thread name maybe.

I hope this thread would stick to the point that the find feature could do a
better job by finding $0, and that $0 could be used in messages since it
is useless the way it is.

thanks
alex


On Fri, Nov 13, 2009 at 6:27 PM, Matt Barber brbrof...@gmail.com wrote:

 I am saying two things:

 1) Without $0 or something similar, the only way to guarantee similar
 locality would be through use of $1 or $n -- you would have to
 manually give each instance an instance number.  Sometimes you even
 want to be able to group instances in the way you suggested.  I'm not
 sure of the history of Pd, but if $0 was implemented after
 abstractions with arguments, then manually assigning locality was
 probably necessary.

 2) Sometimes $0 NEEDS to be inherited (probably as $1 or some such) by
 various helper abstractions within a larger, higher-functioning
 abstraction.  This is especially the case with dynamic patching --
 imagine, say, a bell synthesis patch using a dynamically created
 bank of enveloped oscillator abstractions.  In that case, you'd want
 each oscillator abstraction to [throw~] to the same [catch~] within
 the parent instrument abstraction.  To do this, you could have
 [catch~ $0-out] within the parent, and [throw $1-out] within each
 child, while passing the parent's $0 to the children.

 So all I'm saying is that $1-$n often plays a really important role in
 locality, in addition to a number of other things, and to me it seems
 almost natural to use $0 as an analogy for this role.  I personally
 love the idea of using $0 as the selector of the abstraction -- its
 name or filename, and $$ as its ID, but too late for that now.

 Matt

 On Fri, Nov 13, 2009 at 3:01 PM, Alexandre Porres por...@gmail.com
 wrote:
  hmm, I am sorry, I don't think I got what you meant... could you give an
  example please?
  The way I see is that $1...$n are related to the inheritance concept.
 They
  could be used inside [send~]  [receive~] objects to force some sort of
  locality, but you can't really guarantee locality by that, it is just
 some
  way around that is not 100% safe, cause if you have [s $1-gain] in an
  abstraction, and $1 inheriting A for instance, a [s A-gain] object in a
  parent patch (or even on another opened patch) would still get the value
  globally.
  cheers
  alex
 
  On Fri, Nov 13, 2009 at 5:28 PM, Matt Barber brbrof...@gmail.com
 wrote:
 
  Without $0, one would have to use $1 ... $n for locality.  $0 of a
  parent patch often needs to be passed as $1 to a child for proper
  locality, for instance, so I don't think they are necessarily THAT
  different conceptually.
 
  Matt
 
  On Fri, Nov 13, 2009 at 11:49 AM, Alexandre Porres por...@gmail.com
  wrote:
   Calling this an exception creates
   the impression, that $1 in a message
   is the same as in an object.
   Hmm, I see you have a point! But I am just used to consider $0 and
   $1, $2
   ... $n different/separate things, being $0 solely a locality
 sintax.
   Putting them as separate concepts I see $1, $2 ... $n as two
 different
   things wether in messages or objects, and that $0 is just useless in
   messages.
   Anyway, I am cool with what needs to be done in order to put $0 in
   messages, I still think it's a bit of an unnecessary hassle, but it
   ain't
   that much of a big deal after all.
   The thing that had no other way around was using the Find feature to
   actually find them, so I thought about bringing this all up: the
   hassle and
   the problem.
   I now see that uncheking whole word in the new version is just
 another
   way around rather than actually getting the Find feature to look for
   $0,
   or even for the window number once we explicitly tell it which one it
   is.
   So, nerverminding about $0 in messages, I would still make a point
   here
   for the Find feature to be able to find $0, I hope it isn't much
   hassle
   getting it to do so.
   Thanks a bunch folks!
   Cheers
   alex
  
   On Fri, Nov 13, 2009 at 8:03 AM, Roman Haefeli reduzie...@yahoo.de
   wrote:
  
  
  
   Am 12.11.09 17:21 schrieb Alexandre Porres unter por...@gmail.com
 :
  
But I totally disagree, I have been teaching a lot basic Pd around,
and
people
always get confused and think they can just throw $0 in messages.
So I
have
to state and reinforce that there is an exception that it doesn't
work
on
messages.
  
   Calling this an exception creates the impression, that $1 in a
 message
   is the same as in an object.
  
Without an exception at all, 

Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Phil Stone

Matt Barber wrote:

I am saying two things:

1) Without $0 or something similar, the only way to guarantee similar
locality would be through use of $1 or $n -- you would have to
manually give each instance an instance number.  Sometimes you even
want to be able to group instances in the way you suggested.  I'm not
sure of the history of Pd, but if $0 was implemented after
abstractions with arguments, then manually assigning locality was
probably necessary.

2) Sometimes $0 NEEDS to be inherited (probably as $1 or some such) by
various helper abstractions within a larger, higher-functioning
abstraction.  This is especially the case with dynamic patching --
imagine, say, a bell synthesis patch using a dynamically created
bank of enveloped oscillator abstractions.  In that case, you'd want
each oscillator abstraction to [throw~] to the same [catch~] within
the parent instrument abstraction.  To do this, you could have
[catch~ $0-out] within the parent, and [throw $1-out] within each
child, while passing the parent's $0 to the children.

So all I'm saying is that $1-$n often plays a really important role in
locality, in addition to a number of other things, and to me it seems
almost natural to use $0 as an analogy for this role.


Good points, all.


I personally
love the idea of using $0 as the selector of the abstraction -- its
name or filename, and $$ as its ID, but too late for that now.
  


I can't disagree with this, either.  Though, in the spirit of wishful 
thinking, I'll go it one further: abstraction arguments would ideally 
have a different form than message arguments.  E.g. #0...#n for message 
args., and $0...$n for abstraction args. (or, the other way around, 
whatever)...  Then (and only then, I think) would this discussion not be 
on auto-repeat here.




Phil
http://www.pkstonemusic.com/pubmusic.html

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Matteo Sisti Sette

 The way I see is that $1...$n are related to the inheritance concept.
 They
 could be used inside [send~]  [receive~] objects to force some
 sort of
 locality, but you can't really guarantee locality by that, it is just
 some way around that is not 100% safe

There's no guarantee of locality whatsoever in using $0 either. If you 
create a [send $0-xxx] and the identifier of the containing (instance of 
an) abstraction happens to be 1032, and then in some other patch or 
abstraction you have a literal [receive 1032-xxx], the locality will 
be lost.



Using $0 as a prefix to the name of local sends and receives preserves 
locality only provided that you never use literal numbers as a prefix 
in the name of sends or receives.


So $0 is not so different from other creation arguments (i.e. $1...); 
the difference is that it is assigned automatically by the system and 
that it is done in such a way that no two instances of any abstraction 
will have the same value of $0.


Using it for creating local names is just one way of using it, just as 
you can use explicit creation arguments for the same purpose (by taking 
the responsibility of ensuring uniqueness), although it is probably its 
main intended use.


--
Matteo Sisti Sette
matteosistise...@gmail.com
http://www.matteosistisette.com

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Roman Haefeli
Finally, we agree. I also think, that using $ twice is confusing, when
the uses are so different.

Personally, i wouldn't mind, if Pd would be changed instantaneously
while breaking backwards compatibility. But i don't think, that it is
realistic.

roman



On Fri, 2009-11-13 at 13:16 -0800, Phil Stone wrote:
 Matt Barber wrote:
  I am saying two things:
 
  1) Without $0 or something similar, the only way to guarantee similar
  locality would be through use of $1 or $n -- you would have to
  manually give each instance an instance number.  Sometimes you even
  want to be able to group instances in the way you suggested.  I'm not
  sure of the history of Pd, but if $0 was implemented after
  abstractions with arguments, then manually assigning locality was
  probably necessary.
 
  2) Sometimes $0 NEEDS to be inherited (probably as $1 or some such) by
  various helper abstractions within a larger, higher-functioning
  abstraction.  This is especially the case with dynamic patching --
  imagine, say, a bell synthesis patch using a dynamically created
  bank of enveloped oscillator abstractions.  In that case, you'd want
  each oscillator abstraction to [throw~] to the same [catch~] within
  the parent instrument abstraction.  To do this, you could have
  [catch~ $0-out] within the parent, and [throw $1-out] within each
  child, while passing the parent's $0 to the children.
 
  So all I'm saying is that $1-$n often plays a really important role in
  locality, in addition to a number of other things, and to me it seems
  almost natural to use $0 as an analogy for this role.
 
 Good points, all.
 
  I personally
  love the idea of using $0 as the selector of the abstraction -- its
  name or filename, and $$ as its ID, but too late for that now.

 
 I can't disagree with this, either.  Though, in the spirit of wishful 
 thinking, I'll go it one further: abstraction arguments would ideally 
 have a different form than message arguments.  E.g. #0...#n for message 
 args., and $0...$n for abstraction args. (or, the other way around, 
 whatever)...  Then (and only then, I think) would this discussion not be 



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Hans-Christoph Steiner


Someone could write their own message box object and make it do  
whatever they want.  Then you have both: a new interface and backwards  
compatibility.  The message box could just be a GUI object like any  
other, there is nothing inherently unique about it.


.hc

On Nov 13, 2009, at 6:50 PM, Roman Haefeli wrote:


Finally, we agree. I also think, that using $ twice is confusing, when
the uses are so different.

Personally, i wouldn't mind, if Pd would be changed instantaneously
while breaking backwards compatibility. But i don't think, that it is
realistic.

roman



On Fri, 2009-11-13 at 13:16 -0800, Phil Stone wrote:

Matt Barber wrote:

I am saying two things:

1) Without $0 or something similar, the only way to guarantee  
similar

locality would be through use of $1 or $n -- you would have to
manually give each instance an instance number.  Sometimes you even
want to be able to group instances in the way you suggested.  I'm  
not

sure of the history of Pd, but if $0 was implemented after
abstractions with arguments, then manually assigning locality was
probably necessary.

2) Sometimes $0 NEEDS to be inherited (probably as $1 or some  
such) by

various helper abstractions within a larger, higher-functioning
abstraction.  This is especially the case with dynamic patching --
imagine, say, a bell synthesis patch using a dynamically created
bank of enveloped oscillator abstractions.  In that case, you'd want
each oscillator abstraction to [throw~] to the same [catch~] within
the parent instrument abstraction.  To do this, you could have
[catch~ $0-out] within the parent, and [throw $1-out] within each
child, while passing the parent's $0 to the children.

So all I'm saying is that $1-$n often plays a really important  
role in
locality, in addition to a number of other things, and to me it  
seems

almost natural to use $0 as an analogy for this role.


Good points, all.


I personally
love the idea of using $0 as the selector of the abstraction -- its
name or filename, and $$ as its ID, but too late for that now.



I can't disagree with this, either.  Though, in the spirit of wishful
thinking, I'll go it one further: abstraction arguments would ideally
have a different form than message arguments.  E.g. #0...#n for  
message

args., and $0...$n for abstraction args. (or, the other way around,
whatever)...  Then (and only then, I think) would this discussion  
not be




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list








[T]he greatest purveyor of violence in the world today [is] my own  
government. - Martin Luther King, Jr.





___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Hans-Christoph Steiner


Here's my summary of the proposals mentioned here:

I agree that $0 is totally arbitrary and is not inherintly bound to  
object boxes. I think this strongest proposed fix is to introduce $$  
which works in both object and message boxes, its a nice parallel to  
Bourne Shell syntax.  On that note, I think this should also come with  
Bourne Shell's $# for count of argument and $@ for a list of all  
arguments.  I think $$, $#, and $@ should work in both message and  
object boxes. So:


messages:
- $$ provides unique ID number
- $# provides argument count from incoming message
- $@ provides the list of arguments from incoming message

objects:
- $$ provides unique ID number
- $# provides argument count from incoming message
- $@ provides the list of arguments from incoming message

Now, all we need is someone to code  it :) I am certainly willing to  
try such a patch in the Pd-extended test builds.  And if it is proven  
to work without causing problems, then it could be included in final  
release, and hopefully work its way into Pd-vanilla as well.


I guess the place to start is someone putting together a proposal wiki  
page so we can document all the details.  Here's the place for it:

http://puredata.info/dev

.hc




Man has survived hitherto because he was too ignorant to know how to  
realize his wishes.  Now that he can realize them, he must either  
change them, or perish.-William Carlos Williams




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-13 Thread Phil Stone

Roman Haefeli wrote:

Finally, we agree. I also think, that using $ twice is confusing, when
the uses are so different.

Personally, i wouldn't mind, if Pd would be changed instantaneously
while breaking backwards compatibility. But i don't think, that it is
realistic.

roman
  


Actually, all it would take to convert all old patches to this new form 
is one line of perl with a well-constructed regular expression.  I 
agree, still, that it is probably not going to happen.



Phil



On Fri, 2009-11-13 at 13:16 -0800, Phil Stone wrote:
  

Matt Barber wrote:


I am saying two things:

1) Without $0 or something similar, the only way to guarantee similar
locality would be through use of $1 or $n -- you would have to
manually give each instance an instance number.  Sometimes you even
want to be able to group instances in the way you suggested.  I'm not
sure of the history of Pd, but if $0 was implemented after
abstractions with arguments, then manually assigning locality was
probably necessary.

2) Sometimes $0 NEEDS to be inherited (probably as $1 or some such) by
various helper abstractions within a larger, higher-functioning
abstraction.  This is especially the case with dynamic patching --
imagine, say, a bell synthesis patch using a dynamically created
bank of enveloped oscillator abstractions.  In that case, you'd want
each oscillator abstraction to [throw~] to the same [catch~] within
the parent instrument abstraction.  To do this, you could have
[catch~ $0-out] within the parent, and [throw $1-out] within each
child, while passing the parent's $0 to the children.

So all I'm saying is that $1-$n often plays a really important role in
locality, in addition to a number of other things, and to me it seems
almost natural to use $0 as an analogy for this role.
  

Good points, all.



I personally
love the idea of using $0 as the selector of the abstraction -- its
name or filename, and $$ as its ID, but too late for that now.
  
  
I can't disagree with this, either.  Though, in the spirit of wishful 
thinking, I'll go it one further: abstraction arguments would ideally 
have a different form than message arguments.  E.g. #0...#n for message 
args., and $0...$n for abstraction args. (or, the other way around, 
whatever)...


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-12 Thread cyrille henry



Alexandre Porres a écrit :

Oh wow, no wonder I didn't know :)

Ok, great, I will just wait for the official release :)

pd 0.42 is in the air for about 1 year,
pd 0.42-5 was officially release 6 month ago.
http://crca.ucsd.edu/~msp/software.html

Cyrille



Anyway, It still bothers me not being able to deal with $0 on 
messages, what you guys think? is there a good reason for it to be this 
way? Or is it something that could be easily updated on a further version?


Thanks
Alex


On Wed, Nov 11, 2009 at 9:32 PM, Max abonneme...@revolwear.com 
mailto:abonneme...@revolwear.com wrote:


Am 12.11.2009 um 00:19 schrieb Alexandre Porres:

Hmmm, it does look simpler than I thought :)

Now, where can I find this pretty Whole Word Toggle?

in the devel version
http://autobuild.puredata.org/auto-build/latest/




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-12 Thread Alexandre Porres
Hey, sure, I meant the Pd-Extended version...  :)

On Thu, Nov 12, 2009 at 7:49 AM, cyrille henry c...@chnry.net wrote:



 Alexandre Porres a écrit :

  Oh wow, no wonder I didn't know :)

 Ok, great, I will just wait for the official release :)

 pd 0.42 is in the air for about 1 year,
 pd 0.42-5 was officially release 6 month ago.
 http://crca.ucsd.edu/~msp/software.html

 Cyrille


 Anyway, It still bothers me not being able to deal with $0 on messages,
 what you guys think? is there a good reason for it to be this way? Or is it
 something that could be easily updated on a further version?

 Thanks
 Alex


 On Wed, Nov 11, 2009 at 9:32 PM, Max abonneme...@revolwear.com mailto:
 abonneme...@revolwear.com wrote:

Am 12.11.2009 um 00:19 schrieb Alexandre Porres:

Hmmm, it does look simpler than I thought :)

Now, where can I find this pretty Whole Word Toggle?

in the devel version
http://autobuild.puredata.org/auto-build/latest/



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-12 Thread glerm soares
2009/11/12 Alexandre Porres por...@gmail.com

 Hey, sure, I meant the Pd-Extended version...  :)


http://autobuild.puredata.info/auto-build/latest/

the latest is always here.

abraço
glerm
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-12 Thread Matt Barber
If you're interested, there was a huge thread about this in February,
starting about here:

http://lists.puredata.info/pipermail/pd-list/2009-02/067889.html

It continues, too -- it will look like the thread dies out, but if
you look later in that month there will be many more posts with the
same subject.

Matt


 yep, sure, it works, but, anyway, I just think it would be easier for some
 operations if we could use $0 in messages, that's all...

 Thanks

 Cheers

 Alex

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-12 Thread Alexandre Porres
hmm, great, thanks, that is what I wondered, if anyone had bothered to bring
this up.

Anyway, from the thread:

you are violating the 3rd rule of $-expansion: there is no $0 in
message-boxes.


I can deal around with it... but I just wonder if this third rule could be
easily revised/changed. I don't see much of a problem, and it would make
some stuff easier. So, here is my plead in favor of this case, I support the
cause...

But if you say that it would be a pain in the ass, or argue that such rule
must be mantained for some logic reason, I am cool.

I've read something about:

it would make $0 be even more complicated to understand


But I totally disagree, I have been teaching a lot basic Pd around, and
people always get confused and think they can just throw $0 in messages.
So I have to state and reinforce that there is an exception that it doesn't
work on messages. Without an exception at all, it should be easier to get
it, as I understand.

And despite all that, as I see, $0 on messages is just not good for
anything. So, completely useless... it is just like putting a Zero...

Sorry for insisting anyway...

Thanks a lot


On Thu, Nov 12, 2009 at 11:25 AM, Matt Barber brbrof...@gmail.com wrote:

 If you're interested, there was a huge thread about this in February,
 starting about here:

 http://lists.puredata.info/pipermail/pd-list/2009-02/067889.html

 It continues, too -- it will look like the thread dies out, but if
 you look later in that month there will be many more posts with the
 same subject.

 Matt


  yep, sure, it works, but, anyway, I just think it would be easier for
 some
  operations if we could use $0 in messages, that's all...
 
  Thanks
 
  Cheers
 
  Alex

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-12 Thread Frank Barknecht
Hallo,
Alexandre Porres hat gesagt: // Alexandre Porres wrote:

 But I totally disagree, I have been teaching a lot basic Pd around, and
 people always get confused and think they can just throw $0 in messages.

That may be because your students assume, that $1 in a message box is the same
as $1 in an object box when in fact it's something different.

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-12 Thread Mathieu Bouchard

On Fri, 13 Nov 2009, Frank Barknecht wrote:

Alexandre Porres hat gesagt: // Alexandre Porres wrote:

But I totally disagree, I have been teaching a lot basic Pd around, and
people always get confused and think they can just throw $0 in messages.

That may be because your students assume, that $1 in a message box is the same
as $1 in an object box when in fact it's something different.


That may be because you assume that objectboxes' $0 must have something to 
do with $1,$2,$3,... when in fact it's something different.


  $3 stands for ce_argv[2]
  $2 stands for ce_argv[1]
  $1 stands for ce_argv[0]
  $0 stands for ce_dollarzero

it's a special case no matter what.

 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-12 Thread Phil Stone

Mathieu Bouchard wrote:

On Fri, 13 Nov 2009, Frank Barknecht wrote:

Alexandre Porres hat gesagt: // Alexandre Porres wrote:

But I totally disagree, I have been teaching a lot basic Pd around, and
people always get confused and think they can just throw $0 in 
messages.
That may be because your students assume, that $1 in a message box is 
the same

as $1 in an object box when in fact it's something different.


That may be because you assume that objectboxes' $0 must have 
something to do with $1,$2,$3,... when in fact it's something different.


  $3 stands for ce_argv[2]
  $2 stands for ce_argv[1]
  $1 stands for ce_argv[0]
  $0 stands for ce_dollarzero

it's a special case no matter what.


Right.  Which neatly brings the question back around to why can't $0 be 
used in message boxes?  I've said this before (to no avail): it is well 
understood that $0 has no meaning in *messages* -- however, this is not 
a good reason why $0 can't be used in *message boxes.*


Since 1024-foo (where 1024 represents the canvas-identifier), *does* 
have meaning in messages, why must we jump through (admittedly minor, 
but still quite annoying) hoops just to get that canvas-identifier into 
a message?


It probably belongs in the some things will never change in Pd 
category; therefore we must resign ourselves to this discussion 
re-appearing on a regular basis.



Phil Stone
http://www.pkstonemusic.com/pubmusic.html





___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Finding $0 and dealing with it in messages

2009-11-11 Thread Alexandre Porres
Hi folks, what's up? Hope you're all well.

I find it somewhat annoying that $0 doesn't work on messages, is it really
impossible?

Now, the worst part is that if you need to go to the find menu and search
for $0-something it does not find it!!! Is there any way around it?

I even tried sending a message to pd properly but it insists on saying
things like 1002-something not found...

Wouldn't it be nice if some core code changes were made so finding $0 and
dealing with it in messages would work?

I wouldn't know how to do it anyway...

Does this bother other people who knows how to?  :)

Thanks a lot

See ya
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-11 Thread cyrille henry



Alexandre Porres a écrit :

Hi folks, what's up? Hope you're all well.

I find it somewhat annoying that $0 doesn't work on messages, is it 
really impossible?


Now, the worst part is that if you need to go to the find menu and 
search for $0-something it does not find it!!! Is there any way around it?

search for -something and unclick whole word toggle.
it should work.

c



I even tried sending a message to pd properly but it insists on saying 
things like 1002-something not found...


Wouldn't it be nice if some core code changes were made so finding $0 
and dealing with it in messages would work?


I wouldn't know how to do it anyway... 


Does this bother other people who knows how to?  :)

Thanks a lot

See ya




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-11 Thread Alexandre Porres
Hmmm, it does look simpler than I thought :)

Now, where can I find this pretty Whole Word Toggle?

Can't seem to find it on my Pd-extended for Mac OS.

I will look harder though.

thanks a bunch

On Wed, Nov 11, 2009 at 8:01 PM, cyrille henry c...@chnry.net wrote:



 Alexandre Porres a écrit :

  Hi folks, what's up? Hope you're all well.

 I find it somewhat annoying that $0 doesn't work on messages, is it really
 impossible?

 Now, the worst part is that if you need to go to the find menu and search
 for $0-something it does not find it!!! Is there any way around it?

 search for -something and unclick whole word toggle.
 it should work.

 c


 I even tried sending a message to pd properly but it insists on saying
 things like 1002-something not found...

 Wouldn't it be nice if some core code changes were made so finding $0
 and dealing with it in messages would work?

 I wouldn't know how to do it anyway...
 Does this bother other people who knows how to?  :)

 Thanks a lot

 See ya


 

 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-11 Thread Hans-Christoph Steiner


the 'whole word thing was introducted in 0.42.5

.hc

On Nov 11, 2009, at 6:19 PM, Alexandre Porres wrote:


Hmmm, it does look simpler than I thought :)

Now, where can I find this pretty Whole Word Toggle?

Can't seem to find it on my Pd-extended for Mac OS.

I will look harder though.

thanks a bunch

On Wed, Nov 11, 2009 at 8:01 PM, cyrille henry c...@chnry.net wrote:


Alexandre Porres a écrit :

Hi folks, what's up? Hope you're all well.

I find it somewhat annoying that $0 doesn't work on messages, is it  
really impossible?


Now, the worst part is that if you need to go to the find menu and  
search for $0-something it does not find it!!! Is there any way  
around it?

search for -something and unclick whole word toggle.
it should work.

c


I even tried sending a message to pd properly but it insists on  
saying things like 1002-something not found...


Wouldn't it be nice if some core code changes were made so finding  
$0 and dealing with it in messages would work?


I wouldn't know how to do it anyway...
Does this bother other people who knows how to?  :)

Thanks a lot

See ya




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list







kill your television


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-11 Thread Max

Am 12.11.2009 um 00:19 schrieb Alexandre Porres:

Hmmm, it does look simpler than I thought :)

Now, where can I find this pretty Whole Word Toggle?

in the devel version
http://autobuild.puredata.org/auto-build/latest/

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-11 Thread glerm soares
|bang/
|
[f $0]
|
[makefilename %d-sample]
|
[set $1/
|
|window_number-sample/  -- that's what you need.

abraçz
glerm
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-11 Thread Alexandre Porres
Oh wow, no wonder I didn't know :)

Ok, great, I will just wait for the official release :)

Anyway, It still bothers me not being able to deal with $0 on messages,
what you guys think? is there a good reason for it to be this way? Or is it
something that could be easily updated on a further version?

Thanks
Alex


On Wed, Nov 11, 2009 at 9:32 PM, Max abonneme...@revolwear.com wrote:

 Am 12.11.2009 um 00:19 schrieb Alexandre Porres:

  Hmmm, it does look simpler than I thought :)

 Now, where can I find this pretty Whole Word Toggle?

 in the devel version
 http://autobuild.puredata.org/auto-build/latest/

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-11 Thread Alexandre Porres
thanks glerm, I had tried that, but it doesn't work on the find window...



On Wed, Nov 11, 2009 at 9:38 PM, glerm soares organi...@gmail.com wrote:

 |bang/
 |
 [f $0]
 |
 [makefilename %d-sample]
 |
 [set $1/
 |
 |window_number-sample/  -- that's what you need.

 abraçz
 glerm

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-11 Thread Mike Moser-Booth




Have you tried:

[bang(
|
[f $0]
|
[$1-message(

.mmb

Alexandre Porres wrote:
Oh wow, no wonder I didn't know :)
  
  
  Ok, great, I will just wait for the official release :)
  
  
  Anyway, It still bothers me not being able to deal with "$0" on
messages, what you guys think? is there a good reason for it to be this
way? Or is it something that could be easily updated on a further
version?
  
  
  Thanks
  Alex
  
  
  On Wed, Nov 11, 2009 at 9:32 PM, Max abonneme...@revolwear.com
wrote:
  Am
12.11.2009 um 00:19 schrieb Alexandre Porres:


Hmmm, it does look simpler than I thought :)
  
Now, where can I find this pretty "Whole Word" Toggle?


in the devel version
http://autobuild.puredata.org/auto-build/latest/
  
  
  
  
  

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
  





___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Finding $0 and dealing with it in messages

2009-11-11 Thread Alexandre Porres
yep, sure, it works, but, anyway, I just think it would be easier for some
operations if we could use $0 in messages, that's all...

Thanks

Cheers

Alex

On Thu, Nov 12, 2009 at 3:00 AM, Mike Moser-Booth mmoserbo...@gmail.comwrote:

  Have you tried:

 [bang(
 |
 [f $0]
 |
 [$1-message(

 .mmb

 Alexandre Porres wrote:

 Oh wow, no wonder I didn't know :)

  Ok, great, I will just wait for the official release :)

  Anyway, It still bothers me not being able to deal with $0 on messages,
 what you guys think? is there a good reason for it to be this way? Or is it
 something that could be easily updated on a further version?

  Thanks
 Alex


 On Wed, Nov 11, 2009 at 9:32 PM, Max abonneme...@revolwear.com wrote:

 Am 12.11.2009 um 00:19 schrieb Alexandre Porres:

  Hmmm, it does look simpler than I thought :)

 Now, where can I find this pretty Whole Word Toggle?

  in the devel version
 http://autobuild.puredata.org/auto-build/latest/


  --

 ___pd-l...@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list