[chuck-users] MAUI logic question...
Jascha Narveson
jnarveson at wesleyan.edu
Tue Nov 13 21:53:51 EST 2007
Ahoy, ChucKists -
I've just coded myself a perfectly serviceable metronome, and it
works fine except for a small nagging thing in the MAUI.
In my metronome, I have 2 toggle type buttons, "thirds" and
"sixteenths". If one is on, the other is off, so i'm always
subdividing the pulse one way or the other. As it is, if I turn
"thirds" on and off, the "sixteenth" button dutifully goes off and on
in a complementary way. If I do this, though:
- toggle "thirds" on ("quarters" stays off)
- toggle "quarters" on ("thirds" politely turns off)
- toggle "thirds" on
At this point they're *both* on. I can get back to a one-or-the-
other state by fussing around and toggling the right combo of things,
but i'd rather not do that.
I've attached just the button-related code below - i've got two
functions set up that are turning the other button on or off
depending on whether or not they're off or on. It's bending my brain
a bit to figure out why it sometimes behaves the way it does - any
insights out there?
thanks, as always,
j.
------code------
MAUI_View view;
view.size(400,200);
MAUI_Button thirds;
thirds.toggleType();
thirds.size(110,110);
thirds.position(0, 100);
thirds.name("thirds");
view.addElement(thirds);
MAUI_Button sixteenths;
sixteenths.toggleType();
sixteenths.size(110,110);
sixteenths.position(110, 100);
sixteenths.name("sixteenths");
view.addElement(sixteenths);
view.display();
fun void controlThirds()
{
while (true)
{
thirds => now;
sixteenths.state(0);
<<<"thirds on">>>;
thirds => now;
sixteenths.state(1);
<<<"thirds off">>>;
}
}
fun void controlSixteenths()
{
while (true)
{
sixteenths => now;
thirds.state(0);
<<<"sixteenths on">>>;
sixteenths => now;
thirds.state(1);
<<<"sixteenths off">>>;
}
}
spork ~ controlThirds();
spork ~ controlSixteenths();
while (true)
{
1::second => now;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20071113/d1607cdc/attachment-0001.htm
More information about the chuck-users
mailing list