[PD-dev] [once] default closed...
Frank Barknecht
fbar at footils.org
Thu Sep 14 01:16:35 CEST 2006
Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
> [once] controls flow. It should take a float argument like [spigot]
> and [gate] so you can choose the default state. No argument implies
> an argument of 0. Therefore it makes sense that [once] would be
> default closed.
But then it wouldn't be [once] anymore, as I already remarked.
> If you want it to be default open, you can easily do
> [once 1].
Changing the behaviour of [once] would force anyone who was using
[once] to change their patches.
I guess we all agree that adding an argument to [once] can be
considered, however IOhannes and I both don't want this if it changes
the default behaviour.
As a compromise why not let [once] stay the way it is and as it's
used, but instead introduce a new object with a new name. I thought a
bit about this, and *if* we want an argument to [once], then this
argument should be used for a little bit more than just selecting open
or close. The most natural use for an argument I could come up with
was to select, after how many incoming messages the object should
close. Of course then the name [once] wouldn't be useful anymore as we
would also have a reaction to messages coming in "more than once".
So my idea for this object is like this:
[the_object_previously_known_as_once] would close after 0 messages,
that is, default is closed just like you wished.
[the_object_previously_known_as_once 1] would be like the old [once]
[the_object_previously_known_as_once 10] would close after 10
in-messages, that is after it has counted down like: 9, 8, 7, 6,
5, 4, 3, 2, 1, liftoff!
That's also the name I finally chose for the new
[the_object_previously_known_as_once]:
[countdown]
It's attached.
Ciao
--
Frank Barknecht _ ______footils.org_ __goto10.org__
-------------- next part --------------
#N canvas 0 0 450 300 10;
#X obj 90 30 inlet;
#X obj 90 112 spigot \$1;
#X obj 90 134 t a b;
#X obj 90 250 outlet;
#X obj 197 82 t a a;
#X obj 197 29 inlet;
#X obj 178 252 outlet;
#X obj 247 171 - 1;
#X obj 227 143 - 1;
#X obj 148 222 t a a;
#X obj 211 191 max 0;
#X obj 211 171 f;
#X obj 197 57 f \$1;
#X obj 242 30 loadbang;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 11 0;
#X connect 4 0 1 1;
#X connect 4 1 8 0;
#X connect 5 0 12 0;
#X connect 7 0 11 1;
#X connect 8 0 11 1;
#X connect 9 0 1 1;
#X connect 9 1 6 0;
#X connect 10 0 9 0;
#X connect 11 0 7 0;
#X connect 11 0 10 0;
#X connect 12 0 4 0;
#X connect 13 0 12 0;
-------------- next part --------------
#N canvas 0 0 717 324 10;
#X floatatom 306 194 5 0 0 1 countdown - -;
#X obj 234 201 print;
#X floatatom 306 141 5 0 0 0 - - -;
#X obj 432 201 print;
#X floatatom 490 139 5 0 0 0 - - -;
#X floatatom 490 190 5 0 0 1 countdown - -;
#X obj 234 169 countdown 3;
#X text 38 53 Countdown lets anything pass a certain number of times
until the countdown reaches zero.;
#X msg 234 112 boom_after_3;
#X msg 432 112 too_late;
#X obj 48 197 print;
#X floatatom 120 136 5 0 0 0 - - -;
#X floatatom 120 190 5 0 0 1 countdown - -;
#X msg 48 108 BOOM!;
#X msg 320 166 bang;
#X obj 432 169 countdown;
#X obj 48 165 countdown 1;
#X connect 2 0 6 1;
#X connect 4 0 15 1;
#X connect 6 0 1 0;
#X connect 6 1 0 0;
#X connect 8 0 6 0;
#X connect 9 0 15 0;
#X connect 11 0 16 1;
#X connect 13 0 16 0;
#X connect 14 0 6 1;
#X connect 15 0 3 0;
#X connect 15 1 5 0;
#X connect 16 0 10 0;
#X connect 16 1 12 0;
More information about the Pd-dev
mailing list