sndlib change log 20-Feb: removed mus_make_error and added several typedefs. 2015 ---------------------------------------------------------------- 18-Jul: mus-sound-path. 2014 ---------------------------------------------------------------- 2-Sep: vct struct is now local to vct.c (use the accessors mus_vct_length and mus_vct_data) 14-Jul: removed aclocal.m4, added sndlib.pc. 7-Jul: removed mus-config.h.in, sndlib.h.in, windows-*, added unix-config.h.in, mus-config.h.in. 5-Jul: added --with-audio to configure script. 27-Mar: removed mus-file-prescaler and mus-prescaler -- these no longer serve any purpose. 2013 ---------------------------------------------------------------- 23-Nov: mus_sample_t is now mus_float_t. 22-Sep: cload.scm and lint.scm. 5-July: removed run.c, internal int mus_sample_t option. 1-May: removed mus-audio-describe, ESD audio support, audinfo, mus_audio_read|write_buffers, mus_samples_peak. 30-Apr: removed mus_audio_systems. 2012 ---------------------------------------------------------------- 20-Oct: --with-defaults is now built-in (i.e. mus_float_t is double). 14-Jul: removed thread stuff. 2011 ---------------------------------------------------------------- 22-Sep: def-clm-struct is now just a synonym for defgenerator. 27-Feb: the run macro's argument no longer has to be a thunk. 2010 ---------------------------------------------------------------- 11-Dec: removed midi.c, sndrecord.c, SGI support, and Alsa < 1.0 support. 7-Dec: removed mus-audio-report and changed mus-audio-describe to return the description as a string. removed mus_audio_device_p, mus_audio_system_name, mus_audio_mixer_write. 27-Jul: Float changed to mus_float_t, off_t changed to mus_long_t. 14-Jul: Rick fixed the windows build process; added sndlib.sln. 13-Jul: frame, mixer, and sound-data are set-applicable. frame and mixer are functions like vct: (frame .1 .2). 2-Jul: default audio in Linux is now ALSA. 17-Mar: Matlab-5 headers. 1-Jan: added MUS_EXPORT to headers. 2009 ---------------------------------------------------------------- 5-Dec: mus-sox headers. 7-Nov: mus_header_type_to_string and mus_data_format_to_string are now const char* so the string they return should not be freed 4-Nov: run.c (from snd-run.c), sndlib-ws.scm. 23-Oct: riff->rf64 autoconversion repaired. 16-Oct: removed Gauche support. 11-Sep: S7 support. 14-Jul: mus_samples_bounds. 12-Jul: mus_data_format_p and mus_header_type_p for C++'s benefit. 30-Jun: mus_max_malloc and mus_max_table_size. 27-Feb: removed mus_header_write_next_header (obsolete, deprecated since the days of Charlemagne) 23-Jan changes for OSS v4 thanks to Yair K. new Jack environment variables thanks to Kjetil Matheussen. 2008 ---------------------------------------------------------------- 25-Jun: RIFF bugfix and minGW configure info thanks to Steve Beet. 26-Mar: mus_samples_peak. 31-Jan: caff headers. 2007 ---------------------------------------------------------------- 12-Dec: mus_clip_set_handler. 21-Nov: sound-data-scale! and sound-data-fill! with vct/sound-data with-sound output. 20-Nov: generic out-any, in-any, locsig. 13-Nov: RF64 headers. 11-Nov: MUS_BAD_SIZE and a warning for aifc/riff size > 2^31. 26-Sep: moved config.h to mus-config.h. 31-Apr: Gauche support. 28-Mar: version 20: Forth support thanks to Mike Scholz. 17-Feb: prescaler and clipping defaults are now mus_[set_]prescaler and mus_[set_]clipping (old names in mus_file_*_default are deprecated). The file specific forms are mus_file_*, replacing data_clipped with clipping. The prescaler type is now Float (not float). 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" added mus_alsa_buffers|buffer_size|device|playback_device|capture_device|squelch_warning. 2006 ---------------------------------------------------------------- 21-Nov: mus_sample_t is now double if use-float-samples and with-doubles. 2-Nov: -volume argument added to sndplay (Kjetil Matheussen). 1-Nov: mus-header-raw-defaults in sndlib2xen. 18-Aug: _sndlib.h and sndlib.h.in + configure.ac changes. 1-Jul: mus_data_format_short_name. 23-Jun: changed type of "cm" arg to mus_file_read_any and mus_file_read_chans. These actually were mus_sample_t** all along, so I'm not sure why they were declared mus_sample_t*. 27-Apr: vct* and vct+. 2005 ---------------------------------------------------------------- 15-Nov: removed mus_audio_save|restore. 14-Jul: added defaults for data_clipped and prescaler choices. 30-Jun: removed obsolete mus_sound_maxamp (CLM no longer needs it) 9-Apr: added -start and -end (in seconds) args to sndplay. 29-Mar: version 19: removed support for Digitracker SPL files (never have seen one). removed mus_header_read_with_fd, mus_header_update_with_fd, changed mus_header_change_samples to mus_header_change_data_size (in bytes). added header-type args to other mus_header_change_* functions 15-Mar: exported optkey support stuff (sndlib2xen.h). 9-Mar: Jack input and other improvements thanks to Kjetil S. Matheussen. 26-Jan: OSX Midi bugfix thanks to Ian MacArthur. 2004 ---------------------------------------------------------------- 22-Dec: sndplay jack support and other bugfixes thanks to Kjetil S. Matheussen. 19-Dec: changed mus-data-format-bytes-per-sample to mus-bytes-per-sample (also in C). 24-Nov: sndlib2xen mus-audio-open-* audio device check bugfix (thanks Michael Scholz). 5-Nov: Jack audio support thanks to Kjetil S. Matheussen. 10-Oct: libsndlib.a in Linux should be built with ld, not gcc -- thanks to Craig Sapp. 6-Oct: added sndins and gfm directories, both written by Michael Scholz. 11-Aug: int -> bool. 10-July: Sun audio support for Jurgen Keil's driver. Removed mmreg.h dependency in windoze audio support. 6-June: CLM FFI name change: *_reset_c -> mus_*_reset_c (for consistency). 30-Apr: realloc support of Mac (old) OS thanks to Michael Klingbeil. 28-Apr: removed mus_sound_seek, mus_file_seek, mus_header_aiff_p, mus_sound_finalize, mus_header_set_aiff_loop_info, and mus_sound_aiff_p. for mus_header_aiff_p, just check the header type for MUS_AIFF (as opposed to MUS_AIFC) for mus_header_set_aiff_loop_info use mus_header_set_full_aiff_loop_info 26-Apr: added 4 more header readers. 9-Apr: removed mus_header_update, mus_file_full_name -- use mus_expand_filename. 31-Mar: version 18. fftw-3 support. removed mus_audio_mixer_save and mus_audio_mixer_restore. 25-Mar: changed install process in makefile.in (thanks to Hugo Villeneuve) 17-Mar: mus_audio input for Mac OSX. 12-Mar: removed mus_audio_clear_soundcard_inputs. 11-Mar: --prefix bugfixes in configure. 4-Mar: removed mus_header_write_with_fd. 2003 ---------------------------------------------------------------- 18-Dec: mus_audio_read|write_buffers. 11-Dec: sndlib-config, configure/make writes libsndlib.a|so 2-Dec: added mus_header_write hook. 18-Oct: xen-sndlib initialization now includes vct (thanks to Michael Scholz). protect Ruby's kernel.rand as kernel_rand. 25-Sep: removed support for Tandy headers (I never have seen one). 24-Sep: removed obsolete mus_sound_set_maxamp. 13-Sep: removed obsolete mus_header_set_aifc. 10-Sep: removed NeXT (audio) support. 6-Sep: removed mus_header_distributed and mus_sound_distributed. 15-Jul: sndlib-config 20-May: moved LONG_INT_P stuff to cmus.h (it was CL/CLM-specific). 16-May: added mus_sound_maxamps and mus_sound_set_maxamps (for off_t times). 9-May: removed mus_sound_set_loop_info (deprecated long ago). 3-May: version 16. many int->off_t changes for large files. MUS_SAMPLE_TYPE -> mus_sample_t. 29-Apr: added optional initial-element to make_vct. moved vct_do, vcts_do, vcts_map to snd5.scm. 23-Apr: added strdup for MPW. 18-Apr: tie run optimizer into vct-map! 29-Mar: mus_sound_srate|chans|data_location|data_format|header_type settable via Xen. 26-Mar: vct->vector. 24-Mar: removed ALSA 0.5 support. 11-Mar: version 15. mus_header_change_chans|srate|type|format|location|comment|samples. 1-Feb: removed mus_header_update_comment. 24-Jan: removed "max_amp" functions -- use "maxamp". 23-Jan: ALSA improvements from Fernando. removed old-sndlib2scm.scm, old-sndlib.h, sndlib.txt, transnd.cl, sndlib.i, snd-noguile.h 2002 ---------------------------------------------------------------- 10-Dec: added midi.c 14-Nov: mus_audio_compatible_format. 12-Nov: Mac-OSX stuff. 29-Oct: soundforge 64-bit "riff" headers. 24-Sep: version 14. mus_sound_max_amp -> mus_sound_maxamp (also the set form and exists) the old names exist as macros for backwards compatibility 12-Sep: changed IRCAM "Vax" handling to match Csound/MixViews (unscaled lfloats) 29-Aug: added mus-audio-reinitialize. 10-Aug: added wrap_sound_data. 12-Jul: ALSA 0.9 support from Fernando. 6-Jul: version 13. sg.h, sl.h, noguile.h, sr.h, sz.h -> xen.h. clm2scm.[ch], sndlib2scm.[ch] -> xen for scm. many internal name changes to change scm to xen. mus_xen rather than mus_scm (clm2xen), mus_xen_init for init_mus2scm_module, mus_sndlib2xen_initialize for mus_sndlib2scm_initialize. 2-Jul: a couple soundfont header bugfixes. 21-Jun: Mac fixups. 4-June: configure.ac for autoconf 2.50. 22-May: in OSS, DSP_SETFRAGMENT ioctl now only called if set_oss_buffers has been called. old default was (set-oss-buffers 4 12) but 2 12 is usable in most cases. 21-May: mus_header_raw_defaults (to read back current settings). 19-May: vct->sound-data now returns the sound-data object, not the vct. 28-Apr: mus_sound_report_cache. 17-Apr: remove broken, obsolete BeOS audio support. 4-Apr: mus_snprintf. 19-Mar: removed gdbm option. 12-Mar: sndinfo loop info report bugfix. added mus_sound_set_max_amp, mus_sound_max_amp_exists. bumped version to 12. 7-Mar: added mus-sound-write-date to sndlib2scm. 10-Feb: added sndlib2clm.lisp. 8-Feb: added clm2scm.h. 1-Feb: added vct-subseq. 31-Jan: changed mus-audio-read (sndlib2scm) to assume shorts, like mus-audio-write. 29-Jan: mus_sound_read can read trailing chunks, necessitating many fixups. added mgetty's pvf header. 26-Jan: audio.c windows uninitialized variable bugfix (thanks to Paul A. Steckler). 2001 ---------------------------------------------------------------- 28-Nov: BSD support thanks to Steven Schultz. Dolph-Chebyshev window if HAVE_GSL. 24-Nov: split ALSA support out in sndplay.c (merging with Fernando's version). 17-Nov: esd support thanks to Nick Bailey. 6-Nov: char * -> const char * in various places for C++. 17-Oct: added optional offset arg to vct-add!. 28-Sep: removed mus_file_open_descriptors (was obsolete long ago -- use mus_file_set_descriptors). 19-Sep: version 11: changed error handling; in this version, any error is signalled immediately by mus_error, then the error indication (-1 normally) is returned. The caller needs to set mus_error_handler to specialize this (its default is to fprintf(stderr,error-message)). mus_audio_error has been folded into mus_error, so mus_audio_error_name etc have been removed. mus_print added to replace the informational calls that used mus_error and mus_audio_error (the latter should not be called anymore with MUS_NO_ERROR!) -- MUS_AUDIO_NO_ERROR removed. added mus_error_to_string. mus_error_make_tag -> mus_make_error with name as arg. removed mus_write. 18-Sep: changed mus_fwrite to mus_write, added mus_print. 22-Aug: sound_duration should return -1.0 if error, not 1.0 (thanks to Michael Edwards) 5-Aug: port to Mac OS-X (not audio yet). 17-July: added vct-move! 20-June: change to scm_make_smob_type rather than *_mfpe. 14-June: ALSA 0.60 updates thanks to Paul Barton-Davis. 8-June: Linux OSS/ALSA choice now made at run-time (thanks to Fernando!). 17-May: removed vax float support. 12-May: removed 'old' names -- use old-sndlib2scm.scm and old-sndlib.h mus_prescaler overflow bugfix. added sg.h 8-May: added "const" to various function arguments. 1-May: Sam 9407 (audio.c) improvements thanks to Gerd Rausch. clm.c mus_make_frame|mixer va_arg -> float bugfix. 24-Apr: added CSL headers. 12-Apr: Fernando Lopez-Lezcano provided a new ALSA port! changed clm2scm to use built-in keyword support (use (read-set! keywords 'prefix)) 10-Apr: version 10: many name changes (this time for sure!) -- use transnd.cl to update. Be audio support changed to reflect release 5. Alsa also changed. 1-Mar: version 9. added gdbm choice to sound.c, added sndlib2scm.h changed to allow either floats or any-size "fraction" ints as internal data choice removed mus_unshort_sound, added mus_write_to_buffer and mus_read_from_buffer changed header macros to use SNDLIB_ -- old-sndlib.h has the old names removed mus_float_sound (replaced by mus_read_from_buffer) 1-Jan-00: various changes to mus_outa etc. changed (internal) mus_set_file_descriptor to include file name. added buffer-full? and changed various macro names. added mus_prescaler for problematic float files brought headers.c loop support into sound.c, sndlib2scm, sndinfo.c. added aiff loop info to write header via mus_set_aiff_loop_info 2000 ---------------------------------------------------------------- 1-Dec: added several more configure switches, sound_print_cache. sound_max_amp returned vals in wrong order. several improvements to src, granulate, and convolve thanks to Marc Lehmann. 1-Nov: version 8. decided to make a non-compatible change: AIFF_sound file is now AIFC_sound_file, and old_style_AIFF_sound_file is now AIFF_sound_file. 12-Sep: version 7. ALSA port thanks to Paul Barton-Davis fixed 2 bugs related to Sonorus Studio support several clm.c/clm2scm.c bugs and oversights repaired. added list2vct, mus_file2array, mus_array2file, dsp_devices. added configure files, README.sndlib, changed tar file to use sndlib directory added -1 as error return from various functions (void->int change in io.c and headers.c) added mus_header_writable, mus_header_aiff_p, sound_aiff_p much more of sndlib tied into sndlib2scm tried to get SGI new AL default devices to work right USE_BYTESWAP in io.c (if you want to use the GLibC macros). added forget_sound to remove entry from sound data base. added more vct funcs, formant-bank, oscil-bank, etc. 1-Sep: added mus_set_raw_header_defaults, mus_probe_file 1-Aug: old-sndlib.h for backwards compatibility, added mus_fwrite 1-Jul: added sound_max_amp, mus_error 1-Jun: version 6. moved clm-specific code out of sndlib files changed many names to use "mus" prefix, or "SNDLIB" (and upper case) added sound_frames added clm.c, clm.h, vct.c, vct.h, clm2scm.c added reopen_sound_output (arg order changed rev 6), mus_seek_frame, sound_seek_frame 1-Mar: version 5. changed float_sound to omit the scaling by SNDLIB_SNDFLT removed perror calls added sndlib2scm.c, sndlib-strings.h fixed windoze audio_output bug fixed Mac p2cstr potential bug 1-Jan-99: version 4. Sun-related word-alignment changes, C++ fixups 1999 ---------------------------------------------------------------- 1-Dec: version 3. removed output_scaler 12-Oct: version 2. removed header override functions 1-Oct-98 version 1.