[PD-dev] pd_error() for udpsend, tcpsend, etc.
Hans-Christoph Steiner
hans at at.or.at
Thu Jul 8 18:18:25 CEST 2010
On Jul 8, 2010, at 8:57 AM, Martin Peach wrote:
> IOhannes m zmoelnig wrote:
>> On 2010-07-07 04:03, Hans-Christoph Steiner wrote:
>>> Hey Martin,
>>>
>>> I've been using udpsend/udpreceive in a project and they've been
>>> great. I have one small request, which I'd happily implement if
>>> you don't want
>>> to. For the error like "not connected", it would be very handy if
>>> they
>>> used pd_error() so that the error is findable.
>>>
>> i started doing this a while ago, and eventually stopped[1] it again.
>> the reasoning behind this is:
>> as you have well observed, pd_error() allows you to find the error
>> with
>> the find menu. the target case for this is patching errors (e.g.
>> sending
>> a symbol to a float-only inlet) where you want to find the erroneous
>> code and fix it.
>> an error like "not connected" is very much unlikely to be caused
>> due to
>> a patching error. it's more likely to be caused of user-error, e.g.
>> because the given remote host is unavailable.
>> "users" (as opposed to patchers) have a different role and are
>> potentially different people. i believe that they should have a
>> different feedback. (even if patcher and user are the same person,
>> they
>> will gain more insight if they know right from the start whether the
>> problem is a syntax error or a logical error) [2]
>> it should be possible to get feedback within the patch for all errors
>> caused by user-input. so if you get "not connected", there should
>> be a
>> way for the patch to know about this. if this is the case, you can
>> manually "throw" a findeable error by means of things like
>> [canvaserror]
>> anyhow.
>
> I agree that the console should not be used for messages that can be
> handled in the patchwork. Once a message has left the patch only the
> user can handle it.
> [udpsend] currently outputs one or zero when its connection state
> changes. For in-patch control it might be better if it outputs a
> message like "connect 0" on disconnect and "connect 1" on connect.
> Then the same outlet can be used for other status messages and they
> can be routed within the patch.
> Attempting to send through an unconnected [udpsend] would then just
> cause it to emit "connect 0" from its outlet.
>
> Martin
I agree with IOhannes' idea, but the reason why I wanted to add
pd_error() was in direct response to patching errors. If a patch is
going to be self-starting, then you can't rely on a person to click
the [connect( message, for example.
I like Martin's idea of having it also output status info. I could
see these net objects having a second status outlet for outputting the
specific error info, connection status, etc. Then it would make sense
to not use pd_error() and let the user program the logic for
reconnecting, etc.
Perhaps for really simple networking, there could be a version that
does use pd_error() and is more oriented towards clicking messages.
It could use broadcast or multicast so that they don't even need to
deal with IP addresses.
.hc
----------------------------------------------------------------------------
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
More information about the Pd-dev
mailing list