   // do some periodic updates
   EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow
 
-  // BUTTON STUFF
-  //   Not using this timer to change patterns any more.  Instead check the button.
-  //     EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically
-  //
-  readbutton();  // check for button press
-
 }//end_main_loop
 
 #define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))

  leds[pos] += CHSV( gHue + random8(64), random8(128,200), random8(48,255));
}

void sinelon()
{
  // a colored dot sweeping back and forth, with fading trails

//---------------------------------------------------------------
void loop()
{
  // BUTTON STUFF
  // Not using this timer to change patterns any more.  Instead check the button.
  //   EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically
  readbutton();  // check for button press
  
  // Call the current pattern function once, updating the 'leds' array
  gPatterns[gCurrentPatternNumber]();

