     worms();
   } else if (patternId == PARTY) {
     party();
-//  } else if (patternId == SIREN) {
-//    siren();
   } else if (patternId == DISCO_TWIRL) {
     discoTwirl();
   }

  }
}

uint8_t sirenHue = 0;                                          // Starting hue value.
int8_t sirenRotation = 10;                                           // Hue rotation speed. Includes direction.
uint8_t sirenDeltahue = 10;                                         // Hue change between pixels.
bool sirenDirection = 0;                                             // I use a direction variable, so I can plug into inputs in a standar fashion.

void siren() {
  if (sirenDirection == 0) sirenHue += sirenRotation; else sirenHue -= sirenRotation; // I could use signed math, but 'thisdir' works with other routines. 
  sirenDeltahue = 1; 
  sirenRotation = 30;
  fill_rainbow(leds, NUM_LEDS, sirenHue, sirenDeltahue);
}

uint8_t thishue = 0;                                          // You can change the starting hue value for the first wave.
uint8_t thisrot = 0;                                          // You can change how quickly the hue rotates for this wave. Currently 0.
uint8_t allsat = 255;                                         // I like 'em fully saturated with colour.

int hue = 50;                 // Starting hue.
bool firstTimeRunningThroughPattern = false;

#define BEAUTIFUL_SPARKLES 1
#define DISCO_BARBER_2 2
#define DISCO_BARBER_1 3
#define SINGLE_COLOR_SPARKLES 4
#define WORMS 5
#define PARTY 6
#define DISCO_TWIRL 7
#define NIGHT_SPARKLES 8

int maxPatternId = 8;
int rotationInMillseconds = 20000; // 20 seconds for production

// Either A)
//bool holdPattern = true;
//int patternId = BEAUTIFUL_SPARKLES;
// OR B)
bool holdPattern = false;
int patternId = BEAUTIFUL_SPARKLES;

void setup() {
  delay(1000);
  Serial.begin(57600);
  LEDS.addLeds<LED_TYPE, LED_DT, COLOR_ORDER>(leds, NUM_LEDS);
  FastLED.setBrightness(max_bright);
