simply smartwav example

using button count

press the button once to play a song

press the same button the second time to play the next song
and then so on

when it reaches the end of your song list

it goes back to the first one

if you do not need to debug it with your serial monitor , just remove the code for that

const int  buttonPin = 2;    // the pin that the pushbutton is attached to
const int ledPin = 8;       // the pin that the LED is attached to
const int ledPin2 = 9;    
// Variables will change:
int buttonPushCounter = 0;   // counter for the number of button presses
int buttonState = 0;         // current state of the button
int lastButtonState = 0;     // previous state of the button

void setup() {
  // initialize the button pin as a input:
  pinMode(buttonPin, INPUT);
  // initialize the LED as an output:
  pinMode(ledPin, OUTPUT);
 pinMode(ledPin2, OUTPUT); // initialize serial communication:
  Serial.begin(9600);
}


void loop() {
  // read the pushbutton input pin:
  buttonState = digitalRead(buttonPin);

  // compare the buttonState to its previous state
  if (buttonState != lastButtonState) {
    // if the state has changed, increment the counter
    if (buttonState == HIGH) {
      // if the current state is HIGH then the button
      // wend from off to on:
      buttonPushCounter++;
      Serial.println("on");
      Serial.print("number of button pushes:  ");
      Serial.println(buttonPushCounter);
    } 
    else {
      // if the current state is LOW then the button
      // wend from on to off:
      Serial.println("off"); 
    }
  }
  // save the current state as the last state, 
  //for next time through the loop
  lastButtonState = buttonState;

  
  
  counting1();
  counting2();

 resett();
}


void resett() {

if (buttonPushCounter==3)
{ buttonPushCounter = 1;
  delay(20);}

}

void counting1() {
 if (buttonPushCounter==1) {
   delay(20);
    digitalWrite(ledPin, HIGH);
  } else {
   digitalWrite(ledPin, LOW);
  }
  
}

void counting2() {
  
  if (buttonPushCounter==2) {
    delay(20);
    digitalWrite(ledPin2, HIGH);
  } else {
   digitalWrite(ledPin2, LOW);
  }
}

this is my rookie way of doing it according to the button count example

u can change it to suit your needs