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

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


Hello,

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 
cmus.lisp:

;(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 
variables:

(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 
missed?
 
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/