[CM] Receiving from portmidi

Rick Taube taube at uiuc.edu
Mon, 3 Dec 2007 06:31:23 -0600


yes, i see that the docs were not updated. im sorry, this somehow  
fell through the cracks. the newer api was developed after working  
with the older functions for a while --they are easier to actually  
work with interactivly: for example you dont need to clear a hook  
before you set another one, initiating receiving is separate from  
setting the hook, and the function names are easier/faster to type.

for portmidi the methods are:

recv (<portmidi> &key (priority 20) (resolution 5) )

start receive thread for portmidi with priority. resolution is  
thread's millisecond tick time.

recv-stop (<portmidi>)

stop portmidi's receive thread.

recv? ()

returns :running if receive thread is running else returns :stopped

recv-set!(<portmidi> function)

makes function the receiver for portmidi. function accepts one arg  
and is passed the midi event read from the port. the midi event is  
formatted fixnum midi message decumented in http:// 
commonmusic.sourceforge.net/doc/dict/midi-topic.html#midi_low_level