[CM] snd 6.9

Bill Schottstaedt bil@ccrma.Stanford.EDU
Thu, 29 May 2003 04:30:19 -0700

Snd 6.9:

Snd-as-CLM-related changes (instruments and with-sound):

  added definstrument as a synonym for define* for CM linkages, and to
     make it more obvious which functions can only run within with-sound.

  changed most instruments to use definstrument and to expect
     with-sound as the context (outa, locsig in place of mix-vct etc).
     Changed: pluck, fm-violin, maraca(s), jc-reverb, fm-bell, singer,
       stereo-flute, fofins, bow (strad.scm), pqw-vox, fm-noise, chain-dsps,
       freeverb, vox, p (piano), bird, bigbird, bowstr (was "bow"), brass,
       flute, clarinet, plucky

  added clm-ins.scm with bes-fm (from bessel.lisp), fm-trumpet (trp.ins),
       fm-insect (insect.ins), fm-drum and gong (fmex.ins), attract (clm.html),
       pqw (pqw.ins), tubebell, wurley, Rhodey, hammondoid, and metal (prc96.ins),
       nrev (nrev.ins), drone (drone.ins), canter (canter.ins), reson (reson.ins),
       cellon (cellon.ins), jl-reverb (jlrev.ins), gran-synth, touch-tone, two-tab,
       and spectra (ugex.ins), lbj-piano (lbjPiano.ins), resflt (resflt.ins),
       scratch (ug1.ins), pins (san.ins), zd, zn, and za (zd.ins), exp-snd (expsnd.ins),
       expfil (expfil.ins), graphEq (grapheq.ins), anoi (anoi.ins)

  removed pqwvox.scm, flute.scm, bell.scm -- these instruments are now in clm-ins.scm.

  added with-marked-sound in ws.scm showing one way to annotate each note.

  added make-variable-display in snd-motif.scm: this is intended as a way to
       display arbitrary signal points in an algorithm (instrument) as it is running,
       displaying the values in a variety of formats (scale, graph, meter, text, spectrum).
       channel-data added to give access to the in-core buffers.  The graphs are
       legit Snd-channel graphs which respond to all the standard functions
       such as show-transform-peaks.  To make this prettier, I also added
       x-axis-label along the lines of foreground-color et al.

  added optional arg size added to make-table-lookup, make-wave-train, make-waveshape.
  env.scm: min-envelope, envelope-exp (env.lisp)

added samples field to header editor dialog, data-size variable (in case you are
     stuck with an AIFF file with a bogus data size field).

added after-save-state-hook so that Scheme/Ruby code can also save state -- used
     primarily by remember-sound-state in extensions.scm.

added more IIR filters to dsp.scm, including arbitrary (even) order Butterworths,
     hum eliminator

made a change to "or" hooks -- all the functions on the hook list are now run, but
     if any one of them returns non-#f, that value (or the last such value) is
     returned by the hook invocation.

added mix-click-hook
      mix-property (mix.scm)
      mix-click-sets-amp (mix.scm)
      mark-property (marks.scm)
      mark-click-info (marks.scm)

removed --with-html configure choice, and all the XmHTML/gtkembedmoz code.
     The following X resources were removed since they have no use: htmlWidth,
     htmlHeight, htmlFontSizeList, htmlFixedFontSizeList.  snd6.scm has
     the function with-html to get the equivalent of the old Help menu action.

added html-program which currently can be netscape or mozilla.

added optional begin-time arg to make-mix-sample-reader.

removed mus_sound_seek and mus_file_seek (snd6.scm has a replacement for mus-sound-seek)
        mus_header_aiff_p, mus_sound_aiff_p (use header-type = MUS_AIFF),
	mus_header_set_aiff_loop_info (use ...full_loop...)
        mus_sound_finalize (a no-op for years)

removed gm.scm (replaced by gobs of filters in dsp.scm)

added png files needed by fm.html (inadvertently omitted earlier)

property-changed-hook -> window-property-changed-hook (previous name was ambiguous).

added add-text-to-status-area in snd-motif.scm for -notebook.  It might be
      nice to put Dave Phillip's icon bar in this area.

realloc support in sndlib for MacOS thanks to Michael Klingbeil.
rt.lisp now works in cmucl thanks to Michael Scholz.

checked: gtkglext-0.99(.1) and 1.0.0.

with much help from: Michael Scholz, Michael Klingbeil, Fernando Lopez-Lezcano,
      Pat Pagano