@Override
		/**
		 * Runs in the background, timing fade in and fade out, changing the sequence, 
		 * and issuing the appropriate volume change messages.
		 */
		public void run() {
			while (!dying()) {
				// if not currently fading in or out, put the thread to sleep
				if (fadeOutGain == -1.0f && fadeInGain == 1.0f)
					snooze(3600000);
				checkFadeOut();
				// only update every 50 miliseconds (no need to peg the cpu)
				snooze(50);
			}
			// Important!
			cleanup();
		}