[PD-dev] [once] default closed...

Hans-Christoph Steiner hans at eds.org
Thu Sep 28 21:33:51 CEST 2006


On Sep 28, 2006, at 4:16 AM, Frank Barknecht wrote:

> Hallo,
> Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
>
>> So the other kind of consistency in question here is consistency of
>> usage.  All similar functions should have the same arguments, for
>> example.  Which type of consistency trumps the other?  That's the
>> question at hand.
>>
>> I personally feel that its not more linguistically consistent to have
>> [once] default open when it has no argument.  But this is
>> inconsistent in usage with similar objects ([spigot]...).
>
> I would speculate, that users would expect [once] to be open as
> default.  While I generally don't use [once] in its own right, several
> of my patches have [pd once] subpatches, and these all default to
> open. There also is a very similar abstraction in the RTC-lib called
> "first-bang", which is like a [once] that is open as default but
> additionally passes bangs coming in after the first one to a second
> outlet. Nowhere in RTC-lib [first-bang] is used with a loadbang to
> its second, "reset"-inlet.
>
> I guess, basically we disagree about what should be valued higher:
> consistency or usefulness. I consider a default-closed [once] rather
> useless. Not completely useless, but "not used 99% of the time" and
> the 1% can be dealt with through a loadbang, which is contrary to a
> default-close or default-open [spigot]: Here both versions are used
> about equally often.
>
> This actually is similar to the inconsistency of [timer]: Most of the
> time, [timer] follows a [trigger bang bang] object (or rather a [t b
> b] object which even has the same visual length as [timer]) and the
> connections are made in a non-crossed fashion. That's the (only?)
> reason, [timer] has its active inlet on the right. In this case,
> Miller also chose usefulness over consistency, and I'm glad he did.

Obviously usefulness is essential.  [once 1] would provide the  
default open behavior.  I guess it really goes back to whether it  
always makes sense to init things to zero.  Almost always it does,  
but not here.  I suppose the best of both worlds would be to be able  
to differentiate between 0 and no arg.  Then the first argument could  
be used for open/closed state, and no arg could default to open.  $#  
and $@ would do this if properly implemented.

.hc




More information about the Pd-dev mailing list