[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