public void run() {
		System.out.println("run(): begin");
		try {
			while (true) {
//				System.out.println("run(): awake");

				sample = sampleAll(strings);
				StdAudio.play(sample);
				ticAll(strings);
				
				// Here's where the thread does some work
				++i;
				if ( i == 10 ) {
					i = 0;
				}
	//			showStatus( "i is " + i );

				// Now the thread checks to see if it should suspend itself
				if ( threadSuspended ) {
					synchronized( this ) {
						while ( threadSuspended ) {
							System.out.println("run(): waiting");
							wait();
						}
					}
				}
//				System.out.println("run(): requesting repaint");
				repaint();
				System.out.println("run(): sleeping");
				t.sleep( 100 );  // interval given in milliseconds
			}
		}
		catch (InterruptedException e) { }
		System.out.println("run(): end");
	}