[CM] Receiving from portmidi

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Thu, 22 Nov 2007 21:14:40 -0800


On Sun, 2007-08-12 at 21:18 +0200, Thomas Lambert wrote:
> Hello,
> 
> I come back to a buried subject but this problem isn't solved for me yet.
> I have other thing to play with in CM so no hurry but to be able to
> receive midi events is essential for my project. I'd really appreciate any
> help.
> 
> I posted 2 times in end of april, beginning of may, but for those who
> don't want to browse the archive :
> under linux
> sbcl
> output portmidi works

yes, same problem here. I'm trying this out as one of my Planet CCRMA
users is trying cm and can't get portmidi input to work. 

Rick? 
This used to work. AFAICT *receive-methods* in io.lisp/io.scm is nil and
never initialized, as long as it is nil nothing will happen. None of the
receiver examples work (tried with today's svn and current portmidi and
rts tarballs). 

-- Fernando


> this is based from the portmidi's help topic :
> CM> (define *pm* (portmidi-open :latency 0 :input 1 :output 3))
> ; No value
> CM> (define myseq (new seq))
> ; No value
> CM> (portmidi-record! myseq)
> 
> portmidi-record!: receiver already active.
>    [Condition of type SIMPLE-ERROR]
> 
> Restarts:
>   0: [ABORT-REQUEST] Abort handling SLIME request.
>   1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread"
> {B981B11}>)
> 
> Backtrace:
>   0: (PORTMIDI-RECORD! #<seq {BAC0841}>)
>   1: (SB-INT:SIMPLE-EVAL-IN-LEXENV (PORTMIDI-RECORD! MYSEQ) #<NULL-LEXENV>)
> 
> 
> 
> It's already active (why ?) so i disconnect it :
> CM> (portmidi-record! #f)
> ; No value
> CM> (portmidi-record! myseq)
> 
> set-receiver!: #<portmidi-stream "midi-port.pm" (in:1 out:3)> does not
> support :receive-type :PERIODIC.
>    [Condition of type SIMPLE-ERROR]
> 
> Restarts:
>   0: [ABORT-REQUEST] Abort handling SLIME request.
>   1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread"
> {B981B11}>)
> 
> Backtrace:
>   0: (SET-RECEIVER! #<CLOSURE (LAMBDA (MM MS)) {BC2365D}>
> #<portmidi-stream "midi-port.pm" (in:1 out:3)>)
>   1: (SB-INT:SIMPLE-EVAL-IN-LEXENV (PORTMIDI-RECORD! MYSEQ) #<NULL-LEXENV>)
> 
> 
> Does someone has an idea ?
> 
> Thomas
> 
> 
> 
> > this sounds like a bug but i need to find a keyboard and test it out.
> > im totally booked today, will try to look at it tomorrow. apologies
> > for the delay!
> > --rick
> >
> 
> 
> 
> _______________________________________________
> Cmdist mailing list
> Cmdist@ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist