(missed those and *emacs* the first time round because they pull
in their png dependencies via default-on options; they were included
in the test bulk build though)
Snd 8.8:
many improvements from Mike
Jack support in OSX and Cygwin from Kjetil
poussin-sum and jackson-sum in dsp.scm (more band-limited pulse-trains), and changed
amplitude scaling in fejer-sum and legendre-sum so that they always peak at 1.0.
Also added a note in clm.html showing a way to get a time-varying pulse-train.
changed default-output-data-format to mus-bfloat
removed initFile and the (undocumented) htmlDir X resources
make install now copies the *.scm|fs|rb files to {prefix}/share/snd
added read/write support for Apple's new CAFF (64-bit) audio files
checked: glib 2.12.7|8|9, gtk 2.10.7|8|9, Mesa 6.5.1|2, pango-1.15.3|4|5,
sbcl 1.0.1|2, fth 1.0.7
Thanks!: Mike Scholz, Kjetil Matheussen, Meino Christian Cramer, Michael Edwards
Snd 8.7
a huge number of *.fs and *.rb improvements from Mike, including the
new file bird.fsm.
added frame.scm with:
frame-reverse! frame-copy (from mixer.scm)
sound->frame frame->sound
region->frame
make-frame-reader frame-reader? frame-reader-at-end frame-reader-position
frame-reader-home free-frame-reader copy-frame-reader frame-reader-chans
next-frame previous-frame read-frame
make-region-frame-reader make-selection-frame-reader
make-track-frame-reader read-track-frame make-sync-frame-reader
frame->sound-data sound-data->frame
sound->sound-data sound-data->sound
region->sound-data track->sound-data selection->sound-data
file->vct vct->file
frame->vct vct->frame
file->sound-data sound-data->file
insert-sound-data insert-frame insert-vct
mix-sound-data mix-frame
scan-sound map-sound (this replaces 8.6's scan-sound)
simultaneous-zero-crossing
added to extensions.scm:
pad-sound contrast-sound dither-sound scale-sound offset-sound normalize-sound
added to examp.scm:
compand-sound sync-all
sound-data-multiply! sound-data-add! sound-data-offset! sound-data* sound-data+
sound-data-copy sound-data-reverse! sound-data-peak
region-home
add-source-file-extension
clip-hook: called whenever we're about to clip while writing a sound file
unclip-channel (dsp.scm) based on LPC (reconstruction via forward and backward prediction)
lpc-coeffs and lpc-predict in dsp.scm
io.c: mus_clip_set_handler
finally decided to build in the definition of pi in Guile and Gauche.
In the context of Snd, it is absurd to have to make sure "pi" is defined all the time.
It's already defined in Forth, and in Ruby it's PI in the math module.
clm.c: removed (unused) mus_make_frame|mixer_with_data
removed the default font settings in Snd.gtkrc -- presumably Snd
will now pick up your theme's default font.
added a -nogtkrc startup switch. This turns off the search for a gtkrc file,
or its built-in equivalent -- you get whatever your current theme wants.
removed open-sound-file, vct->sound-file, and close-sound-file.
These were optimizations that make little sense anymore -- use
mus-sound-open-output and friends instead. See snd8.scm for
backwards compatible replacements.
mix tags use the mix-color now
Checked: sbcl 1.0,
lesstif 0.95 (it still doesn't work with Snd -- segfaults,
comatose listener, etc),
cmucl 19d (dies trying to compile cmn's transpose.lisp,
so that file is commented out for this version of cmucl),
pango 1.15.1|2, fontconfig 2.4.2, cairo 1.2.6, glib 2.12.5|6, stklos 0.82,
gamin 1.8.0 (this version fixes at least one of the problems
that would sometimes cause Snd to hang)
Thanks: Fernando Lopez-Lezcano, Mike Scholz, Kjetil Matheussen, Forest Bond
Snd 8.6
many improvements from Mike.
mix/track mechanism sped up by about a factor of 100, so its possible
to have thousands of each (but the screeen gets very cluttered).
added mix-name, track-name, track-tag-y, mix-name->id, and track-name->id
to help navigate in these situations.
out-any, in-any, locsig, move-sound, and friends can now handle vct and sound-data objects
as the "stream" argument. In with-sound, this is the *output* variable or :output
argument which then applies to all notes. So, with-sound can be used in a zillion new ways:
(vct-scale! (with-temp-sound (:output (make-vct 2210)) (fm-violin 0 .1 440 .1)) 2.0)
This extension caused changes in sound-data object handling:
sound-data-scale! (for with-sound writing to a sound-data object and with the
:scaled-to or :scaled-by arguments)
sound-data-fill! (also for with-sound if not :continue-old-file)
fade.scm instruments changed to use outa rather than vct-map!
moved samples->sound-data to snd8.scm.
Mike provided sndins support for this change.
rf64 headers and mutable riff for very large output files.
mus-float-equal-fudge-factor (mainly for reasonable generator equal? checks)
->frequency, ->samples (ws.scm) for things like (violin 0 .1 'e4).
channel-clipped? in examp.scm
filter-fft in examp.scm.
checked: Fedora Core 6, sbcl 0.9.18, fth 1.0.0, Gauche 0.8.8, autoconf 2.61
Thanks: Jacek M. Holeczek, Rick Taube, Mike Scholz, Kjetil Matheussen, Julius Smith,
Joseph Anderson, SamButcha
Snd 8.5
many improvements thanks to Kjetil and Mike.
gl2ps support, gl-graph->ps function, --with-gl2ps switch, gl2ps.[ch]
added gtk-effects-utils.scm, gtk support for *-menu.scm.
finally implemented the log-frequency display in non-GL spectrograms.
save-marks changed to keep matching sync values
add-mark now takes new optional trailing args: name and sync
removed the gtk_print stuff from xg.c since it's all useless without
support for the cairo graphics functions and the pango functions
that access them.
sounds->segment-data (examp.scm) -- returns segment start/dur/maxamp data for collections
of sounds.
with-file-monitor -- can be set to #f to turn off the FAM process stuff.
add-watcher and delete-watcher -- this is a simpler (and less accident-prone)
hook to catch any change to the sound list, the current selection, or the mark list;
it is intended to replace the multi-hook kludges currently used to set dialog button
sensitivity, for example. Since each watcher is identified by a unique integer,
local (unnamed) functions can easily be deleted and so on.
removed selection-changed-hook (use simpler watcher mechanism instead).
in cmn, thickness message now affects bars locally. Added *double-barline-thickness*.
checked: gtk-2.10.4|5|6, sbcl 0.9.17, clisp 2.40|1.
Thanks: Michael Edwards, Mike Scholz, Kjetil Matheussen, Carlos Pita,
Carsten Heinrigs, Dragan Novetski, Jacek M. Holeczek, David O'Toole
Snd 8.4
many ruby, forth, and sndins-related improvements from Mike including new file analog-filter.rb.
"scheme" instead of "guile" in various names in inf-snd.el (for gauche)
improvements in strad.ins and bandedwg.ins from Juan Reyes
snd_frg.scm thanks to Olivier Doare
granulated-sound-interp (examp.scm)
display-bark-fft (dsp.scm) -- spectral display using bark, erb, and mel scales
def-optkey-instrument (ws.scm)
new optional argument to graph -- lisp graph axis choice
new axis choice --show-bare-x-axis
snd-color
snd-font
after-lisp-graph-hook
removed vu-font and vu-font-size, added vu-in-dB
removed spectrogramColor X resource
checked: ruby 1.8.5, sbcl 0.9.15|16, gtk 2.10.2|3, fth 0.10.22
Thanks: Mike Scholz, Anders Vinjar, Kjetil Matheussen, Bill Sack, Pam & Harold Norris,
Juan Reyes, Daniel Stahl, Michael Edwards, Carlos Pita
1-Aug: Snd 8.3.
31-Jul: windowed-maxamp renamed moving-max, added moving-rms,
moving-sum, moving-length (dsp.scm)
average renamed moving-average in clm.
overlay-rms-env in draw.scm.
28-Jul: snd8.scm, removed make-ppolar|zpolar (use make-two-pole|zero).
27-Jul: mfilter in dsp.scm.
17-Jul: merged new-icons.scm into new-buttons.scm and renamed the latter toolbar.scm.
12-Jul: green.scm.
10-Jul: dlocsig.scm.
3-July: removed vct-map.
28-Jun: moved rmsgain code to clm-ins.scm.
23-Jun: Snd 8.2.
12-Jun: fmviolin.clm.
6-Jun: changed after-apply-hook to after-apply-controls-hook.
2-Jun: removed mus-make-error.
25-May: Walter Zorn's wz_tooltip.js to spruce up the documentation.
7-May: Snd 8.1.
21-Apr: many .fs files thanks to Mike Scholz (removed obsolete gfm directory).
15-Apr: first portion of Gauche support.
12-Apr: clm-load (ws.scm) for cm.
31-Mar: rt-player.scm (Kjetil).
28-Mar: Snd 8.0.
Forth as extension language, thanks to Mike Scholz.
shorten, tta, wavpack support.
20-Mar: heart.scm (use Snd with non-sound data).
14-Mar: x-axis-as-clock for more informative x-axis tick labels in very large files.
10-Mar: added a stop sign to interrupt long computations (equivalent to C-g).
8-Mar: kmenu.scm thanks to Maxim Krikun.
3-Mar: show-selection (extensions.scm).
27-Feb: Snd 7.19.
tracking-cursor-style.
21-Feb: bind-key now takes a character or string 1st arg (as
well as an integer); if a string, it's treated
as the X/Gtk key name (e.g. "Home" or "plus"). It
also has a 6th optional arg, a preferences
dialog name (so that the dialog can reflect current key bindings by functionality).
with-tracking-cursor and with-verbose-cursor as synonyms for cursor-follows-play and verbose-cursor.
17-Feb: mus-file-data-clipped -> mus-clipping, added mus-file-clipping for local settings
data-clipped -> clipping
mus-prescaler (global) alongside previous mus-file-prescaler
added pausing -- returns #t if DAC is paused, can be set to #t or #f to start/stop pausing
similarly playing -- #t if DAC is running (may be paused), settable to start/stop playing
removed dac-is-running (it's in snd7.scm)
9-Feb: Bill Sack's stochastic.scm and snd-stochastic.pd, stochastic.png in grfsnd.html.
2-Feb: mus_audio_sun_outputs -> mus_sun_set_outputs, added mus_netbsd_set_outputs.
mus_audio_set_oss_buffers -> mus_oss_set_buffers.
changed ALSA environment variable names to use MUS, not SNDLIB.
changed ALSA default device to "default" from "hw:0"
30-Jan: new-sound-dialog.
PKGLOCALEDIR and which install their locale files directly under
${PREFIX}/${PKGLOCALEDIR} and sort the PLIST file entries. From now
on, pkgsrc/mk/plist/plist-locale.awk will automatically handle
transforming the PLIST to refer to the correct locale directory.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
Snd 7.18
snd_pd_external.c, help-snd-fm.pd, and pd-fm.scm and other changes for Pd, thanks to Kjetil.
Many more improvements thanks to Mike.
default sample type is now float. This should only affect the "peak-env" files which will
need to be rebuilt (just delete the current peak files, and they'll be rebuilt as needed
automatically).
analog-filter.scm: Butterworth, Chebyshev, inverse-Chebyshev, Bessel(-Thompson), Elliptic filters.
(These functions are based on code of Anders Johansson)
new fft windows: samaraki and ultraspherical (related to the dolph-chebyshev window)
ultraspherical window has an additional parameter (side lobe shape) named
fft-window-alpha here (to parallel fft-window-beta).
new sound effects:
sinc-train (clm.html)
reverse-by-blocks and reverse-within-blocks (examp.scm)
pulse-voice (examp.scm)
moved make-iir-low|high-pass-1 to snd7.scm (from dsp.scm)
removed the various sorting indices (sort-by-name|size|date|entry), and changed
the way the user-defined sorter works. (snd7.scm defines the old names).
Also removed (unimplemented, but documented) file-sorters list, and the
now useless just-sounds-hook. added sound-file? for easier file-filter definition.
in both Motif and Gtk, the file selection dialogs have been changed -- there are
fewer visible widgets, but popup menus are scattered around to handle uncommon
chores (sorting, filtering, etc). libgamin is connected to the file list as
elsewhere. Right-click in the file list brings up a menu of sorting/filtering
choices; in the directory list it brings up a menu that splits out the parent
directories (single-click in the directory list moves to that directory);
in the file and filter entry widgets it brings up a list of previous choices.
If you type in the file entry widget, the file list tries to move to the apparent choice.
The "preview area" is as before -- a description of the selected sound file,
with "play" and "just-sounds" buttons.
In the xm module, XmNpopupEnabled is now an enum (it was boolean -- I was following
the incorrect info in the Motif docs -- use XmPOPUP_AUTOMATIC rather than #t).
the happy buttons have hunkered down for the winter.
checked: gtk 2.8.8|9|10, sbcl 0.9.7|8, clisp 2.36|7 (cmn), motif 2.3.0, ruby 1.8.4,
Mesa 6.4.1 (openGL), gamin 0.1.7 (fam)
with much help from: Kjetil, Mike, Russell Aspinwall
Snd 7.17
Mike made many improvements in the ruby support
Kjetil added a -volume argument to sndplay
all dlp directory files moved to main directory (to simplify load-path handling)
added: *clm-notehook* and *definstrument-hook* added to Guile version of with-sound (thanks to Rick)
the rest of the preferences dialog
mus-header-raw-defaults
sync-max
SND_PATH environment variable (optional load path directory list)
if --with-float-samples and --with-doubles, the internal sample data type is double.
(this also affects CLM)
moved snd-apropos to snd7.scm.
clm: fixed various instruments that were using mus-location with src:
backandforth.ins, scratch in ug1.ins, granular.ins, various test ins.
added optional srate envelope arg to fullmix.
Rick added clm.asd.
Fernando updated dlocsig and friends.
*clm-tempfile-data-format* and *clm-tempfile-header-type*.
cmn: *dynamics-minimum-vertical-separation* added by Anders.
Anders also added support for dy0 and dy1 messages in wedge.lisp.
Rick added cmn.asd.
*dot-vertical-spacing*
checked: ACL 8.0, openmcl 1.0, cmucl 19c, clisp 2.35 (cmn), gtk 2.8.7
with much help from Mike, R Mattes, Rick, Anders, J Reyes, Kjetil, T Blechmann
J Rundall, H Fugal, Fernando, J Sandgren, M Klingbeil
7.16:
tarball with NEWS file not found
About 7 years of development. Includes among others:
support for flac, speex, ogg/vorbis; a choice of frontends between
motif and gtk; esound support; guile scripting support; and native
NetBSD audio code.
Some possible future work on this package:
Add options for fftw2 fftw3 ladspa gamin/fam mpg123 timidity ruby
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.