Parsing server data while playing .wav file with Arduino Wave Shield

#include <SPI.h>
#include <Ethernet.h>
#include <SdFat.h>
#include <SdFatUtil.h>
#include <WaveRP.h>

byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01 };
IPAddress ip(192,168,1,100);
EthernetClient client;
char serverName[] = "justtwobros.com";

int delayOn = 5000;
int delayOff = 900000;
int delaySong = 60000;

boolean readingData = false;
String tempString = "";
String tempoString = "";

#define number_of_74hc595s 1 
#define numOfRegisterPins number_of_74hc595s * 8
boolean registers[numOfRegisterPins];
int latchPin = A2;
int clockPin = A5;
int dataPin = A3;

SdFat sd;
SdFile myFile;
WaveRP wave;
#define error(msg) sd.errorHalt_P(PSTR(msg))

int freeRam(void) {
  extern int  __bss_end; 
  extern int  *__brkval; 
  int free_memory; 
  if((int)__brkval == 0) {
    free_memory = ((int)&free_memory) - ((int)&__bss_end); 
  }
  else {
    free_memory = ((int)&free_memory) - ((int)__brkval); 
  }
  return free_memory; 
}

void setup() {
  Serial.begin(9600);
  if (!sd.begin(9, SPI_HALF_SPEED)) sd.initErrorHalt();
  Ethernet.begin(mac, ip);
  Serial.println(Ethernet.localIP());
  connectToServer();
}

void loop() {
  if (client.connected()) {
    if (client.available()) {
      char inChar = client.read();
      if (!readingData) {
        if (inChar == '{') {
          readingData = true;
        }
      } else {
        if (inChar == '}') {
          playfile("2.WAV");
          tempString = "";
        }  else if (inChar == '(') {
          tempoString = tempString;
          tempString = "";
        } else if (inChar == ')') {
          Serial.println(tempString);
          delay(tempoString);
          tempString = "";
        } else if (inChar == ']') {
          client.stop();
          readingData = false;
          tempString = "";
        } else if (inChar == '[') { } else {
          tempString += inChar;
        }
      }
    }
  }
}

void connectToServer() {
  if (client.connect(serverName, 80)) {
      client.print("GET http://justtwobros.com/christmas/scripts/get_sequence.php");
      client.println(" HTTP/1.1");
      client.println("Host: justtwobros.com");
      client.println();
  }
}

void setRegisterPin(int index, int value){ registers[index] = value; }

void writeRegisters(){
  digitalWrite(latchPin, LOW);
  for(int i = numOfRegisterPins - 1; i >=  0; i--){
    digitalWrite(clockPin, LOW);
    int val = registers[i];
    digitalWrite(dataPin, val);
    digitalWrite(clockPin, HIGH);
  }
  digitalWrite(latchPin, HIGH);
}

void playfile(char *name) {
  if (wave.isPlaying()) {// already playing something, so stop it!
    wave.stop(); // stop it
  }
  myFile.close();  // SdFat will not open a file that is already open
  if (!myFile.open(name, O_READ)) {
    PgmPrint("Couldn't open file ");
    Serial.println(name); 
    return;
  }
  if (!wave.play(&myFile)) {
    PgmPrint("Not a valid WAV ");   
    Serial.println(name);     
    return;
  }
}

This should be all of it...