Snd Changelog

What's new in Snd 16.2

Feb 26, 2016
  • owlet error-history field if WITH_HISTORY=1, (*s7* 'history-size) sets its size
  • added *read-error-hook*
  • removed s7_eval_form, changed s7_eval to take its place
  • s7_eval_c_string takes only one statement now (use begin to handle multiple statements)
  • added s7_load_with_environment
  • checked: gtk 3.19.4|5, ruby 2.4

New in Snd 16.1 (Feb 26, 2016)

  • most of my time went into lint.scm, but the harder I work on it, the longer my TODO list.
  • s7: :key and :optional removed.
  • checked: gtk 3.19.1|2|3, sbcl 1.3.0|1, GSL 2.0

New in Snd 16.0 (Feb 26, 2016)

  • in s7, the d,f,s,l exponents are now disabled by default (use e,E,@)
  • hash-table-size -> length
  • append is generic
  • make-random-state -> random-state
  • checked: gtk 3.18.0|1|2, FC 23, OSX 10.11, sbcl 1.2.16

New in Snd 15.9 (Feb 26, 2016)

  • procedure-signature, c-object?, proper-list?, float?
  • list? is now "pair or null" -- use proper-list? for R5RS list? (*s7* 'float-format-precision)
  • libutf8proc.scm (bindings for the utf8proc library)
  • The clm optimizer revision is about 2/3 done
  • checked: sbcl 1.2.14|15, gtk 3.17.6|7|8

New in Snd 15.8 (Feb 26, 2016)

  • changed make-iterator with a closure argument -- the closure is now called without any arguments, and the it should contain a variable named 'iterator? with a non-false value.
  • s7 now calls setlocale(LC_NUMERIC, "C") at startup.
  • What used to be called the run macro (clm optimizer) has been completely rewritten for about the sixth time; many changes in s7.h, etc.
  • 1990: CL version (from Mus10 from MusicN)
  • 1993: CL + FFI
  • 1994: CL->C
  • 2002: Guile+Snd run macro
  • 2008: s7+sndlib
  • 2015: This time for sure!
  • This change is about 1/3 complete, so view this version of Snd with grave suspicion.
  • checked: gtk 3.17.4|5, sbcl 1.2.13

New in Snd 15.7 (Feb 26, 2016)

  • added CM_patterns.scm thanks to Rick and Anders
  • removed s7 ~ format directive
  • changed bytevector* to byte-vector* (r7rs.scm has definitions of the old forms)
  • added hash-table-function
  • checked: gtk 3.17.2|3, sbcl 1.2.12

New in Snd 15.6 (May 12, 2015)

  • add int-vector? int-vector make-int-vector
  • changed s7_copy arg interpretation (it's now a normal s7_function).
  • checked: gtk 3.16.1|2 3.17.1, FC 22 (gcc 5), Ruby 2.2, sbcl 1.2.11

New in Snd 15.5 (Apr 7, 2015)

  • repl.scm to replace use of readline in various cases. The main one is Snd without a GUI. In this case, you need to tell Snd where to find repl.scm. In my ~/.snd_s7 file, I have:
  • (set! *load-path* (cons "/home/bil/cl" *load-path*))

New in Snd 15.4 (Feb 28, 2015)

  • before-save-as-hook arg order changed, also new-sound, save-region, save-selection, save-sound-as
  • deprecated output-name-hook, info-popup-hook, peak-env-hook, start-hook
  • changed s7_new_type_x args
  • mus-audio* deprecated (these haven't worked at all for a long time)
  • mus_set_name (and mus-set-name) deprecated
  • in CLM, Juan Reyes added sbcl support for gnuplot in dlocsig.lisp
  • checked: sbcl 1.2.8, gtk 3.15.5|7|8|9

New in Snd 15.3 (Jan 26, 2015)

  • Procedure-documentation no longer refers to an optional string that happens to be the first thing in a procedure body, but to the value of a variable named 'documentation' in the procedure's environment.
  • Procedure-arity is deprecated, s7_procedure_arity replaced by s7_arity. procedure-name is deprecated. data-format removed (see snd15.scm).
  • Format has another control directive: ~N or ~n which gets a numeric argument from the argument list: (format #f "~nD" 20 123)
  • With-sound argument order changed slightly. It is now: output channels srate.
  • float-vector-equal? -- relative difference of two float-vectors.
  • make-iterator, iterate, iterator? -- replace make-hash-table-iterator and hash-table-iterator? These are generic functions to traverse sequences.
  • if (*s7* 'safety) > 1, optimization is turned off
  • (*s7* 'maximum-stack-size) is now (*s7* 'max-stack-size)
  • (*s7* 'print-length) replaces *vector-print-length*
  • (*s7* 'bignum-precision) replaces *bignum-precision*
  • (*s7* 'stacktrace-defaults) replaces *stacktrace*
  • checked: sbcl 1.2.7, gtk 3.15.4

New in Snd 15.2 (Dec 29, 2014)

  • Mike Scholz fixed bugs in clm and the NetBSD audio code, and updated many of the scripts.
  • Anders Vinjar added lispworks code for gnuplot in dlocsig.lisp.
  • All the motif stuff (xm.c, snd-motif.scm etc) has moved to the *motif* environment, OpenGL (gl.c, snd-gl.scm) to *gl*, and gtk (xg.c, snd-gtk.scm etc) to *gtk*.
  • mus-copy (or copy) copies a generator.
  • added snd15.scm (old vct names)
  • checked: gtk 3.15.2|3, FC 21, sbcl 1.2.6

New in Snd 15.1 (Nov 5, 2014)

  • Donated a Leslie instrument, rotates, in leslie.cms and leslie.ins (in clm).
  • s7 now has a s7webserver directory containing s7 web repl.
  • Updated some of the Forth and Ruby scripts.
  • checked: sbcl 1.2.4|5, gtk 3.14.0|1|2|3|4, 3.15.0|1

New in Snd 15.0 (Sep 30, 2014)

  • clm and snd: Juan Reyes provided his banded waveguide instrument,bandedwg.ins and bandedwg.cms, and a Tibetan bowl: bowl.ins and bowl.cms.
  • s7: *s7* is an environment holding various curiousities. moved *gc-stats*, *safety*, and *maximum-stack-size* into *s7* added cutlet to remove a binding from an environment

New in Snd 14.9 (Aug 20, 2014)

  • s7:
  • symbol-access is now just the set accessor function (not a list), and it is local to an environment. See reactive-let et al in stuff.scm.
  • define and friends now return the value, not the symbol (like set!).
  • added mockery.scm.
  • added hash-table* (unconsed args):
  • (hash-table '(a . 1) '(b . 2))
  • (hash-table* 'a 1 'b 2)
  • "let" replaces the "environment" terms
  • make-procedure-with-setter is now dilambda
  • new name old name
  • let? environment?
  • rootlet global-environment
  • unlet initial-environment
  • with-let with-environment
  • outlet outer-environment
  • sublet augment-environment
  • varlet augment-environment!
  • curlet current-environment
  • owlet error-environment
  • funclet procedure-environment
  • let->list environment->list
  • openlet open-environment
  • openlet? open-environment?
  • coverlet close-environment
  • let-ref environment-ref
  • let-set! environment-set!
  • inlet environment and environment*
  • dilambda make-procedure-with-setter
  • dilambda? procedure-with-setter?
  • Snd: edit-position can't be a function
  • mus-sound-path and *mus-sound-path*
  • *default-output-data-format* is now *default-output-sample-type*
  • default-output-data-format is replaced by default-output-sample-type
  • similarly, data-format, mus-sound-data-format, mus-data-format->string and mus-data-format-name

New in Snd 14.8 (Jul 10, 2014)

  • s7:
  • symbol-table function now returns a list of all known symbols.
  • require added
  • removed unoptimize and reader-expand
  • Display macro in stuff.scm
  • added ~< expr ~> in format as a sort of "here-string" escape -- any s7 code in the brackets is evaluated in the current environment, and the result is inserted at that point in the output string (using object->string if the result is not a string). This is similar to {var} or $var in various shell languages.
  • also added ~| as a smarter ~^
  • for all output functions, #f as port means no output (/dev/null in effect)
  • Snd:
  • the numbering for dialog-widgets has changed -- the unused entries were removed.

New in Snd 14.7 (Jun 3, 2014)

  • s7:
  • sort! now operates in-place on lists (it used to copy the list).
  • sort! also accepts bytevectors (for r7rs), and as a by-product, strings.
  • string-up|downcase built-in (for r7rs).
  • stuff.scm.
  • cyclic-sequences.
  • hash-table-entries.
  • Snd:
  • removed defvar (use define-envelope), and multiply-arrays (missed earlier)
  • checked: sbcl 1.1.18|1.2.0, gtk 3.13.1|2

New in Snd 14.6 (Apr 24, 2014)

  • clm: even|odd-weight|multiple (new built-in functions).
  • moving-norm (new generator).
  • deprecate frame and mixer generators -- use float vectors instead.
  • finally deprecate sound-data objects -- this includes a bunch of functions such as dac-hook, mus-sound-read, etc.
  • "frample" replaces "frame" wherever "frame" refers to a set of samples that represent a single sampling instant (also known as a "sample frameā€). So, the generator once known as "file->frame" is now "file->frample".
  • CL clm: bumped version number to 5 (I'll leave clm-4.tar.gz for future generations to marvel at). The new CL clm does not have frames or mixers, and has file->frample and frample->file in place of file->frame and frame->file.
  • Also sound-frames -> sound-framples and so on.

New in Snd 14.5 (Mar 28, 2014)

  • CLM: Lispworks port thanks to Anders Vinjar.
  • checked: gtk 3.11.6|7|8, sbcl-1.1.16

New in Snd 14.1 (Oct 16, 2013)

  • removed frame.scm and mixer.scm (frames and mixers have been replaced by float-vectors in s7-clm).
  • checked: gtk 3.9.16, 3.10.0|1, sbcl 1.1.12.

New in Snd 14.0 (Sep 12, 2013)

  • added --with-readline to the configure script
  • in s7: make-shared-vector, homogenous int and float vectors
  • sound-data and vct (the types) are now just synonyms for vector
  • (this is step 3 of the guile->s7 plan from 2008)
  • dac-hook data is now a list of float vectors
  • ~W in format, :readable as third arg of object->string
  • write.scm: pretty-print, checkpoint (removed pretty-print.scm).
  • WITH_MAIN compiler flag to include a main program in s7.c (a REPL).
  • libc.scm (bindings to most of libc)
  • libgsl.scm (bindings for some of GSL)
  • reader-expand and reader-cond -- read-time choices (#+ analogs)
  • removed oscope.scm and sound-data->sound-data
  • removed kmenu.scm (obsolete)

New in Snd 13.7 (May 25, 2013)

  • s7: r7rs changes: flush-output-port, vector-append, read|write-string, boolean=?, symbol=?, exit, emergency-exit.
  • added destination/start/end args to copy.
  • Snd: new gtk listener, split out as glistener.c/h

New in Snd 13.6 (Apr 23, 2013)

  • added environment-ref|set!
  • char-position and string-position (moved from Snd to s7)
  • make-formant-bank and formant-bank? (and changed formant-bank again)
  • comb-bank, all-pass-bank, and filtered-comb-bank generators
  • one-pole-all-pass generator moved to C
  • envelope-interp, rxyk!cos, and rxyk!sin moved to C
  • yet another version of oscil-bank
  • removed mus-file-prescaler and mus-prescaler -- these no longer serve any purpose.

New in Snd 13.5 (Mar 12, 2013)

  • moving-max is now built-in.
  • added vct-min and vct-max.

New in Snd 13.4 (Feb 4, 2013)

  • Fernando added 3rd order ambisonics support in dlocsig.scm.
  • clm+s7 is finally up to speed -- I think it is as fast as the old run macro version. This took about twice as long as I expected.

New in Snd 13.2 (Oct 30, 2012)

  • named let*.
  • deprecated clm-print (snd13.scm has a replacement).
  • checked: fftw 3.3.2, gtk 3.6.0|1 3.7.0, sbcl 1.1.0

New in Snd 13.1 (Sep 20, 2012)

  • cload.scm to automatically link in a C function from a C shared library this file and lint.scm are now also included in the s7 tarball.
  • symbol->dynamic-value

New in Snd 13.0 (Aug 13, 2012)

  • Mike Scholz fixed up the sndins directory.
  • Matti Koskinen got s7 working in uclinux on the blackfin processor.
  • removed run.c and the run macro (34000 lines!).
  • removed ptree-channel, max-virtual-ptrees, optimization,
  • optimization-hook, add-clm-field, declare, and all the scheme
  • functions that depended on these.
  • deprecated vct-map! and removed it from the Snd files.
  • added Save icon to the toolbars
  • moved the clm/clm2xen struct declarations out of the header files,
  • and added accessor functions. (Bumped clm to 5.0, sndlib to 22.0).
  • completely changed defgenerator (in s7 it is now based on environments).
  • removed def-clm-struct and ws-interrupt.
  • added mus-mix-with-envs (for fullmix), and oscil-bank.
  • removed gamin support (ancient libfam replacement).
  • removed the s7 WITH_OPTIMIZATION switch
  • checked: gtk 3.5.6|8|10, mpc 1.0, sbcl 1.0.58

New in Snd 12.12 (Jun 26, 2012)

  • s7: open-environment?
  • all built-in functions are generic, and any scheme (or C) function can be.
  • added throw (like error, but does not affect error-environment, nor call *error-hook*).
  • Snd: removed the --with-static-* configuration switches. The difference
  • in either file size or runtime size is miniscule compared to
  • everything else, and memory is extremely cheap. This includes
  • --with-static-xm|xg|alsa|motif
  • checked: sbcl 1.0.57, FC 17 (gcc 4.7.0), gtk 3.5.4

New in Snd 12.11 (May 23, 2012)

  • s7: if WITH_SYSTEM_EXTRAS is 1 (default is 0) include
  • directory? file-exists? delete-file getenv directory->list system
  • with-baffle to limit the scope of continuations
  • #_ is the initial (built-in, startup) value of
  • *error-info* replaced by error-environment, stacktrace changed slightly.
  • hooks changed completely (s7 version bumped to 2.0 since this is a
  • large backwards imcompatible change).
  • procedure-setter is settable, so most of the old procedure-with-setter
  • stuff is gone.
  • s7_list, s7_environment_ref|set, s7_procedure_set_setter in s7.h.
  • make-type replaced by open-environment. s7.html has a largely backwards
  • compatible scheme version of make-type.
  • aritable? to check arity match (named "procedure-arity-includes" in srfi-102).
  • arity to generalize and replace procedure-arity
  • removed trace and untrace (replaced by the trace macro in s7.html).
  • sndlib: removed mus-audio-describe, audinfo, ESD audio support.
  • Snd: removed print-hook.

New in Snd 12.10 (Apr 12, 2012)

  • This version is mostly bugfixes and documentation improvements.
  • In s7 "@" is now an exponent marker.
  • checked: gtk 3.3.18|20|3.4.0, gmp 5.0.4, mpfr 3.1.0, cairo 1.12.0

New in Snd 12.9 (Mar 6, 2012)

  • clm/cmn/snd/s7: removed snd1.html and snd-contents.html (these were
  • using Javascript for stuff that is now built into html), and
  • translated the rest of the html files to html5.
  • snd: removed the recorder, recorder-dialog, snd-g|xrec.c,
  • changed various menu names and added a view:with-grid menu
  • moved dialog buttons around at random,
  • removed save-macros and named keyboard macros,
  • added context-sensitive tooltips to the gtk version,
  • changed the gtk listener default font to Monospace 11,
  • the "minibuffer" is now a "statusbar". This means it is not
  • editable, so all the key sequences that used to prompt for
  • info are either undefined now, or use a dialog instead.
  • removed minibuffer-history-length, prompt-in-minibuffer, clear-minibuffer,
  • and report-in-minibuffer. Replaced the latter two with status-report.
  • removed sound-specific search-procedures (i.e. there is only one search procedure)
  • removed the bomb function

New in Snd 12.8 (Feb 2, 2012)

  • s7: added logbit? (using gmp arg order, not CL)
  • added reverse argument (in C) to s7_new_type_x and (in scheme) to make-type.
  • This is needed because an object might implement the apply and set methods,
  • but they might refer to different things (I should have noticed this a long
  • time ago)
  • s7_environment_to_list and environment->list return just the local environment's bindings. They used to crawl up the environment chain, but that can now be done with outer-environment.
  • outer-environment returns the environment enclosing its argument (an environment).
  • added an object system example in the environments section of s7.html.
  • It's based on environments as classes/instances.

New in Snd 12.7 (Dec 30, 2011)

  • s7 is faster, but not enough so to remove the run macro. This business has taken longer than I expected.
  • checked: gtk 3.3.4|6, sbcl 1.0.54

New in Snd 12.5 (Sep 30, 2011)

  • This version involves primarily s7 optimizations. About half the
  • standard clm instruments now run nearly as fast without the run
  • macro as with it. Progress has been slow...
  • in clm, the function output option in out* and in* has been removed.
  • added mus-type
  • checked: sbcl 1.0.51, gtk 3.1.16|18|90|92 3.2.0, ruby 1.9.3

New in Snd 12.4 (Aug 18, 2011)

  • removed thread support from Snd/s7/sndlib.
  • removed snd9.scm.
  • s7 is nearing the point where we can get rid of the run macro.
  • Currently the fm-violin in C takes 400 callgrind units to generate
  • 20 seconds of sound, in run it takes 480, and in s7 by itself, 700.
  • In Snd 12.2, s7 took 4896, in Snd 11.10 from last August, 7392.

New in Snd 12.3 (Jul 11, 2011)

  • removed the profiling option in s7.
  • all my time in this version went into trying to make s7 faster.
  • I believe it is now 3 times as fast as it was in early May.
  • Unless someone objects violently, I'm going to remove the multithreading
  • support from s7. It has turned out to be less useful than I hoped,
  • mainly because s7 threads share the heap and therefore have to coordinate
  • all cell allocations. So it's faster, and simpler to use multiple
  • pthreads each running a separate s7 interpreter, rather than one s7
  • running multiple s7 threads. In clm, the contention is for access to
  • the output stream, so the gain in speed is not always something to
  • brag about. And begin_hook handles GUI-related problems without
  • any threads. Last but not least, the effort to make the non-threaded
  • s7 faster has messed up parts of the threaded version. Rather than
  • waste a lot of time fixing this, I'd rather just flush the stuff.
  • Due to changes in Gtk, functions like gtk_vbox_new are no longer
  • defined in libxm. This means that several of the gtk-related
  • scheme files in the Snd tarball now only work in Gtk 3.0 or later.

New in Snd 12.2 (May 29, 2011)

  • s7 is about 35% faster in most cases.
  • run is smarter about implicit indexing, so I've cleaned up a lot of the instruments.
  • s7_procedure_setter|getter in s7.h.

New in Snd 12.1 (Apr 25, 2011)

  • added lint.scm, a scheme lint checker.
  • added expr.scm, which tries to find a math expression that matches
  • an arbitrary set of data.
  • added with-interrupts.It defaults to #t, but both XtAppPending and
  • gtk_events_pending can cause a noticeable slow-down in the computation,
  • so set with-interrupts to #f to turn off the GUI checks.
  • added show-full-range to make the y-axis bounds accommodate the sound values.
  • added info-popup-hook to specialize the popup menu's info output.
  • removed verbose-cursor (use with-verbose-cursor).
  • removed the unused "chn" parameter from the pan-mix functions in mix.scm.
  • checked: gtk 3.0.4|5|6|7|8, 3.1.2, sbcl 1.0.47, mpfr 3.0.1

New in Snd 12.0 (Mar 18, 2011)

  • selection has a loop play triangle
  • mix and cursor have play triangles
  • if mouse click would trigger play, the cursor is a right or left arrow.
  • removed draggable mark play triangle and mark-drag-triangle-hook.
  • added variable play-arrow-size (default: 10)
  • added Edit:Unselect menu option
  • added with-menu-icons (gtk only).
  • added optional "alpha" arg to make-color.
  • moved delete-selection-and-smooth from selection.scm to C.
  • added delete-samples-and-smooth.
  • typing space in a graph plays from the cursor, space while playing = pause/continue
  • startup window size is 700x300
  • auto-resize defaults to false in Gtk, true in Motif.
  • in gtk, the trailing cr argument to draw-axes in not optional.
  • in Motif, libXpm is no longer optional.
  • the Region browser print option has been removed.
  • removed click-for-listener-help.
  • removed Snd.gtkrc, Snd.ad, and the obsolete X resources stuff.
  • removed time-graph-hook; replaced by combined-data-color.
  • tracking-cursor-style defaults to cursor-line.
  • cursor-follows-play moved to snd11.scm.
  • with-tracking-cursor is now a global (not sound-local).
  • removed c-g! function; it can be replaced by stop-playing.
  • removed c-g? in Scheme -- it is superfluous.
  • added 'src' and 'auto' buttons to the Save-as dialogs for automatic srate conversion
  • and a blog-style commentary.In the extension language, these are
  • save-as-dialog-src and save-as-dialog-auto-comment.
  • added sync-style variable: sync-none, sync-all, or sync-by-sound (now the default).
  • this used to be handled in extensions.* under names like global-sync-choice.
  • sync-none was the previous default. examp.scm sync-all function renamed sync-everything.
  • moved with-reopen-menu to snd11.scm, and removed it from the preferences dialog.
  • This menu is almost the same as the built-in File:Open recent menu.
  • moved make-hidden-controls-dialog from snd-motif|gtk.scm to snd11.scm, and removed it
  • from the preferences dialog.It is now built-in as Options:Controls
  • moved show-selection from extensions.* to C, added unselect-all (in C)
  • which replaces clear-selection (selection.scm).
  • added show-full-duration, initial-beg, initial-dur, ask-about-unsaved-edits,
  • with-toolbar, remember-sound-state, with-smpte-label.removed old
  • show-smpte-label in *.scm.
  • remember-sound-state in extensions has been moved to C (old scheme code is in snd11.scm).
  • it now reads/writes a file named "remembered-.scm|fs|rb" where
  • is the current sound's file name.
  • with-toolbar defaults to true in gtk, false otherwise.It replaces toolbar.scm
  • and panic.scm.Also with-tooltips to turn tooltips on or off.
  • The built-in popup menus are now context sensitive, and the files popup.scm
  • and gtk-popup.scm have been removed. In s7/Motif, the listener popup can
  • show a stacktrace of code as it is running!
  • In the beginning, before the libxm library, I thought it made sense to include
  • functions like draw-line which would draw a line, no matter what graphics
  • environment Snd was built with.Unfortunately, cairo needs an explicitly
  • handled cairo_t structure.So, draw-line, draw-lines, draw-dot, draw-dots,
  • draw-string, fill-rectangle, and fill-polygon now have a required trailing
  • cairo_t argument (it's ignored in Motif).Also two new kludges to get and
  • free this structure: make-cairo and free-cairo.There aren't that many
  • uses of these functions (most the fancy graphic stuff uses direct cairo
  • or Motif calls from libxm), so perhaps eventually, they'll be removed.
  • To make it easier to zoom in on the FFT, the keypad arrow keys are bound
  • to zoom and move the FFT bounds, analogous to the normal arrow keys which
  • affect the time domain graph.(There isn't any place to put sliders for
  • this, and the Options:Transform sliders aren't always handy).
  • in s7, random-state->list and a C tie-in for the random number functions.

New in Snd 11.13 (Feb 12, 2011)

  • map and for-each accept any applicable object as the first argument.
  • format's ~{...~} directive can handle any applicable object.
  • the thread stuff has been exported to s7.h.
  • s7_set_begin_hook (see s7.html#s7inathread and s7.html#replrescue)
  • The basic problem is that the GUI toolkits are not thread-safe, but we
  • want the GUI to remain responsive even if s7 is caught in an infinite
  • loop in the listener. This also gives a way to break out of any long
  • computation without relying on Unix signals and weird keystrokes.
  • This is tied to C-g in the listener, so ws-interrupt (ws.scm) is
  • now a deprecated no-op.

New in Snd 11.12 (Jan 7, 2011)

  • member and assoc have an optional 3rd arg, the comparison function
  • added environment
  • in the gtk 3 version of Snd, there is no longer a -nogtkrc flag, and Snd.gtkrc is obsolete (Gtk has moved to a css-style system, but I think in gtk 3 I'll leave all the "theme" stuff to the global theme).
  • in gtk2, only versions 2.10 or later are supported.

New in Snd 11.11 (Nov 29, 2010)

  • s7 had several built-in hooks, but the hook support
  • was in xen.c and xen.h. It's now in s7 with backwards
  • compatibility definitions in xen.c. See s7.h and xen.h
  • for the C API, and s7.html for the scheme side. Also,
  • with much help from Mike, it's now possible to add a
  • C-side function to an extension language hook, so
  • the "watcher" stuff in Snd has been removed and
  • replaced with normal hooks: add-watcher and
  • delete-watcher have been replaced by effects-hook.
  • In *.scm and *.html I've replaced the old Guile
  • hook functions with shiny new replacements: hook-push,
  • hook-append, hook-remove, and various uses of hook-functions.

New in Snd 11.10 (Oct 25, 2010)

  • Mike made innumerable improvements in the scripts.
  • removed snd7.scm and snd8.scm.
  • defgenerator replaces def-clm-struct.
  • deprecated verbose-cursor (use with-verbose-cursor).
  • added 'gtk3 or 'gtk2 to *features*.
  • s7: added setters for current-input-port, current-output-port,
  • and current-error-port.
  • stdin*, *stdout*, *stderr* as the default IO ports
  • (rather than nil which is ambiguous).
  • removed special variable (dynamic binding) support (it gets
  • in the way of tail recursion).
  • s7_call_with_location to improve error handling.
  • s7 is about 10% faster in this version -- there are timings
  • at the end of s7.c and snd-test.scm.

New in Snd 11.9 (Sep 18, 2010)

  • kmenu.scm uses the new gdk key names, so it only works in gtk 2.90.7 or later.
  • removed --with-builtin-gtkrc (Gtk themes have improved a lot over the years)
  • removed --with-static-gsl
  • removed the button color functions.
  • added a play triangle to the selection, and a close button to the sound pane.
  • changed the default value of just-sounds to #t.
  • s7: :allow-other-keys in define* parameter list.
  • Greg Santucci noticed and fixed a bug in *trace-hook*.
  • checked: gtk 2.90.6|7, sbcl 1.0.42

New in Snd 11.8 (Aug 12, 2010)

  • with-doubles is now the default in the configure script
  • scan-channel and find-channel have changed slightly: they now
  • return just the sample number where the match was found, or #f.
  • button-color deprecated.

New in Snd 11.7 (Jul 9, 2010)

  • s7: hash-table for-each and map are now entry-oriented.
  • reverse of a hash-table swaps keys and values.
  • removed title-with-date (examp.scm), snd-gxutils.c,
  • window-property, window-property-changed-hook, send-mozilla
  • checked: gtk 2.90.2|3|4, Fedora Core 13, mpfr-3.0.0, sbcl 1.0.40,
  • autoconf 2.66, clisp 2.49

New in Snd 11.5 (Apr 29, 2010)

  • If you try to use some undefined function, Snd first looks through a table of (nearly) everything defined in the scheme files that come with Snd, loading the needed files automatically. To turn this off, (set! *unbound-variable-hook* #f).