[PD-dev] Midi overflow, when receiving Song Position Pointer (os x)

Jan Baumgart raga.raga at gmx.de
Wed Jun 5 13:59:45 CEST 2013


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



More information about the Pd-dev mailing list