|
@@ -991,10 +991,10 @@ void MidiOutCore :: openVirtualPort( std::string portName )
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+static void sysexCompletionProc( MIDISysexSendRequest *sreq )
|
|
|
+{
|
|
|
+ free( sreq );
|
|
|
+}
|
|
|
|
|
|
void MidiOutCore :: sendMessage( std::vector<unsigned char> *message )
|
|
|
{
|
|
@@ -1013,12 +1013,16 @@ void MidiOutCore :: sendMessage( std::vector<unsigned char> *message )
|
|
|
CoreMidiData *data = static_cast<CoreMidiData *> (apiData_);
|
|
|
OSStatus result;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- if ( message->at(0) == 0xF0 ) {
|
|
|
+ if ( message->at(0) == 0xF0 && nBytes > 1022 ) {
|
|
|
|
|
|
|
|
|
|
|
@@ -1049,12 +1053,12 @@ void MidiOutCore :: sendMessage( std::vector<unsigned char> *message )
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
- else if ( nBytes > 3 ) {
|
|
|
+ else if ( message->at(0) != 0xF0 && nBytes > 3 ) {
|
|
|
errorString_ = "MidiOutCore::sendMessage: message format problem ... not sysex but > 3 bytes?";
|
|
|
error( RtMidiError::WARNING, errorString_ );
|
|
|
return;
|
|
|
}
|
|
|
- */
|
|
|
+
|
|
|
|
|
|
MIDIPacketList packetList;
|
|
|
MIDIPacket *packet = MIDIPacketListInit( &packetList );
|