inosculate
darcs-hash:20050812092011-2648a-e137705e5ce7ab583a168c84593bfa0a390874f9.gz
This commit is contained in:
parent
9bcc4ffcc2
commit
1a1abf68bd
2 changed files with 14 additions and 6 deletions
12
README.txt
12
README.txt
|
@ -1,4 +1,5 @@
|
|||
|
||||
Open Sound Control
|
||||
|
||||
This is a common-lisp implementation of the Open Sound Control
|
||||
Protocol, aka OSC. The code should be close to ansi standard, and does
|
||||
|
@ -27,16 +28,23 @@ limitations
|
|||
- sbcl/cmucl specific float en/decoding
|
||||
- only supports the type(tag)s specified in the OSC spec
|
||||
|
||||
things to do
|
||||
things to do in :osc
|
||||
- address patterns
|
||||
- liblo like network wrapping
|
||||
- data checking and error handling
|
||||
- portable en/decoding of floats -=> ieee754 tests
|
||||
- doubles and other defacto typetags
|
||||
- correct en/decoding of timetags
|
||||
|
||||
things to do in :osc-ex[tensions|tras]
|
||||
- liblo like network wrapping
|
||||
- add namespace exploration using cl-zeroconf
|
||||
|
||||
|
||||
changes
|
||||
2005-08-12
|
||||
- corrections from Matthew Kennedy <mkennedy@gentoo.org>
|
||||
2005-08-11
|
||||
- version 0.1
|
||||
2005-03-16
|
||||
- packaged as an asdf installable lump
|
||||
2005-03-11
|
||||
|
|
8
osc.lisp
8
osc.lisp
|
@ -96,7 +96,7 @@
|
|||
|
||||
(let ((lump (make-array 0 :adjustable t
|
||||
:fill-pointer t
|
||||
:element-type 'char)))
|
||||
:element-type 'character)))
|
||||
(macrolet ((write-to-vector (char)
|
||||
`(vector-push-extend
|
||||
(char-code ,char) lump)))
|
||||
|
@ -229,7 +229,7 @@
|
|||
(if (equalp ut :now)
|
||||
#(0 0 0 0 0 0 0 1)
|
||||
(cat (encode-int32 (+ ut +unix-epoch+))
|
||||
(encode-int32 (subseconds)))))
|
||||
(encode-int32 subseconds))))
|
||||
|
||||
(defun decode-timetag (timetag)
|
||||
"decomposes a timetag into ut and a subsecond,. . ."
|
||||
|
@ -268,7 +268,7 @@
|
|||
|
||||
(defun encode-int32 (i)
|
||||
"convert integer into a sequence of 4 bytes in network byte order."
|
||||
(declare (type integer i n))
|
||||
(declare (type integer i))
|
||||
(let ((buf (make-sequence
|
||||
'(vector (unsigned-byte 8)) 4)))
|
||||
(macrolet ((set-byte (n)
|
||||
|
@ -323,7 +323,7 @@
|
|||
(+ s (- 4 (mod s 4))))
|
||||
|
||||
(defun string-padding (string)
|
||||
q "returns the padding required for a given osc string"
|
||||
"returns the padding required for a given osc string"
|
||||
(declare (type simple-string string))
|
||||
(pad (- 4 (mod (length string) 4))))
|
||||
|
||||
|
|
Loading…
Reference in a new issue