[CM] Removing 'no-output' warning / values returns

bbattey@u.washington.edu bbattey@u.washington.edu
Wed, 8 May 2002 06:20:42 -0700 (PDT)


I've just finished a 'beta' of an autocorrelation pitch tracker for CLM2. As a 
analysis tool, it doesn't write out a soundfile, so it has no out and I don't 
run it within a with-sound. However, CLM2 doesn't expect this, so it gives 
me a warning that tends to run through 3 or 4 listener pages:

warning: output nil??
warning: no output loc? <immensely long variable list appears here>

I've removed this from my build by commenting out these lines in 

;(if (null *output*) (warn "output nil??"))
;(if (null outlst) (warn "no output loc? ~A " ',variable-load-list))

Would anyone by opposed to making this a permanent change in CLM2?

(One motivation being that I am creating a package for pitch-curve 
extraction and modeling that I would like other persons be able to install 
to use -- without them having to modify the CLM2 build themselves.)


I've also thought that it would be nice if definstrument could, optionally, 
return values, since it looks like definstrument doesn't do this the way a 
standard LISP function would. Perhaps a clm-return function, like (clm-
return (values freqs amps fft)). Then one could grab output from an 
analysis instrument directly without having to place results in global 

(let (freqs (pitch-track myfile :fftsize 1024))  etc

I don't know if this makes sense in the bigger pitcture of CLM2's design, 
though. Or perhaps there is an ability to do this already that I have 
Bret Battey, DMA                                http://BatHatMedia.com
Center for Digital Arts and Experimental Media
University of Washington, Seattle   http://www.washington.edu/dxarts/

2001-2002 Fulbright Scholar to India, Pune University, Pune, Maharashtra
Department of Computer Science            http://cs.unipune.ernet.in/