osc-sc/osc-call [ Functions ]

[ Top ] [ Functions ]

DESCRIPTION

 Allow OSC (over UDP) messages to be sent for processing.  The function
 waits for input and processes in an endless loop; send 'quit' to stop the
 function and return to the interpreter.  Messages the function doesn't
 understand will be ignored after a warning being printed.

 As this function only terminates when a 'quit' message is sent via OSC, the
 only way to quit from within Lisp is to send the Interrupt Command (usually
 Control-C, twice).  In that case, the open sockets will remain open, and
 only closed before reopening the next time this function is called.
 
 Lisp code can be sent, e.g. in MaxMSP via a message, including
 opening/closing parentheses and nested calls; symbols should be quoted as
 per usual.  The return value of the Lisp call will be returned to the
 given IP address on the given port.  It is up to the receiver to then parse
 the result (e.g. in MaxMSP via [udpreceive][fromsymbol][route list int
 float symbol]).  

 For an example max/msp patch, see osc-test.maxpat in the examples folder of
 the documentation (http://michael-edwards.org/sc/examples/osc-test.maxpat)
 
 NB: Currently only works in SBCL.
     Some lists (e.g. those including strings/symbols) might not be
     recognised as lists by MaxMPS's [route], so process them directly after
     [fromsymbol]. 

OPTIONAL ARGUMENTS

 keyword arguments:
 - :listen-port. The UDP port to listen to for messages. Default = 8000.
 - :send-ip.  The IP address to send UDP messages back out on. 
    Default = #(127 0 0 1))
 - :send-port. The UDP port to send messages back out on. Default = 8001.

RETURN VALUE

 T

SYNOPSIS

(defun osc-call (&key
                 (listen-port 8000)
                 (send-ip #(127 0 0 1))
                 (send-port 8001))

osc-sc/osc-send-list [ Functions ]

[ Top ] [ Functions ]

DESCRIPTION

ARGUMENTS

OPTIONAL ARGUMENTS

RETURN VALUE

EXAMPLE

SYNOPSIS

(defun osc-send-list (list &optional (warn t))