help with my code for connecting 7 neo pixel rings to 7 button inputs

Hi everyone
This is my first full scale project with neopixel rings, I made the code work with the buttoncycler example for 1 button and one ring. I have 7 neopixel rings in my final project with 7 buttons each for each of the neo pixel. I want each neo pixel to respond with the same code when the subsequent button linked with that neo pixel is connected. Here is the code I modified for the buttoncycler example formy 7 set. but the code is having errors and I am unable to understand why. COULD SOMEONE PLEASE HELP ME understand and correct the error. checked the annotations and opening and closing brackets. doesnt seem like that is the problem but the arduino says, some code lines are not declared,
ERROR MESSAGE - In function ‘void startShow(int)’:
buttoncyclermultiples:238: error: ‘colorWipe’ was not declared in this scope
case 0: colorWipe(strip1.Color(7, 0, 0, 0),50); // Black/off
buttoncyclermultiples:312: error: ‘theaterChase’ was not declared in this scope
case 4: theaterChase(strip1.Color(7, 127, 127, 127), 50); // White
buttoncyclermultiples:362: error: ‘rainbow’ was not declared in this scope
case 7: rainbow(20);
buttoncyclermultiples:364: error: ‘rainbowCycle’ was not declared in this scope
case 8: rainbowCycle(20);
buttoncyclermultiples:366: error: ‘theaterChaseRainbow’ was not declared in this scope
case 9: theaterChaseRainbow(50);
buttoncyclermultiples:374: error: a function-definition is not allowed here before ‘{’ token
void colorWipe(uint32_t c, uint8_t wait) {
buttoncyclermultiples:863: error: expected ‘}’ at end of input
exit status 1
‘colorWipe’ was not declared in this scope

MY CODE - i have attached my code as a file as it says , this message exceeds maximum limit.
I am a newbie in coding , please excuse if there are silly errors
Thank you

buttoncyclermultiples.ino (24 KB)

Before we get to the errors, you do exactly the same thing regardless of which switch is pressed. How is THAT going to be useful?

You have 7 current states and one previous state. How is THAT going to be useful?

Where, exactly, does startShow() end? Specifically, relative to colorWipe() starting, does startShow() end before or after that function?

Hi Paul!

Thank you for the reply.
As a part of my interactive project, I have 7 places of interaction in my object, and each piece of the 7 when touched, gives an output of light with that particular part of the object.
I need these seven different inputs and outputs, as a part of the interactive experience with the object and I am simultaneously working with making these buttons work as a MIDI controller. I can now make buttons(inputs)work as a MIDI, I worked on making these 7 inputs connected to the neopixels work in relation to each other when each button is pressed(I am attaching the new code I worked on after this previous code that i had attached.This new code(multipleneopixels1) works, but this code I attached first (buttoncyclermultiples)would be the best case scenario for my project.) So basically , there is a light and music show that occurs when a person interacts with the object.(but combining the music show i.e., MIDI code is for the next part after I solve this, although , I combined the codes, it loads without errors but does not act like a MIDI yet)
now the second part of your comment -
the start show is only starting with button state being LOW or HIGH. or it goes back to the old state -

void loop() {
// Get current button state.
bool newState0 = digitalRead(BUTTON_PIN0);

// Check if state changed from high to low (button press).
if (newState0 == LOW && oldState == HIGH) {
// Short delay to debounce button.
// Check if button is still low after debounce.
newState0 = digitalRead(BUTTON_PIN0);
if (newState0 == LOW) {
if (showType > 9)


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

Thank you, Looking forward to your response!

multipleneopixles1.ino (16.3 KB)