Commit 101f0221 authored by IOhannes zmölnig's avatar IOhannes zmölnig

New upstream version 17.8

parent a34abe0c
Snd change log
17-Oct: Snd 17.8.
11-Sep: Snd 17.7.
2-Aug: Snd 17.6.
16-Jun: Snd 17.5.
......
Snd 17.7:
Snd 17.8:
Mike Scholz provided changes for Ruby 2.5.
Snd: moved from cvs to svn at sourceforge:
svn checkout svn://svn.code.sf.net/p/snd/svn1/trunk snd
s7: changed various "object" names to "c_object" in s7.h ("object" was ambiguous)
c-pointers can participate in the generic function stuff
gtkex.scm
json.scm (aimed at the Language Server Protocol, eventually in emacs perhaps)
s7: added immutable!, immutable?
define-constant follows normal lexical scoping rules now
symbol-access renamed symbol-setter
added third optional argument to the symbol-setter: the relevant environment
deprecated s7_procedure_with_setter, s7_symbol_access
renamed let-set!-fallback to let-set-fallback since I never remember the "!"
renamed procedure-signature -> signature,
procedure-documentation -> documentation,
procedure-setter -> setter.
these are all generic, so the "procedure" part is misleading, but
unfortunately these new names collide with the previous function-local
variables (for example, documentation accessed by procedure-documentation).
Since those variables are normally constants, and since I can't think of
anything better, they are now of the form +documentation+.
checked: gtk 3.91.2, sbcl 1.3.21
clm: removed *clm-default-frequency*; Mike fixed the Ruby and Forth cases.
checked: sbcl 1.4.0
Thanks!: Mike Scholz.
Thanks!: Kjetil Mattheussen, Mike Scholz
......@@ -140,15 +140,15 @@ cmdist@ccrma.stanford.edu. To subscribe, visit
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
To follow the Snd CVS repository, the first time you need to
To follow the Snd SVN repository, the first time you need to
cvs -d:pserver:anonymous@snd.cvs.sourceforge.net:/cvsroot/snd login
cvs -z3 -d:pserver:anonymous@snd.cvs.sourceforge.net:/cvsroot/snd co cvs-snd
svn checkout svn://svn.code.sf.net/p/snd/svn1/trunk snd
When prompted for a password for anonymous, press the Enter key.
After that, you go to your local cvs-snd directory and
This creates a local snd directory with the files.
cvs update
svn update
updates any changed files.
......
This diff is collapsed.
......@@ -6,12 +6,12 @@
(define auto-saving #f)
(define cancel-auto-save
(let ((documentation "(cancel-auto-save) turns off the auto-save mechanism"))
(let ((+documentation+ "(cancel-auto-save) turns off the auto-save mechanism"))
(lambda ()
(set! auto-saving #f))))
(define auto-save
(let ((documentation "(auto-save) starts watching files, automatically saving backup copies as edits accumulate")
(let ((+documentation+ "(auto-save) starts watching files, automatically saving backup copies as edits accumulate")
(auto-save-temp-name
(lambda (snd)
......
......@@ -58,7 +58,7 @@
#t)))
(define make-rt-violin
(let ((documentation "(make-rt-violin dur freq amp (fm-index 1.0) (amp-env '(0 0 25 1 75 1 100 0))) real time simple violin (see fm.html)"))
(let ((+documentation+ "(make-rt-violin dur freq amp (fm-index 1.0) (amp-env '(0 0 25 1 75 1 100 0))) real time simple violin (see fm.html)"))
(lambda* (dur freq amp (fm-index 1.0) (amp-env '(0 0 25 1 75 1 100 0)))
(let* ((frq-scl (hz->radians freq))
(maxdev (* frq-scl fm-index)))
......
This diff is collapsed.
......@@ -4,7 +4,7 @@
(require snd-dsp.scm snd-generators.scm)
(define goertzel-channel
(let ((documentation "(goertzel-channel freq beg dur snd (chn 0)) returns the amplitude of the 'freq' spectral component"))
(let ((+documentation+ "(goertzel-channel freq beg dur snd (chn 0)) returns the amplitude of the 'freq' spectral component"))
(lambda* (freq (beg 0) dur snd chn)
(let* ((rfreq (/ (* 2.0 pi freq) (srate snd)))
(cs (* 2.0 (cos rfreq))))
......
......@@ -2565,7 +2565,7 @@ mjkoskin@sci.fi
;;; bes-fm -- can also use bes-j0 here as in earlier versions
(define bes-fm
(let ((documentation "(bes-fm beg dur freq amp ratio index) produces J1(J1) imitating FM"))
(let ((+documentation+ "(bes-fm beg dur freq amp ratio index) produces J1(J1) imitating FM"))
(lambda (beg dur freq amp ratio index)
(let ((car-incr (hz->radians freq)))
(let ((st (seconds->samples beg))
......@@ -2593,7 +2593,7 @@ mjkoskin@sci.fi
modsig)
(define make-ssb-fm
(let ((documentation "(make-ssb-fm freq) makes an ssb-fm generator"))
(let ((+documentation+ "(make-ssb-fm freq) makes an ssb-fm generator"))
(lambda (freq)
(make-sbfm :am0 (make-oscil freq 0)
:am1 (make-oscil freq (* 0.5 pi))
......@@ -2603,7 +2603,7 @@ mjkoskin@sci.fi
:mod1 (make-delay 40)))))
(define ssb-fm
(let ((documentation "(ssb-fm gen modsig) runs an ssb-fm generator"))
(let ((+documentation+ "(ssb-fm gen modsig) runs an ssb-fm generator"))
(lambda (gen modsig)
(let-set! gen 'modsig modsig)
(with-let gen
......@@ -2616,7 +2616,7 @@ mjkoskin@sci.fi
;;; if all we want are asymmetric fm-generated spectra, we can just add 2 fm oscil pairs:
(define make-fm2
(let ((documentation "(make-fm2 f1 f2 f3 f4 p1 p2 p3 p4) makes two FM paired oscils"))
(let ((+documentation+ "(make-fm2 f1 f2 f3 f4 p1 p2 p3 p4) makes two FM paired oscils"))
(lambda (f1 f2 f3 f4 p1 p2 p3 p4)
;; (make-fm2 1000 100 1000 100 0 0 (* 0.5 pi) (* 0.5 pi))
;; (make-fm2 1000 100 1000 100 0 0 0 (* 0.5 pi))
......@@ -2626,7 +2626,7 @@ mjkoskin@sci.fi
(make-oscil f4 p4)))))
(define fm2
(let ((documentation "(fm2 gen index) runs an fm2 generator"))
(let ((+documentation+ "(fm2 gen index) runs an fm2 generator"))
(lambda (gen index)
(* .25 (+ (oscil (gen 0) (* index (oscil (gen 1))))
(oscil (gen 2) (* index (oscil (gen 3)))))))))
......@@ -2645,14 +2645,14 @@ mjkoskin@sci.fi
sig rmsval)
(define make-rmsgain
(let ((documentation "(make-rmsgain (hp 10.0)) makes an RMS gain generator"))
(let ((+documentation+ "(make-rmsgain (hp 10.0)) makes an RMS gain generator"))
(lambda* ((hp 10.0))
(let ((c2 (let ((b (- 2.0 (cos (* hp (/ (* 2.0 pi) *clm-srate*))))))
(- b (sqrt (- (* b b) 1.0))))))
(make-rmsg :c1 (- 1.0 c2) :c2 c2)))))
(define rms
(let ((documentation "(rms gen sig) runs an RMS gain generator"))
(let ((+documentation+ "(rms gen sig) runs an RMS gain generator"))
(lambda (gen sig)
(let-set! gen 'sig sig)
(with-let gen
......@@ -2661,7 +2661,7 @@ mjkoskin@sci.fi
(define gain
(let ((documentation "(gain gen sig rmsval) returns the current RMS gain"))
(let ((+documentation+ "(gain gen sig rmsval) returns the current RMS gain"))
(lambda (gen sig rmsval)
(let-set! gen 'sig sig)
(let-set! gen 'rmsval rmsval)
......@@ -2675,17 +2675,17 @@ mjkoskin@sci.fi
(* sig this-gain))))))
(define balance
(let ((documentation "(balance gen signal compare) scales a signal based on a RMS gain"))
(let ((+documentation+ "(balance gen signal compare) scales a signal based on a RMS gain"))
(lambda (gen signal compare)
(gain gen signal (rms gen compare)))))
(define gain-avg
(let ((documentation "(gain-avg gen) is part of the RMS gain stuff"))
(let ((+documentation+ "(gain-avg gen) is part of the RMS gain stuff"))
(lambda (gen)
(/ (gen 'avg) (gen 'avgc)))))
(define balance-avg
(let ((documentation "(balance-avg gen) is part of the RM gain stuff"))
(let ((+documentation+ "(balance-avg gen) is part of the RM gain stuff"))
(lambda (gen)
(gen 'avg))))
......
......@@ -2,9 +2,9 @@
\ Author: Michael Scholz <mi-scholz@users.sourceforge.net>
\ Created: 04/03/15 19:25:58
\ Changed: 15/02/25 16:05:57
\ Changed: 17/09/25 22:08:35
\
\ @(#)clm.fs 1.121 2/25/15
\ @(#)clm.fs 1.122 9/25/17
\ clm-print ( fmt :optional args -- )
\ clm-message ( fmt :optional args -- )
......@@ -281,7 +281,7 @@ set-current
previous
\ === Global User Variables (settable in ~/.snd_forth or ~/.fthrc) ===
"fth 2015/02/25" value *clm-version*
"fth 2017/09/25" value *clm-version*
#f value *locsig*
mus-lshort value *clm-audio-format*
#f value *clm-comment*
......@@ -325,7 +325,7 @@ mus-file-buffer-size value *clm-file-buffer-size*
mus-clipping value *clm-clipped*
mus-array-print-length value *clm-array-print-length*
clm-table-size value *clm-table-size*
clm-default-frequency value *clm-default-frequency*
440.0 value *clm-default-frequency*
\ for backward compatibility
*clm-sample-type* value *clm-data-format*
......@@ -334,9 +334,6 @@ clm-default-frequency value *clm-default-frequency*
val
; trace-var
<'> *clm-default-frequency* lambda: <{ val -- res }>
val set-clm-default-frequency
; trace-var
<'> *clm-table-size* lambda: <{ val -- res }>
val set-clm-table-size
; trace-var
......
......@@ -2,8 +2,8 @@
#define CLM_H
#define MUS_VERSION 6
#define MUS_REVISION 17
#define MUS_DATE "3-Aug-17"
#define MUS_REVISION 18
#define MUS_DATE "22-Sep-17"
/* isn't mus_env_interp backwards? */
......@@ -616,6 +616,7 @@ MUS_EXPORT mus_any *mus_bank_generator(mus_any *g, int i);
/* Change log.
*
* 22-Sep: removed clm_default_frequency.
* 3-Aug: mus_long_t is now int64_t.
* 18-Jul: mus_<method>_exists.
* 13-Jul: mus_run1_function.
......
......@@ -2006,7 +2006,7 @@
freq phase (ratio 1.0) (r 1.0) (index 1.0) input r1 r2 r3)
(define dsp-asyfm-J
(let ((documentation "(dsp-asyfm-J gen input) is the same as the CLM asymmetric-fm generator, set r != 1.0 to get the asymmetric spectra"))
(let ((+documentation+ "(dsp-asyfm-J gen input) is the same as the CLM asymmetric-fm generator, set r != 1.0 to get the asymmetric spectra"))
(lambda (gen input)
(let-set! gen 'input input)
(with-let gen
......@@ -2017,7 +2017,7 @@
result)))))
(define dsp-asyfm-I
(let ((documentation "(dsp-asyfm-I gen input) is the I0 case of the asymmetric-fm generator (dsp.scm)"))
(let ((+documentation+ "(dsp-asyfm-I gen input) is the I0 case of the asymmetric-fm generator (dsp.scm)"))
(lambda (gen input)
(let-set! gen 'input input)
(with-let gen
......
......@@ -524,31 +524,6 @@ static Xen g_set_clm_table_size(Xen val)
}
#if (!DISABLE_DEPRECATED)
#define S_clm_default_frequency "clm-default-frequency"
static mus_float_t clm_default_frequency = 0.0;
#if HAVE_SCHEME
static s7_pointer clm_default_frequency_symbol;
#endif
mus_float_t clm_default_frequency_c(void) {return(clm_default_frequency);}
static Xen g_clm_default_frequency(void) {return(C_double_to_Xen_real(clm_default_frequency));}
static Xen g_set_clm_default_frequency(Xen val)
{
#define H_clm_default_frequency "(" S_clm_default_frequency "): the default frequency for most generators (0.0)"
Xen_check_type(Xen_is_double(val), val, 1, S_set S_clm_default_frequency, "a number");
clm_default_frequency = Xen_real_to_C_double(val);
#if HAVE_SCHEME
s7_symbol_set_value(s7, clm_default_frequency_symbol, s7_make_real(s7, clm_default_frequency));
#endif
return(val);
}
#endif
/* ---------------- AM and simple stuff ---------------- */
static const char *fft_window_xen_names[MUS_NUM_FFT_WINDOWS] =
......@@ -1805,8 +1780,8 @@ static Xen g_mus_describe(Xen gen)
Xen_check_type(Xen_is_double(val), val, 2, S_set Caller, "a float"); \
if (gn) {CLM_case(gn->gen, Xen_real_to_C_double(val)); return(val);} \
func = s7_method(s7, gen, s7_make_symbol(s7, Caller)); \
if ((func != Xen_undefined) && (s7_procedure_setter(s7, func))) \
return(s7_apply_function(s7, s7_procedure_setter(s7, func), s7_list(s7, 2, gen, val))); \
if ((func != Xen_undefined) && (s7_setter(s7, func))) \
return(s7_apply_function(s7, s7_setter(s7, func), s7_list(s7, 2, gen, val))); \
Xen_check_type(false, gen, 1, S_set Caller, "a generator"); \
return(val);
......@@ -1827,8 +1802,8 @@ static Xen g_mus_describe(Xen gen)
Xen_check_type(Xen_is_integer(val), val, 2, Caller, "an integer"); \
if (gn) {CLM_case(gn->gen, Xen_llong_to_C_llong(val)); return(val);} \
func = s7_method(s7, gen, s7_make_symbol(s7, Caller)); \
if ((func != Xen_undefined) && (s7_procedure_setter(s7, func))) \
return(s7_apply_function(s7, s7_procedure_setter(s7, func), s7_list(s7, 2, gen, val))); \
if ((func != Xen_undefined) && (s7_setter(s7, func))) \
return(s7_apply_function(s7, s7_setter(s7, func), s7_list(s7, 2, gen, val))); \
Xen_check_type(false, gen, 1, Caller, "a generator"); \
return(val);
......@@ -2130,8 +2105,8 @@ static Xen g_mus_set_data(Xen gen, Xen val)
{
s7_pointer func;
func = s7_method(s7, gen, s7_make_symbol(s7, "mus-data"));
if ((func != Xen_undefined) && (s7_procedure_setter(s7, func)))
return(s7_apply_function(s7, s7_procedure_setter(s7, func), s7_list(s7, 2, gen, val)));
if ((func != Xen_undefined) && (s7_setter(s7, func)))
return(s7_apply_function(s7, s7_setter(s7, func), s7_list(s7, 2, gen, val)));
}
#endif
......@@ -2261,8 +2236,8 @@ static Xen g_mus_set_xcoeff(Xen gen, Xen index, Xen val)
{
s7_pointer func;
func = s7_method(s7, gen, s7_make_symbol(s7, "mus-xcoeff"));
if ((func != Xen_undefined) && (s7_procedure_setter(s7, func)))
return(s7_apply_function(s7, s7_procedure_setter(s7, func), s7_list(s7, 3, gen, index, val)));
if ((func != Xen_undefined) && (s7_setter(s7, func)))
return(s7_apply_function(s7, s7_setter(s7, func), s7_list(s7, 3, gen, index, val)));
}
#endif
Xen_check_type(false, gen, 1, S_set S_mus_xcoeff, "a generator");
......@@ -2316,8 +2291,8 @@ static Xen g_mus_set_ycoeff(Xen gen, Xen index, Xen val)
{
s7_pointer func;
func = s7_method(s7, gen, s7_make_symbol(s7, "mus-ycoeff"));
if ((func != Xen_undefined) && (s7_procedure_setter(s7, func)))
return(s7_apply_function(s7, s7_procedure_setter(s7, func), s7_list(s7, 3, gen, index, val)));
if ((func != Xen_undefined) && (s7_setter(s7, func)))
return(s7_apply_function(s7, s7_setter(s7, func), s7_list(s7, 3, gen, index, val)));
}
#endif
Xen_check_type(false, gen, 1, S_set S_mus_ycoeff, "a generator");
......@@ -2418,8 +2393,8 @@ static Xen g_mus_set_length(Xen gen, Xen val)
{
s7_pointer func;
func = s7_method(s7, gen, s7_make_symbol(s7, "mus-length"));
if ((func != Xen_undefined) && (s7_procedure_setter(s7, func)))
return(s7_apply_function(s7, s7_procedure_setter(s7, func), s7_list(s7, 2, gen, val)));
if ((func != Xen_undefined) && (s7_setter(s7, func)))
return(s7_apply_function(s7, s7_setter(s7, func), s7_list(s7, 2, gen, val)));
}
#endif
Xen_check_type(false, gen, 1, S_set S_mus_length, "a generator");
......@@ -12491,11 +12466,6 @@ Xen_wrap_1_arg(g_make_all_pass_bank_w, g_make_all_pass_bank)
Xen_wrap_1_arg(g_pink_noise_w, g_pink_noise)
Xen_wrap_3_args(g_out_bank_w, g_out_bank)
#if (!DISABLE_DEPRECATED)
Xen_wrap_no_args(g_clm_default_frequency_w, g_clm_default_frequency)
Xen_wrap_1_arg(g_set_clm_default_frequency_w, g_set_clm_default_frequency)
#endif
#if HAVE_SCHEME
Xen_wrap_2_args(g_piano_noise_w, g_piano_noise)
Xen_wrap_6_args(g_singer_filter_w, g_singer_filter)
......@@ -13038,22 +13008,22 @@ static void mus_xen_init(void)
#if HAVE_SCHEME
clm_srate_symbol = s7_define_variable(s7, "*clm-srate*", s7_make_real(s7, MUS_DEFAULT_SAMPLING_RATE));
s7_symbol_set_access(s7, clm_srate_symbol, s7_make_function(s7, "[acc-clm-srate]", acc_clm_srate, 2, 0, false, "accessor"));
s7_symbol_set_setter(s7, clm_srate_symbol, s7_make_function(s7, "[acc-clm-srate]", acc_clm_srate, 2, 0, false, "accessor"));
clm_table_size_symbol = s7_define_variable(s7, "*" S_clm_table_size "*", s7_make_integer(s7, MUS_CLM_DEFAULT_TABLE_SIZE));
s7_symbol_set_documentation(s7, clm_table_size_symbol, "*clm-table-size*: the default table size for most generators (512)");
s7_symbol_set_access(s7, clm_table_size_symbol, s7_make_function(s7, "[acc-clm-table-size]", acc_clm_table_size, 2, 0, false, "accessor"));
s7_symbol_set_setter(s7, clm_table_size_symbol, s7_make_function(s7, "[acc-clm-table-size]", acc_clm_table_size, 2, 0, false, "accessor"));
mus_file_buffer_size_symbol = s7_define_variable(s7, "*clm-file-buffer-size*", s7_make_integer(s7, MUS_DEFAULT_FILE_BUFFER_SIZE));
s7_symbol_set_access(s7, mus_file_buffer_size_symbol, s7_make_function(s7, "[acc-mus-file-buffer-size]", acc_mus_file_buffer_size, 2, 0, false, "accessor"));
s7_symbol_set_setter(s7, mus_file_buffer_size_symbol, s7_make_function(s7, "[acc-mus-file-buffer-size]", acc_mus_file_buffer_size, 2, 0, false, "accessor"));
mus_float_equal_fudge_factor_symbol = s7_define_variable(s7, "*" S_mus_float_equal_fudge_factor "*", s7_make_real(s7, 0.0000001)); /* clm.c */
s7_symbol_set_documentation(s7, mus_float_equal_fudge_factor_symbol, "*mus-float-equal-fudge-factor*: floating point equality fudge factor");
s7_symbol_set_access(s7, mus_float_equal_fudge_factor_symbol, s7_make_function(s7, "[acc-mus-float-equal-fudge-factor]", acc_mus_float_equal_fudge_factor, 2, 0, false, "accessor"));
s7_symbol_set_setter(s7, mus_float_equal_fudge_factor_symbol, s7_make_function(s7, "[acc-mus-float-equal-fudge-factor]", acc_mus_float_equal_fudge_factor, 2, 0, false, "accessor"));
mus_array_print_length_symbol = s7_define_variable(s7, "*" S_mus_array_print_length "*", s7_make_integer(s7, MUS_DEFAULT_ARRAY_PRINT_LENGTH));
s7_symbol_set_documentation(s7, mus_array_print_length_symbol, "*mus-array-print-length*: current clm array print length (default is 8).");
s7_symbol_set_access(s7, mus_array_print_length_symbol, s7_make_function(s7, "[acc-mus-array-print-length]", acc_mus_array_print_length, 2, 0, false, "accessor"));
s7_symbol_set_setter(s7, mus_array_print_length_symbol, s7_make_function(s7, "[acc-mus-array-print-length]", acc_mus_array_print_length, 2, 0, false, "accessor"));
g_clm_let = s7_openlet(s7, s7_inlet(s7, s7_list(s7, 2, s7_make_symbol(s7, "object->let"),
s7_make_function(s7, "generator->let", generator_to_let, 2, 0, false, "clm generator object->let method"))));
......@@ -13500,10 +13470,10 @@ static void mus_xen_init(void)
out_any_2 = out_any_2_to_mus_xen;
/* these can't be safe functions */
clm_output_accessor = s7_make_function(s7, "(set " S_output ")", g_clm_output_set, 2, 0, false, "called if " S_output " is set");
s7_symbol_set_access(s7, s7_make_symbol(s7, S_output), clm_output_accessor);
s7_symbol_set_setter(s7, s7_make_symbol(s7, S_output), clm_output_accessor);
clm_reverb_accessor = s7_make_function(s7, "(set " S_reverb ")", g_clm_reverb_set, 2, 0, false, "called if " S_reverb " is set");
s7_symbol_set_access(s7, s7_make_symbol(s7, S_reverb), clm_reverb_accessor);
s7_symbol_set_setter(s7, s7_make_symbol(s7, S_reverb), clm_reverb_accessor);
}
#endif
......@@ -13755,11 +13725,6 @@ static void mus_xen_init(void)
init_choosers(s7);
#endif
#if (!DISABLE_DEPRECATED)
Xen_define_typed_dilambda(S_clm_default_frequency, g_clm_default_frequency_w, H_clm_default_frequency,
S_set S_clm_default_frequency, g_set_clm_default_frequency_w, 0, 0, 1, 0, pl_d, pl_dr);
#endif
/* -------- clm-print (see also snd-xen.c) -------- */
#if (!USE_SND)
......
......@@ -14,12 +14,8 @@ extern "C" {
#endif
MUS_EXPORT mus_long_t clm_default_table_size_c(void);
#if (!DISABLE_DEPRECATED)
MUS_EXPORT mus_float_t clm_default_frequency_c(void);
#endif
MUS_EXPORT mus_any *mus_xen_gen(mus_xen *x);
MUS_EXPORT bool mus_is_xen(Xen obj);
MUS_EXPORT const char *mus_fft_window_xen_name(mus_fft_window_t i);
MUS_EXPORT Xen mus_xen_to_object(mus_xen *gn);
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for snd 17.7.
# Generated by GNU Autoconf 2.69 for snd 17.8.
#
# Report bugs to <bil@ccrma.stanford.edu>.
#
......@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='snd'
PACKAGE_TARNAME='ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-17.tar.gz'
PACKAGE_VERSION='17.7'
PACKAGE_STRING='snd 17.7'
PACKAGE_VERSION='17.8'
PACKAGE_STRING='snd 17.8'
PACKAGE_BUGREPORT='bil@ccrma.stanford.edu'
PACKAGE_URL=''
......@@ -1321,7 +1321,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures snd 17.7 to adapt to many kinds of systems.
\`configure' configures snd 17.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1392,7 +1392,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of snd 17.7:";;
short | recursive ) echo "Configuration of snd 17.8:";;
esac
cat <<\_ACEOF
......@@ -1508,7 +1508,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
snd configure 17.7
snd configure 17.8
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -1969,7 +1969,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by snd $as_me 17.7, which was
It was created by snd $as_me 17.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -3316,7 +3316,7 @@ LOCAL_LANGUAGE="None"
GRAPHICS_TOOLKIT="None"
PACKAGE=Snd
VERSION=17.7
VERSION=17.8
#--------------------------------------------------------------------------------
# configuration options
......@@ -6703,7 +6703,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by snd $as_me 17.7, which was
This file was extended by snd $as_me 17.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -6765,7 +6765,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
snd config.status 17.7
snd config.status 17.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......
......@@ -5,7 +5,7 @@
# gmp, mpfr, and mpc deliberately have none!
AC_INIT(snd, 17.7, bil@ccrma.stanford.edu, ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-17.tar.gz)
AC_INIT(snd, 17.8, bil@ccrma.stanford.edu, ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-17.tar.gz)
AC_CONFIG_SRCDIR(snd.c)
AC_CANONICAL_HOST # needed by case $host below
......@@ -24,7 +24,7 @@ LOCAL_LANGUAGE="None"
GRAPHICS_TOOLKIT="None"
PACKAGE=Snd
VERSION=17.7
VERSION=17.8
#--------------------------------------------------------------------------------
# configuration options
......
......@@ -107,7 +107,7 @@
|#
(define x-norm
(let ((documentation "(x-norm e xmax) changes 'e' x axis values so that they run to 'xmax'"))
(let ((+documentation+ "(x-norm e xmax) changes 'e' x axis values so that they run to 'xmax'"))
(lambda (e xmax)
(let x-norm-1 ((e e)
(scl (/ xmax (e (- (length e) 2))))
......@@ -124,22 +124,22 @@
(define dlocsig-one-turn 360)
(define one-turn-is
(let ((documentation "(one-turn-is unit) sets dlocsig's angle unit (degrees=360, the default or radians=2*pi)"))
(let ((+documentation+ "(one-turn-is unit) sets dlocsig's angle unit (degrees=360, the default or radians=2*pi)"))
(lambda (unit)
(set! dlocsig-one-turn unit))))
(define angles-in-degree
(let ((documentation "(angles-in-degree) sets dlocsig's unit to degrees (the default)"))
(let ((+documentation+ "(angles-in-degree) sets dlocsig's unit to degrees (the default)"))
(lambda ()
(one-turn-is 360))))
(define angles-in-radians
(let ((documentation "(angles-in-radians) sets dlocsig's unit to radians (default is degrees)"))
(let ((+documentation+ "(angles-in-radians) sets dlocsig's unit to radians (default is degrees)"))
(lambda ()
(one-turn-is (* 2 pi)))))
(define angles-in-turns
(let ((documentation "(angles-in-turns) sets dlocsig's angle unit to turns"))
(let ((+documentation+ "(angles-in-turns) sets dlocsig's angle unit to turns"))
(lambda ()
(one-turn-is 1))))
......@@ -147,12 +147,12 @@
(define dlocsig-speed-of-sound 344)
(define distances-in-meters
(let ((documentation "(distances-in-meters) sets dlocsig's distances in meters (the default)"))
(let ((+documentation+ "(distances-in-meters) sets dlocsig's distances in meters (the default)"))
(lambda ()
(set! dlocsig-speed-of-sound 344))))
(define distances-in-feet
(let ((documentation "(distances-in-feet) sets dlocsig's distances in feet (default is meters)"))
(let ((+documentation+ "(distances-in-feet) sets dlocsig's distances in feet (default is meters)"))
(lambda ()
(set! dlocsig-speed-of-sound 1128))))
......@@ -193,17 +193,17 @@
;;; content should be output channel number, zero based
(define cis
(let ((documentation "(cis a) returns e^(ia)"))
(let ((+documentation+ "(cis a) returns e^(ia)"))
(lambda (a)
(exp (* 0.0+1.0i a)))))
(define third
(let ((documentation "(third lst) returns the 3rd element of 'lst'"))
(let ((+documentation+ "(third lst) returns the 3rd element of 'lst'"))
(lambda (a)
(and (>= (length a) 3) (a 2)))))
(define fourth
(let ((documentation "(fourth lst) returns the 4th element of 'lst'"))
(let ((+documentation+ "(fourth lst) returns the 4th element of 'lst'"))
(lambda (a)
(and (>= (length a) 4) (a 3)))))
......@@ -492,7 +492,7 @@
;;; Set a particular speaker configuration
(define set-speaker-configuration
(let ((documentation "(set-speaker-configuration config (configs dlocsig-speaker-configs)) sets a dlocsig speaker configuration"))
(let ((+documentation+ "(set-speaker-configuration config (configs dlocsig-speaker-configs)) sets a dlocsig speaker configuration"))
(lambda* (config (configs dlocsig-speaker-configs))
(let ((lst ((if (< (speaker-config-dimension config) 3) car cadr) configs))
(num (speaker-config-number config)))
......@@ -502,7 +502,7 @@
;;; Get the speaker configuration for a given number of output channels
(define get-speaker-configuration
(let ((documentation "(get-speaker-configuration channels (3d dlocsig-3d) (configs dlocsig-speaker-configs)) returns a dlocsig speaker configuration"))
(let ((+documentation+ "(get-speaker-configuration channels (3d dlocsig-3d) (configs dlocsig-speaker-configs)) returns a dlocsig speaker configuration"))
(lambda* (channels (3d dlocsig-3d) (configs dlocsig-speaker-configs))
(let ((config (((if 3d cadr car) configs) channels)))
(if (null? config)
......@@ -653,7 +653,7 @@
;;; Return the best possible set of coordinates
(define list??
(let ((documentation "list?? returns a if it is a list"))
(let ((+documentation+ "list?? returns a if it is a list"))
(lambda (a)
(and (pair? a) a))))
......@@ -831,7 +831,7 @@
;;; Parse a set of 2d or 3d points into the separate coordinates
(define parse-cartesian-coordinates
(let ((documentation "(parse-cartesian-coordinates points 3d) parses a set of 2d or 3d points into the separate coordinates"))
(let ((+documentation+ "(parse-cartesian-coordinates points 3d) parses a set of 2d or 3d points into the separate coordinates"))
(lambda (points 3d)
(if (pair? (car points))
;; decode a list of lists into x:y:z:v components
......@@ -886,7 +886,7 @@
;;; Parse a set of 2d or 3d polar points into the separate coordinates
(define parse-polar-coordinates
(let ((documentation "(parse-polar-coordinates points 3d) parses a polar path"))
(let ((+documentation+ "(parse-polar-coordinates points 3d) parses a polar path"))
(lambda (points 3d)
(let ((x ())
(y ()))
......@@ -982,7 +982,7 @@
;;; Pythagoras
(define distance
(let ((documentation "(distance x y z) returns the euclidean distance of (x y z) from the origin"))
(let ((+documentation+ "(distance x y z) returns the euclidean distance of (x y z) from the origin"))
(lambda (x y z)
(sqrt (+ (* x x) (* y y) (* z z))))))
......@@ -1887,7 +1887,7 @@
;;; Rotate a path
(define rotate-path
(let ((documentation "rotate-path is a dlocsig function that rotates a dlocsig path"))
(let ((+documentation+ "rotate-path is a dlocsig function that rotates a dlocsig path"))
(lambda* (path rotation rotation-center (rotation-axis '(0.0 0.0 1.0)))
(transform-path path
:rotation rotation
......@@ -1918,7 +1918,7 @@
;;; Change the times of the rendered envelope so that the velocity is constant
(define constant-velocity
(let ((documentation "constant-velocity is a dlocsig function that changes the times of the rendered envelope so that the velocity is constant"))
(let ((+documentation+ "constant-velocity is a dlocsig function that changes the times of the rendered envelope so that the velocity is constant"))
(lambda (path)
(if (not (path-rx path))
(render-path path))
......
......@@ -113,7 +113,7 @@
(define display-colored-samples
(let ((documentation "(display-colored-samples color beg dur snd chn) displays samples from beg for dur in color
(let ((+documentation+ "(display-colored-samples color beg dur snd chn) displays samples from beg for dur in color
whenever they're in the current view."))
(lambda* (color beg dur snd chn)
(let ((left (left-sample snd chn))
......@@ -157,7 +157,7 @@ whenever they're in the current view."))
(define color-samples
(let ((documentation "(color-samples color beg dur snd chn) causes samples from beg to beg+dur to be displayed in color"))
(let ((+documentation+ "(color-samples color beg dur snd chn) causes samples from beg to beg+dur to be displayed in color"))
(lambda* (color ubeg udur usnd uchn)
(if (not (member display-samples-in-color (hook-functions after-graph-hook)))
(hook-push after-graph-hook display-samples-in-color))
......@@ -171,7 +171,7 @@ whenever they're in the current view."))
(define uncolor-samples
(let ((documentation "(uncolor-samples snd chn) cancels sample coloring in the given channel"))
(let ((+documentation+ "(uncolor-samples snd chn) cancels sample coloring in the given channel"))