[CM] sc.lisp and dumposc

Joshua Parmenter joshp at u.washington.edu
Tue Nov 28 13:52:30 PST 2006


Hi all,

Noticed a strange problem with CM (and sc.lisp) and SBCL today in the  
way scientific notation is formatted with dumposc. Basically, a value  
like 3.0e-4 will be formatted like 3.e-4 . This causes a problem in  
the SC interpreter since the '.' , if not followed by a numeral, is  
interpreted as a message operator. Checking for floats in the parse- 
osc-vec section of dumposc seems to take care of the problem. SBCL is  
the only LISP where the problem seem to come up (openmcl doesn't  
care). Here is a changed version of dumposc. An if statement is added  
in the dolist part.

(defun dumposc (file &rest args)
   (let ((out (if (null args) t (car args))) (fil nil))
     (unwind-protect
         (progn
          (setf fil (open-file file ':input ':byte))
          (when fil
            (format out "~%[")
            (do ((len 0)
                 (one nil)
                 (vec nil))
                ((not len) nil)
              (setf len (sc-read-bytes fil 4))
              (when len
                (setf len (u8vector->int len))
                (setf vec (sc-read-bytes fil len)))
              (parse-osc-vec vec
               (lambda (time cmd args)
                 (format out (if one ",~%" "~%"))
                 (format out "[~s" time)
                 (format out ", [~s" cmd)
                 (dolist (c args) (if (floatp c)
                     (format out ", ~F" c)
                     (format out ", ~s" c)))
                 (format out "]]")
                 (setf one t))))
            (format out "~%]~%")))
       (when fil (close-file fil ':input)))
     (if fil out nil)))

Can this be changed in the source?

Thanks,

Josh

******************************************
Joshua Parmenter
University of Washington
Center for Digital Arts and Experimental Media
School of Music
Seattle, Washington 98195

http://www.realizedsound.net/josh/
http://www.dxarts.washington.edu



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cm-mail.stanford.edu/pipermail/cmdist/attachments/20061128/4c3e6966/attachment.html>


More information about the Cmdist mailing list