Hello, I've updated on some computer pd-0.37 to 0.40, and passed a lot of time to find out an error caused by [select], attached is the mistake I've found out in my old, huge, and ugly patch. With simple words, could you people make something with error messages to not wasting hours of debbugging, many thanks in advance for any effort in that way, :).
Hallo, Patrice Colet hat gesagt: // Patrice Colet wrote:
Hello, I've updated on some computer pd-0.37 to 0.40, and passed a lot of time to find out an error caused by [select], attached is the mistake I've found out in my old, huge, and ugly patch. With simple words, could you people make something with error messages to not wasting hours of debbugging, many thanks in advance for any effort in that way, :).
You can only sent a float to the right inlet of a [select] initialized in float-mode ([select]s, that don't have a symbol as argument, are in float-mode). Sending a bang into the second inlet instead is an error. I admit that it's a bit strange, that a naked "bang" message gives a different error message (no method for "bang") than a bang sent through [t a] (no method for "list"), but otherwise the error message here is quite clear, isn't it? Empty lists are equivalent to bang.
Frank Barknecht _ ______footils.org_ __goto10.org__
Frank Barknecht a écrit :
Hallo,
You can only sent a float to the right inlet of a [select] initialized in float-mode ([select]s, that don't have a symbol as argument, are in float-mode).
Then I guess this feature came out with versions > 0.37
Sending a bang into the second inlet instead is an error. I admit that it's a bit strange, that a naked "bang" message gives a different error message (no method for "bang") than a bang sent through [t a] (no method for "list"), but otherwise the error message here is quite clear, isn't it? Empty lists are equivalent to bang.
Well, from my little point of view it's a pity that pd couldn't find such error.
Ciao
On Sep 5, 2007, at 9:09 AM, Frank Barknecht wrote:
Hallo, Patrice Colet hat gesagt: // Patrice Colet wrote:
Hello, I've updated on some computer pd-0.37 to 0.40, and passed
a lot of time to find out an error caused by [select], attached is the
mistake I've found out in my old, huge, and ugly patch. With simple words, could you people make something with error
messages to not wasting hours of debbugging, many thanks in advance for any effort in that way, :).You can only sent a float to the right inlet of a [select] initialized in float-mode ([select]s, that don't have a symbol as argument, are in float-mode). Sending a bang into the second inlet instead is an error. I admit that it's a bit strange, that a naked "bang" message gives a different error message (no method for "bang") than a bang sent through [t a] (no method for "list"), but otherwise the error message here is quite clear, isn't it? Empty lists are equivalent to bang.
Sounds like a bug to me, please submit it to the bug tracker
http://puredata.org/dev/bugtracker
.hc
Ciao
Frank Barknecht _ ______footils.org_ __goto10.org__
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
All mankind is of one author, and is one volume; when one man dies,
one chapter is not torn out of the book, but translated into a better
language; and every chapter must be so translated.... -John Donne
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
On Sep 5, 2007, at 9:09 AM, Frank Barknecht wrote:
I admit that it's a bit strange, that a naked "bang" message gives a different error message (no method for "bang") than a bang sent through [t a] (no method for "list"), but otherwise the error message here is quite clear, isn't it? Empty lists are equivalent to bang.
Sounds like a bug to me
In [select] or in [t a]? And is it really a bug?
Frank Barknecht _ ______footils.org_ __goto10.org__
On Sep 5, 2007, at 1:48 PM, Frank Barknecht wrote:
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
On Sep 5, 2007, at 9:09 AM, Frank Barknecht wrote:
I admit that it's a bit strange, that a naked "bang" message gives a different error message (no method for "bang") than a bang sent through [t a] (no method for "list"), but otherwise the error
message here is quite clear, isn't it? Empty lists are equivalent to bang.Sounds like a bug to me
In [select] or in [t a]? And is it really a bug?
It's a bug in the error message, at the very least. This stuff needs
to be consistent, otherwise it makes it hard to understand and
debug. If [list( is equal to [bang( then it always needs to be equal
to [bang(. Right now, it is only sometimes equal to [bang(
Try defining the current behavior, then I think it's more clearly a
bug. "An empty [list( is a bang unless you are sending to the right
inlet of some objects, like [select]."
.hc
Ciao
Frank Barknecht _ ______footils.org_ __goto10.org__
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
You can't steal a gift. Bird gave the world his music, and if you can
hear it, you can have it. - Dizzy Gillespie
On Wed, 2007-09-05 at 19:19 -0400, Hans-Christoph Steiner wrote:
If [list( is equal to [bang( then it always needs to be equal
to [bang(. Right now, it is only sometimes equal to [bang(
have you already tried this:
[list( | [print]
pd-window says: 'print: bang' . i admit, i didn't know that before, but it seems somehow consistent, that an empty list is equal to 'bang'. do you know a case, where it is handled differently?
roman
___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
Supposedly, "list" and "bang" are identical. I think the right way to print an empty list is to print "bang". But then again, if you're asked what the selector is, I suppose it could be legitimately described as either 'list' or 'bang' - each carries a risk of confusion.
cheers Miller
On Thu, Sep 06, 2007 at 01:50:36AM +0200, Roman Haefeli wrote:
On Wed, 2007-09-05 at 19:19 -0400, Hans-Christoph Steiner wrote:
If [list( is equal to [bang( then it always needs to be equal
to [bang(. Right now, it is only sometimes equal to [bang(have you already tried this:
[list( | [print]
pd-window says: 'print: bang' . i admit, i didn't know that before, but it seems somehow consistent, that an empty list is equal to 'bang'. do you know a case, where it is handled differently?
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
This is definitely a thing that can cause confusion, that's why I
think it should be consistent throughout. So one of these is
probably wrong:
[list(
|
[select]
(no method for 'list')
[list( | [print]
(no method for 'bang')
I don't have a clear idea of which is right, but I do think that they
should give the same error.
.hc
On Sep 5, 2007, at 8:05 PM, Miller Puckette wrote:
Supposedly, "list" and "bang" are identical. I think the right way to print an empty list is to print "bang". But then again, if you're
asked what the selector is, I suppose it could be legitimately described as either 'list' or 'bang' - each carries a risk of confusion.cheers Miller
On Thu, Sep 06, 2007 at 01:50:36AM +0200, Roman Haefeli wrote:
On Wed, 2007-09-05 at 19:19 -0400, Hans-Christoph Steiner wrote:
If [list( is equal to [bang( then it always needs to be equal to [bang(. Right now, it is only sometimes equal to [bang(
have you already tried this:
[list( | [print]
pd-window says: 'print: bang' . i admit, i didn't know that
before, but it seems somehow consistent, that an empty list is equal to
'bang'. do you know a case, where it is handled differently?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
If you are not part of the solution, you are part of the problem.
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
[list( | [print]
(no method for 'bang')
I don't have a clear idea of which is right, but I do think that they
should give the same error.
Personally I would prefer it if [print] was less keen on trying to be smart and would just print "list" instead of "bang" here.
I guess, much of the confusion about Pd's message type system may come from dubious [print]-output like this, where [print] is taken to show what's really going on when in fact it's already showing a modified result.
Frank Barknecht _ ______footils.org_ __goto10.org__
On Thu, 6 Sep 2007, Roman Haefeli wrote:
have you already tried this: [list( | [print] pd-window says: 'print: bang' . i admit, i didn't know that before, but it seems somehow consistent, that an empty list is equal to 'bang'. do you know a case, where it is handled differently?
GridFlow only register a anything-method and uses the exact information from it without any equivocations whatsoever. So, [bang( is [bang( and [list( is [list( and [float 42( is a float and [list 42( is a list, that's all. It's not consistent with pd but then GridFlow was not designed to be consistent with pd... pd support was an afterthought. There's still an essential feature that depends on float/list distinctions and that I sometimes use in my patches.
The thing is, Pd gives the opportunity to every object class, of introducing that kind of inconsistency, and it's the responsibility of every external to spend several lines of code in every possible situation to make sure that it is following pd's equivocations, because pd is not doing that job for anyone.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada
On Wed, 2007-09-05 at 19:19 -0400, Hans-Christoph Steiner wrote:
Try defining the current behavior, then I think it's more clearly a
bug. "An empty [list( is a bang unless you are sending to the right
inlet of some objects, like [select]."
oops, i should have read further. i think, i totally agree with you...
roman
___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
On Wed, 2007-09-05 at 19:19 -0400, Hans-Christoph Steiner wrote:
On
It's a bug in the error message, at the very least. This stuff needs
to be consistent, otherwise it makes it hard to understand and
debug. If [list( is equal to [bang( then it always needs to be equal
to [bang(. Right now, it is only sometimes equal to [bang(Try defining the current behavior, then I think it's more clearly a
bug. "An empty [list( is a bang unless you are sending to the right
inlet of some objects, like [select]."
this behaviour kind of reminds me to this thing:
[3 ( | | [list 3( |/ [*~]
[3 ( seems to 'work', whereas [list 3( gives an error:
inlet: expected 'signal' but got 'list'
the statement, that it expected 'signal' is false, because it obviously also accepts floats.
[3 ( | | [list 3( |/ [* ]
here both work.
in the former case 'list 3' is treated as a list, in the latter case as a float. so, is 'list 3' the same as 'float 3' or not?
roman
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
Roman Haefeli wrote:
inlet: expected 'signal' but got 'list'
the statement, that it expected 'signal' is false, because it obviously also accepts floats.
but then i find it easier to find a conversion from a single number (float) into a fixed sized number-list (signal) than a conversion from an arbitrary sized list (list) into a fixed sized number-list (signal).
the former is just a constant signal whereas the latter is: a transition?
personally i would have preferred no implicit float->signal at all (use [sig~] for that. but who knows this object nowadays?). it gives confusion in constructs like
[loadbang]
|
[sig~ 100] [30( | | +----------+ | [osc~] |
does the oscillator run at 100, 30, or 130 Hz?
mga. IOhannes