[CM] common music, portmidi, filling up queues?

Fernando Lopez-Lezcano nando@ccrma.Stanford.EDU
Tue, 31 Jan 2006 17:46:24 -0800


Hi all, I'm running here a CM snapshot from 2005.12.15 and I'm having
problems with portmidi. It looks like when the portmidi/alsa internal
buffer becomes full Common Music just throws an error and that's it. For
example this plays fine (you have to open the portmidi device first):

(events (process for i from 0 below 250
                 output (new midi :keynum (+ 60 (mod i 40)) :time (now))
                 wait 0.01)
        "midi-port.pm")

add one more note (251 instead of 250):

(events (process for i from 0 below 251
                 output (new midi :keynum (+ 60 (mod i 40)) :time (now))
                 wait 0.01)
        "midi-port.pm")

and I get:
--------
bad argument to ERROR: #.(SB-SYS:INT-SAP #XB7FEBDDD)
   [Condition of type SIMPLE-TYPE-ERROR]

Restarts:
  0: [ABORT-REQUEST] Abort handling SLIME request.
  1: [ABORT] Exit debugger, returning to top level.

Backtrace:
  0: (SB-KERNEL:COERCE-TO-CONDITION #.(SB-SYS:INT-SAP #XB7FEBDDD) NIL
SIMPLE-ERROR ERROR)
  1: (ERROR #.(SB-SYS:INT-SAP #XB7FEBDDD))
  2: (PORTMIDI:WRITESHORT #.(SB-SYS:INT-SAP #X082809F0) 3094653 8340864)
[MUNCH]
--------

Using "(rts" instead minimizes the chance of this happening but the
error can be triggered...

What could I do about this (other than sending few notes :-)?
-- Fernando