Midi filtertering of stop start messages

You guys got it sussed. The increment comes to at the begining of the if statement, it probably should come at the end and then you can reset it to '0' It must have been a little early before as well

if ((data == midi_clock) && (play_flag == 1)) {      
      if (clk / 6) digitalWrite(tempoled, LOW);  // this should light it up for 25% of the time
      else digitalWrite(tempoled, HIGH);
      Serial.write(midi_clock); // send midi clock to out... Provides tempo!
      clk++;
      clk = clk % 24;                                 // 24 clock messages per beat
    }

and i actually think that it should be like this for continue, you don't reset the clock it is 'continue' after all

    if (data == midi_continue) { // if midi in continue
      Serial.write(midi_continue); // send midi out continue
      play_flag = 1;
      // clk=0; don't reset the clock for continue
    }