Step-based volume adjustment

I did some looking around and was further recommended to use Robertsonic's WAV Trigger, which seems to be able to do what I need for now.

What I'm trying to do now is actually have it activate the sequence with a pushbutton. (Later, I'll redefine it to increase/decrease volume accordingly.) I've taken bits from the original WAV Trigger code, as well as a basic two pushbutton trigger code.

/* Libraries */
#include <Metro.h>
#include <AltSoftSerial.h>
#include <wavTrigger.h>

/* Define buttons */
int buttonBpin = 8;
#define LED 13                // our LED
wavTrigger wTrig;             // Our WAV Trigger object
Metro gLedMetro(500);         // LED blink interval timer
Metro gSeqMetro(6000);        // Sequencer state machine interval timer
byte gLedState = 0;           // LED State
int  gSeqState = 0;           // Main program sequencer state
int  gRateOffset = 0;         // WAV Trigger sample-rate offset

void setup() {
  Serial.begin(9600);
  pinMode(buttonBpin, INPUT_PULLUP); 
  pinMode(LED,OUTPUT);
  digitalWrite(LED,gLedState); 

    // If the Arduino is powering the WAV Trigger, we should wait for the WAV
  //  Trigger to finish reset before trying to send commands.
  delay(1000);

  // WAV Trigger startup at 57600
  wTrig.start();
  delay(10);
  
  // Send a stop-all command and reset the sample-rate offset, in case we have
  //  reset while the WAV Trigger was already playing.
  wTrig.stopAllTracks();
  wTrig.samplerateOffset(0);
}

void loop() {

  if (digitalRead(buttonBpin) == HIGH)
  {
    int i;
          switch (gSeqState) {
  
          // State 0: Demonstrates how to fade in a music track 
          case 0:
                Serial.println("hello0");
              wTrig.samplerateOffset(0);            // Reset our sample rate offset
              wTrig.masterGain(0);                  // Reset the master gain to 0dB
              
              wTrig.trackGain(2, -40);              // Preset Track 2 gain to -40dB
              wTrig.trackPlayPoly(2);               // Start Track 2
              wTrig.trackFade(2, 0, 2000, 0);       // Fade Track 2 up to 0dB over 2 secs
          break;

          // State 1: Demonstrates how to cross-fade music tracks
          case 1:
                          Serial.println("hello1");

              wTrig.trackGain(1, -40);              // Preset Track 1 gain to -40dB
              wTrig.trackPlayPoly(1);               // Start Track 1
              wTrig.trackFade(1, 0, 3000, false);   // Fade Track 1 up to 0db over 3 secs
              wTrig.update();
              delay(2000);                          // Wait 2 secs
              wTrig.trackFade(2, -40, 3000, true);  // Fade Track 2 down to -40dB over 3 secs and stop
          break;
                                 
          // State 2: Fade down music and start looping dialog
          case 2:
                          Serial.println("hello2");

              wTrig.trackFade(1, -6, 500, 0);
              wTrig.trackPlayPoly(4);               // Start Track 4 poly
              wTrig.trackLoop(4, 1);                // Enable Track 4 looping
          break;

          // State 3: Honk the horn 2 times
          case 3:
                          Serial.println("hello3");

              wTrig.trackPlayPoly(5);               // Start Track 5 poly
              delay(500);
              wTrig.trackStop(5);                   // Stop Track 5
              delay(250);
              wTrig.trackPlayPoly(5);               // Start Track 5 poly
              delay(500);
              wTrig.trackStop(5);                   // Stop Track 5
          break;
          
          // State 4: Fade out and stop dialog
          case 4:
                          Serial.println("hello4");

              wTrig.trackLoop(4, 0);                // Disable Track 4 looping
              wTrig.trackFade(4, -50, 5000, 1);     // Fade Track 4 to -50dB and stop
          break;
          
          // State 5: This demonstrates playing musical instrument samples, with decay on
          //  release
          case 5:
              wTrig.masterGain(-8);                 // Lower main volume
              wTrig.trackPlayPoly(6);               // Play first note
              delay(1000);
              wTrig.trackPlayPoly(7);               // Play second note
              delay(1000);
              wTrig.trackPlayPoly(8);               // Play third note
              delay(1000);
              wTrig.trackFade(6, -50, 5000, 1);     // Fade Track 6 to -50dB and stop
              wTrig.trackFade(7, -50, 5000, 1);     // Fade Track 7 to -50dB and stop
              wTrig.trackFade(8, -50, 5000, 1);     // Fade Track 8 to -50dB and stop
          break;
   
          // State 6: Demonstrates preloading tracks and starting them in sample-sync, and
          //  real-time samplerate control (pitch bending);
          case 6:
              wTrig.trackLoad(6);                   // Load and pause Track 6
              wTrig.trackLoad(7);                   // Load and pause Track 7
              wTrig.trackLoad(8);                   // Load and pause Track 8
              wTrig.resumeAllInSync();              // Start all in sample sync
              for (i = 0; i < 100; i++) {
                gRateOffset -= 200;
                wTrig.samplerateOffset(gRateOffset);
                delay(10);
              }
              for (i = 0; i < 100; i++) {
                gRateOffset += 200;
                wTrig.samplerateOffset(gRateOffset);
                delay(10);
              }
              delay(500);
              wTrig.stopAllTracks();                // Stop all
         break;
         
           
      } // switch
 
      // Increment our state
      gSeqState++;
      if (gSeqState > 6)
          gSeqState = 0;
          
  } // if (digitalRead(buttonBpin)

  // If time to do so, toggle the LED
  if (gLedMetro.check() == 1) {
      if (gLedState == 0) gLedState = 1;
      else gLedState = 0;
      digitalWrite(LED, gLedState);
  } // if (gLedMetro.check() == 1)

  // Delay 30 msecs
  delay(30);
}

However, I've been getting the following error message: (Using Windows 10, Arduino 1.8.5, an Arduino Uno and WAV Trigger board)

C:\Users\sixsmith\AppData\Local\Temp\ccA3y1EC.ltrans0.ltrans.o:(.rodata+0x6): undefined reference to `Print::write(unsigned char const*, unsigned int)'

c:/program files/windowsapps/arduinollc.arduinoide_1.8.10.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avr5/crtatmega328p.o:(.init9+0x0): undefined reference to `main'

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Arduino/Genuino Uno.

Wondering if anyone is able to help with this?