I've found the bad guy: it's the old version of the PortMidi Library, that's packaged with pd's source. After replacing it with a newer version (131) and recompiling, the midi overflow bug is gone. I couldn't get the latest version of portmidi compiled on os x 10.6.8 (probably a cmake issue).

Now that all midi messages are coming in, I've noticed that pd handles some midi system messages incorrectly. Seems like Pd assumes, that system messages always carry three data bytes (like sysex messages). But there are messages like Midi Time Code or Song Position Pointer, which have one or two data bytes.

cheers,
Jan



On 3.6.13 17:07 , Jan Baumgart wrote:
Seems like [midirealtimein] is working under os x (although there's an
obsolete error "message midirealtimein: works under MSW only").

But when receiving a realtime messages (248, 250 or 252) [midiin] and
[notein] output 0.
Maybe this is related to the fifo overflow.

Correction: the status byte for the song position pointer is 242 (dec -
not hex)

On 3.6.13 15:18 , Jan Baumgart wrote:
Hi there,

I'm experiencing a severe bug, when sending a Song Position Pointer
message (0x242 0 0) to pd.

After sending just one SPP message to pd, the status window says:
"warning: MIDI timing FIFO overflowed".

When looking at the output of [midiin] I see "242 0 0 0" repeated
endlessly.

The Song Position Pointer message belongs to the System Common Messages
and has two data bytes. Pd seems to get confused with this message.
Where is the third data byte coming from?

I'm running precompiled vanilla pd-0.44-3 from puckette's site on 32-bit
intel mac (os x 10.6.8).


I have a related second question: Is there any way to receive midi
realtime messages with pd on os x? I'm trying to receive Midi Beat
Clock...


cheers,
Jan

_______________________________________________
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev

Reply via email to