Code does not run but compiles?

I converted this code from hardware SPI to the method my robotics team uses. I believe this is the main source of the issue. The code should create rainbow lights, moving in different directions. It creates the rainbow effect, but does not move. Edit: Around 7 LEDs become white on the entire strip once the code is uploaded. I do not know what went wrong as I get no compile errors, any help?

//#include <LPD8806.h>
#include "LPD8806.h"
#include "SPI.h" // Comment out this line if using Trinket or Gemma
#ifdef __AVR_ATtiny85__
#include <avr/power.h>
#endif


// Example to control LPD8806-based RGB LED Modules in a strip

/*****************************************************************************/

// Choose 2 pins for output; can be any valid output pins:
int dataPin  = 2;
int clockPin = 3;

const byte
  redFrequency = 12,
  greenFrequency = 15,
  blueFrequency = 19,
  intervalRed = 16,
  intervalGreen = 12,
  intervalBlue = 8,
  ledCount = 255;
long
  currentMillis,
  nextRed,
  nextGreen,
  nextBlue;
boolean
  enableRed = true,
  enableGreen = true,
  enableBlue = true;

  LPD8806 strip = LPD8806(ledCount, dataPin, clockPin);

void setup() {
  #if defined(__AVR_ATtiny85__) && (F_CPU == 16000000L)
  clock_prescale_set(clock_div_1); // Enable 16 MHz on Trinket
#endif
  Serial.begin(9600);
  // Start up the LED strip
  strip.begin();

  // Update the strip, to start they are all 'off'
  //  strip.show();
}

void loop() {
  currentMillis = millis();
  if (Serial.available()) {
    switch (Serial.read()) {
      case 'r':
        enableRed = !enableRed;
        break;
      case 'g':
        enableGreen = !enableGreen;
        break;
      case 'b':
        enableBlue = !enableBlue;
        break;
    }
  }
  // Send three color bytes for all LEDs on the strip.
  for (byte index = ledCount; index-- > 0;) {
    int(0x80 | (enableBlue  ? blueWave(index)  : 0));
    int(0x80 | (enableRed   ? redWave(index)   : 0));
    int(0x80 | (enableGreen ? greenWave(index) : 0));
  }
}

byte redWave(byte index) {
  static byte counter = 0;
  static byte pos = 0;
  if (currentMillis >= nextRed) {
    nextRed = currentMillis + intervalRed;
    counter = (counter + 3) % 30;
    if (!counter)
      ++pos %= redFrequency; // run red lights in forward direction
  }
  switch ((index + pos) % redFrequency) {
    case 0: return counter / 2;
    case 1: return 15 + counter;
    case 2: return 45 + counter * 2;
    case 3: return 105 - counter * 2;
    case 4: return 45 - counter;
    case 5: return 15 - counter / 2;
    default: return 0;
  }
}

byte blueWave(byte index) {
  static byte counter = 0;
  static byte pos = 0;
  if (currentMillis >= nextBlue) {
    nextBlue = currentMillis + intervalBlue;
    counter = (counter + 3) % 30;
    if (!counter)
      ++pos %= blueFrequency;
  }
  switch ((index + pos) % blueFrequency) {
    case 0: return counter / 2;
    case 1: return 15 + counter;
    case 2: return 45 + counter * 2;
    case 3: return 105 - counter * 2;
    case 4: return 45 - counter;
    case 5: return 15 - counter / 2;
    default: return 0;
  }
}

byte greenWave(byte index) {
  static byte counter = 0;
  static byte pos = 0;
  if (currentMillis >= nextGreen) {
    nextGreen = currentMillis + intervalGreen;
    counter = (counter + 3) % 30;
    if (!counter)
      if (!pos--)
        pos = greenFrequency - 1;
  }
  switch ((index + pos) % greenFrequency) {
    case 0: return 15 - counter / 2;
    case 1: return 45 - counter;
    case 2: return 105 - counter * 2;
    case 3: return 45 + counter * 2;
    case 4: return 15 + counter;
    case 5: return counter / 2;
    default: return 0;
  }
}

Have you tried using the examples with the LPD8806 library (modified for your pin numbers)?

I pretty much copied and pasted the top section to replace the SPI commands, and I changed any commands under the loop that uses SPI.