[CM] Re: update re: CM/Linux/MidiShare

Rick Taube taube@uiuc.edu
Sun, 27 Mar 2005 18:16:01 -0600

Sorry, I should have had a second cup of coffee before responding this 
morning. The error you got is not a bug.  I think the "high" and "low" 
level is not made clear enough on the Midi topic page. Specifically, 
ms:new makes "alien" c objects that are not part of Lisp's type system 
and so they cannot be hooked into the high-level event handling.  Put 
another way, the only thing that can really use midishare allocated 
things is midishare itself. So you can create them in Lisp and you can 
also send/receive them directly to/from midishare but nothing else.

> But it fails in this setting:
> (define (rankeys)
>   (process repeat 100
>            output (ms:new typeNote :port 1
>                                    :pitch (between 50 80)
>                                    :vel (between 30 50)
>                                    :dur (pick 100 200 300))
>            wait (pick 100 200)))
> ; (events (rankeys) "midi.port")