[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