Browse Source

Devin Anderson patch for Jack/CoreMIDI duplicated messages.

tags/1.9.9.5
Stephane Letz 13 years ago
parent
commit
e6ab5e1803
1 changed files with 6 additions and 5 deletions
  1. +6
    -5
      macosx/coremidi/JackCoreMidiOutputPort.cpp

+ 6
- 5
macosx/coremidi/JackCoreMidiOutputPort.cpp View File

@@ -81,7 +81,11 @@ JackCoreMidiOutputPort::Execute()
packet = MIDIPacketListAdd(packet_list, PACKET_BUFFER_SIZE, packet, packet = MIDIPacketListAdd(packet_list, PACKET_BUFFER_SIZE, packet,
timestamp, size, data); timestamp, size, data);
if (packet) { if (packet) {
while (GetMicroSeconds() < send_time) {
do {
if (GetMicroSeconds() >= send_time) {
event = 0;
break;
}
event = GetCoreMidiEvent(false); event = GetCoreMidiEvent(false);
if (! event) { if (! event) {
break; break;
@@ -90,10 +94,7 @@ JackCoreMidiOutputPort::Execute()
packet, packet,
GetTimeStampFromFrames(event->time), GetTimeStampFromFrames(event->time),
event->size, event->buffer); event->size, event->buffer);
if (! packet) {
break;
}
}
} while (packet);
SendPacketList(packet_list); SendPacketList(packet_list);
} else { } else {




Loading…
Cancel
Save