inosculate

darcs-hash:20050812092011-2648a-e137705e5ce7ab583a168c84593bfa0a390874f9.gz
This commit is contained in:
nik gaffney 2005-08-12 17:20:11 +08:00
parent 9bcc4ffcc2
commit 1a1abf68bd
2 changed files with 14 additions and 6 deletions

View file

@ -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

View file

@ -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))))