adding audible alarm to sketch

Hello. Please pardon the newbie question but I am a little stumped by this for some reason. I am using a standard neopixle library sketch from their examples (buttoncycler). I have taken some parts out and moved around to make the LED's do what I want and have used a sensor for a trigger. I am trying to add a horn into the mix and would like it to fire right as the LED's fire a few times but I can't figure out where to insert the code. I am just going to insert a simple digitalWrite command followed by delay to make the horn fire several times. Where would I need to put the code to make that happen?

Here is what I'm using for the lights

// This is a demonstration on how to use an input device to trigger changes on your neo pixels.
// You should wire a momentary push button to connect from ground to a digital IO pin.  When you
// press the button it will change to a new pixel animation.  Note that you need to press the
// button once to start the first animation!

#include <Adafruit_NeoPixel.h>

#define BUTTON_PIN   5 
#define HORN   8// Horn pin connected to digital pin 8

#define PIXEL_PIN    6    // Digital IO pin connected to the NeoPixels.

#define PIXEL_COUNT 30

// Parameter 1 = number of pixels in strip,  neopixel stick has 8
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
//   NEO_RGB     Pixels are wired for RGB bitstream
//   NEO_GRB     Pixels are wired for GRB bitstream, correct for neopixel stick
//   NEO_KHZ400  400 KHz bitstream (e.g. FLORA pixels)
//   NEO_KHZ800  800 KHz bitstream (e.g. High Density LED strip), correct for neopixel stick
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);

bool oldState = HIGH;
int showType = 0;

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
}

void loop() {
  // Get current button state.
  bool newState = digitalRead(BUTTON_PIN);

  // Check if state changed from high to low (button press).
  if (newState == LOW && oldState == HIGH) {
    // Short delay to debounce button.
    delay(20);
    // Check if button is still low after debounce.
    newState = digitalRead(BUTTON_PIN);
    if (newState == LOW) {
      showType++;
      if (showType > 9)
        showType=0;
      startShow(showType);
      pinMode(2, INPUT_PULLUP);
    }
  }

  // Set the last button state to the old state.
  oldState = newState;
}

void startShow(int i) {
  switch(i){
    case 0: colorWipe(strip.Color(0, 0, 0), 20);    // Black/off

    
 

    case 1: colorWipe(strip.Color(255, 0, 0), 20);  // Red

    case 2: colorWipe(strip.Color(0, 255, 0), 20);  // Green

    case 3: colorWipe(strip.Color(0, 0, 255), 20);  // Blue

    case 4: theaterChase(strip.Color(127,   0,   0), 20); // Red

    case 5: theaterChase(strip.Color(  0,   0, 127), 20); // Blue

    case 6: colorWipe(strip.Color(0, 0, 0), 20);    // Black/off

    case 7: colorWipe(strip.Color(255, 0, 0), 20);  // Red

    case 8: colorWipe(strip.Color(0, 255, 0), 20);  // Green

    case 9: colorWipe(strip.Color(0, 0, 255), 20);  // Blue

    case 10: theaterChase(strip.Color(127,   110,   200), 20); // Red

    case 11: theaterChase(strip.Color(  0,   255, 0), 20); // Blue

    case 12: theaterChase(strip.Color(  200,   0, 127), 20); // Blue

    case 13: theaterChase(strip.Color(  255,   255, 0), 20); // Blue

    case 14: colorWipe(strip.Color(255, 0, 0), 20);  // Red

    case 15: colorWipe(strip.Color(0, 255, 0), 20);  // Green

    case 16: colorWipe(strip.Color(0, 0, 255), 20);  // Blue

    case 17: theaterChase(strip.Color(127,   0,   0), 20); // Red

    case 18: theaterChase(strip.Color(  0,   0, 127), 20); // Blue

    case 19: colorWipe(strip.Color(0, 0, 0), 20);    // Black/off

    case 20: colorWipe(strip.Color(255, 0, 0), 20);  // Red

    case 21: colorWipe(strip.Color(0, 255, 0), 20);  // Green

    case 22: colorWipe(strip.Color(0, 0, 255), 20);  // Blue

    case 23: theaterChase(strip.Color(127,   110,   200), 20); // Red

    case 24: theaterChase(strip.Color(  0,   255, 0), 20); // Blue

    case 25: theaterChase(strip.Color(  200,   0, 127), 20); // Blue

    case 26: theaterChase(strip.Color(  255,   255, 0), 20); // Blue
   
    case 27:theaterChase(strip.Color(  0,   0, 0), 0); // Blue
 



 
  }
}

// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
  for(uint16_t i=0; i<strip.numPixels(); i++) {
    strip.setPixelColor(i, c);
    strip.show();
    delay(wait);
  }
}

void rainbow(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel((i+j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
    for(i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

//Theatre-style crawling lights.
void theaterChase(uint32_t c, uint8_t wait) {
  for (int j=0; j<10; j++) {  //do 10 cycles of chasing
    for (int q=0; q < 3; q++) {
      for (int i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, c);    //turn every third pixel on
      }
      strip.show();

      delay(wait);

      for (int i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, 0);        //turn every third pixel off
      }
    }
  }
}

//Theatre-style crawling lights with rainbow effect
void theaterChaseRainbow(uint8_t wait) {
  for (int j=0; j < 256; j++) {     // cycle all 256 colors in the wheel
    for (int q=0; q < 3; q++) {
      for (int i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, Wheel( (i+j) % 255));    //turn every third pixel on
      }
      strip.show();

      delay(wait);

      for (int i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, 0);        //turn every third pixel off
      }
    }
  }
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  WheelPos = 255 - WheelPos;
  if(WheelPos < 85) {
    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  }
  if(WheelPos < 170) {
    WheelPos -= 85;
    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
  WheelPos -= 170;
  return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);





}

Sorry to be such a dope, but I am just trying to learn. thanks in advance for any help.

At the end of each case statement there should be a

break;

Instead of quote you should have code in those square brackets.

Ok...apologies to all involved. I chose the wrong option. I will figure this out. Thank you for the suggestion on breaks....I had actually removed them intentionally and was letting each one cycle through on a button push. Let me simplify a little by removing some fluff. I should add that the original code I posted and this one both compile fine and run....I just can't figure out WHERE in the code to add the handful of code lines to make the horn fire.

Here is a working copy of the sketch.

#include <Adafruit_NeoPixel.h>

#define BUTTON_PIN   2   

#define PIXEL_PIN    6    // Digital IO pin connected to the NeoPixels.
#define HORN         7    // Horn output
#define PIXEL_COUNT 16

// Parameter 1 = number of pixels in strip,  neopixel stick has 8
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
//   NEO_RGB     Pixels are wired for RGB bitstream
//   NEO_GRB     Pixels are wired for GRB bitstream, correct for neopixel stick
//   NEO_KHZ400  400 KHz bitstream (e.g. FLORA pixels)
//   NEO_KHZ800  800 KHz bitstream (e.g. High Density LED strip), correct for neopixel stick
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);

bool oldState = HIGH;
int showType = 0;

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode (HORN, OUTPUT);
  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
}

void loop() {
  // Get current button state.
  bool newState = digitalRead(BUTTON_PIN);

  // Check if state changed from high to low (button press).
  if (newState == LOW && oldState == HIGH) {
    // Short delay to debounce button.
    delay(20);
    // Check if button is still low after debounce.
    newState = digitalRead(BUTTON_PIN);
    if (newState == LOW) {
      showType++;
      if (showType > 9)
        showType = 0;
      startShow(showType);
    }
  }

  // Set the last button state to the old state.
  oldState = newState;
}

void startShow(int i) {
  switch (i) {
    case 0: colorWipe(strip.Color(0, 0, 0), 50);    // Black/off
      break;
    case 1: colorWipe(strip.Color(255, 0, 0), 50);  // Red
      break;
    case 2: colorWipe(strip.Color(0, 255, 0), 50);  // Green
      break;
    case 3: colorWipe(strip.Color(0, 0, 255), 50);  // Blue
      break;

  }
}

// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
  for (uint16_t i = 0; i < strip.numPixels(); i++) {
    strip.setPixelColor(i, c);
    strip.show();
    delay(wait);
  }
}

I hope to add a couple of lines of code that look something like this to the loop to make the horn fire at the beginning of the sequence a few times when the button is triggered but I'm just not sure where to add it or if there's a better way (I'm sure there's a better way I just cant figure it out.) I have tried several things, and each time it compiled but it didn't do what I wanted it to. I'm sure I just put it in the wrong place or something.

digitalWrite(HORN, HIGH);
delay(1000);
digitalWrite(HORN, LOW);
delay(500);
digitalWrite(HORN, HIGH);
delay(1000);
digitalWrite(HORN, LOW);
delay(500);
digitalWrite(HORN, HIGH);
delay(1000);
digitalWrite(HORN, LOW);
delay(500);

Add this function to your code.

void horn(){
for( int times; times<4; times++){
  digitalWrite(HORN, HIGH);
  delay(1000);
  digitalWrite(HORN, LOW);
  delay(500);
  }
}

Try adding it here

void startShow(int i) {
 horn();
  switch (i) {

However it is not clear from your words exactly when you want this horn, in the current place it will sound at the start of each display.

The fact that your code compiles only means you have not made any syntax mistakes, not that it will do what you think, it will only do what you wrote.

However it is not clear from your words exactly when you want this horn, in the current place it will sound at the start of each display.

That is exactly what I'm looking to do. I will plug that in and start playing with that. Thank you so much for the help. I am aware compiling the code doesn't mean it will work but even that is an achievement at this point in the game! Thanks again I really appreciate it