[CM] CM, rt, portmidi osx, linux

Rick Taube taube@uiuc.edu
Wed, 8 Feb 2006 10:07:13 -0600

> Mac:
> How do i compile libportmidi.a to a shared library?

portmidi prrovides an xcode project in their tarball, but you will  
have to update it for newer xcode versions. i sent one such updated  
version to roger last summer but i dont think he has released a newer  
portmidi since then.
however, i do provide an already made Mac dylib in the portmidi  
tarball on the project page, so you can just move that to /usr/local/ 
lib and all should be well on the Mac:


> Linux:
> [...]
> However,
>> (define *pm* (portmidi-open :input 12 :output 11 :latency 0))
>> (set-receiver! #'(lambda (mm ms) mm (print ms)) *pm*)
> and playing my virtual keyboard here crashes cmucl, and hits an
> error in sbcl.

ok, i dont have this problem, but I do know that cm's  error  
reporting for portmidi is broken. Nando fixed it last week and ill  
check in his fixed sources later today. with that in place you might  
get a better sense of what is going wrong

however, there is a bigger issue with portmidi on Linux: it seems you  
cannot send more than 255 future messages before portmidi dies with  
an alsa errror. Nando has looked into this, i think a fix would  
involve hacking portmidi C sources. Im sure Nando has more opinions  
on this since he spent time looking into it

but -- given that it is now possible to simply generate CFFI api's  
from C headers -- perhaps a better solution is to just generate a  
CFFI interface to the Alsa sequencer lib. I cant do this because I  
have almost zero time for the next few months, but if such an  
interface existed I would certainly help write the CM code to use it.

> If someone has this working on a linux machine with portmidi,
> would they be kind enought to post some info about versions of
> lisp/CM/portmidi?
> -anders
> _______________________________________________
> Cmdist mailing list
> Cmdist@ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist