[CM] file vs io object operationsin OpenMCL

Bret Battey bbattey@u.washington.edu
Sat, 27 Dec 2003 14:27:39 -0800


In case it will be useful to someone else, here is an observation that 
arises out of my recent work switching CLM over to Openmcl on MAX 
OSX...

I had a number of instruments that involved file access (readin or src) 
that stopped working in OpenMCL, complaining that the IO object 
associated with the file "is not a sequence".

Turns out a number of my instruments I built under MCL/MacOS9 applied 
operations such as sound-duration and sound-srate to the IO object 
rather than the file itself, such as:

   (let* ((f (open-input file :channel file-channel))
          (fsr (sound-srate f))

OpenMCL doesn't like this. Had to convert to have sound-srate reference 
the file path itself, not
the IO object:

   (let* ((f (open-input file :channel file-channel))
          (fsr (sound-srate file))

If I'm remembering correctly,  I was also using the first approach 
successfully on ACL/Linux.

So a little wrench in cross-LISP compatibility, there.

-Bret