예제 #1
0
void FileProcessor::readNextCommand() {
  if (file_ == NULL) { return; }
  if (file_->atEnd()) {
    stopSequence();
    return;
  }

  QString line = file_->readLine();

  QStringList tokens = line.split(QRegExp("[\\s,]"), QString::SkipEmptyParts);
  qDebug() << "Command: " << tokens;

  if (tokens.at(0) == "BASE" && tokens.length() == 2) {
    commandBase(tokens);
  } else if (tokens.at(0) == "VOLUME" && tokens.length() == 2) {
    commandVolume(tokens);
  } else if (tokens.at(0) == "SET" && tokens.length() == 2) {
    commandSet(tokens);
  } else if (tokens.at(0) == "HARMONICS" && tokens.length() == 2) {
    commandHarmonics(tokens);
  } else if (tokens.at(0) == "HOLD" && tokens.length() == 2) {
    commandHold(tokens);
  } else if (tokens.at(0) == "PAUSE" && tokens.length() == 1) {
    commandPause(tokens);
  } else if (tokens.at(0) == "END" && tokens.length() == 1) {
    commandEnd(tokens);
  } else if (tokens.at(0) == "EXIT" && tokens.length() == 1) {
    commandExit(tokens);
  } else if (tokens.at(0) == "FADE" && tokens.length() == 3) {
    commandFade(tokens);
  } else if (tokens.at(0) == "SLIDE" && tokens.length() == 3) {
    commandSlide(tokens);
  } else {
    qDebug() << "Invalid command: " << tokens;
    stopSequence();
  }
}
예제 #2
0
 void commandEnd() { FOREACH commandEnd(); }