aboutsummaryrefslogtreecommitdiff
path: root/pd/src/s_unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'pd/src/s_unix.c')
-rw-r--r--pd/src/s_unix.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/pd/src/s_unix.c b/pd/src/s_unix.c
index ee0ce160..85282f3b 100644
--- a/pd/src/s_unix.c
+++ b/pd/src/s_unix.c
@@ -412,15 +412,24 @@ void sys_pollmidiinqueue( void)
comes in, as a result of our calling sys_poll_midi. We stick it on a
timetag queue and dispatch it at the appropriate logical time. */
+
void sys_midibytein(int portno, int byte)
{
+ static int warned = 0;
t_midiqelem *midiqelem;
int newhead = midi_inhead +1;
if (newhead == MIDIQSIZE)
newhead = 0;
/* if FIFO is full flush an element to make room */
if (newhead == midi_intail)
- post("flush"), sys_dispatchnextmidiin();
+ {
+ if (!warned)
+ {
+ post("warning: MIDI timing FIFO overflowed");
+ warned = 1;
+ }
+ sys_dispatchnextmidiin();
+ }
midi_inqueue[midi_inhead].q_portno = portno;
midi_inqueue[midi_inhead].q_onebyte = 1;
midi_inqueue[midi_inhead].q_byte1 = byte;