//==============================================================================
 void handleMessage (const uint32 message, const uint32 timeStamp)
 {
     if ((message & 0xff) >= 0x80 && isStarted)
     {
         concatenator.pushMidiData (&message, 3, convertTimeStamp (timeStamp), input, callback);
         writeFinishedBlocks();
     }
 }
 void handleSysEx (MIDIHDR* const hdr, const uint32 timeStamp)
 {
     if (isStarted)
     {
         concatenator.pushMidiData (hdr->lpData, hdr->dwBytesRecorded, convertTimeStamp (timeStamp), input, callback);
         writeFinishedBlocks();
     }
 }
 //==============================================================================
 void handleMessage (const uint8* bytes, const uint32 timeStamp)
 {
     if (bytes[0] >= 0x80 && isStarted)
     {
         concatenator.pushMidiData (bytes, MidiMessage::getMessageLengthFromFirstByte (bytes[0]),
                                    convertTimeStamp (timeStamp), input, callback);
         writeFinishedBlocks();
     }
 }