diff --git a/pd/doc/5.reference/noise~-help.pd b/pd/doc/5.reference/noise~-help.pd index 6e4c3cb2564d0c120c9e5a54e3eea3df18b3f19e..06653e9719ded7da044012f827f6d0848e9c7438 100644 --- a/pd/doc/5.reference/noise~-help.pd +++ b/pd/doc/5.reference/noise~-help.pd @@ -1,9 +1,9 @@ -#N canvas 429 34 555 619 10; +#N canvas 475 24 555 619 10; #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; #X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header noise~ 3 12 0 18 -204280 -1 0; -#X obj 0 466 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13 +#X obj 0 446 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13 -228856 -1 0; #N canvas 481 283 494 344 META 0; #X text 12 105 LIBRARY internal; @@ -32,7 +32,7 @@ Wilkes revised the patch to conform to the PDDP template for Pd version #X text 8 2 [noise~] Related Objects; #X obj 22 43 random; #X restore 102 597 pd Related_objects; -#X obj 78 475 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 +#X obj 78 455 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X obj 78 512 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; @@ -41,18 +41,22 @@ Wilkes revised the patch to conform to the PDDP template for Pd version #X obj 218 217 noise~; #X obj 284 256 print~; #X obj 218 256 env~ 4096; -#X text 216 192 the output range is -1 to 1...; +#X text 156 322 the output range is -1 to 1...; #X obj 152 256 snapshot~; #X floatatom 152 283 0 0 0 0 - - -; #X msg 152 229 bang; #X msg 284 229 bang; -#X text 168 474 - the inlet to [noise~] is not used.; #X text 98 511 signal; #X text 11 23 uniformly distributed white noise; -#X text 98 474 (inactive); #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide ; #X obj 480 53 pddp/dsp; +#X msg 218 169 seed 42; +#X text 278 169 provide a seed for a deterministic sequence of samples +; +#X text 98 454 seed; +#X text 168 454 - provide a seed for the random number generator. A +given seed will always output the same sequence of samples.; #X connect 13 0 14 0; #X connect 13 0 15 0; #X connect 13 0 17 0; @@ -60,3 +64,4 @@ Wilkes revised the patch to conform to the PDDP template for Pd version #X connect 17 0 18 0; #X connect 19 0 17 0; #X connect 20 0 14 0; +#X connect 25 0 13 0; diff --git a/pd/src/d_osc.c b/pd/src/d_osc.c index 12c28e1cc7eb77a5038fe02eb0ebe4a447cfe6fd..2eeeae266957f01470e77aba213a7c029edab823 100644 --- a/pd/src/d_osc.c +++ b/pd/src/d_osc.c @@ -396,11 +396,19 @@ static void noise_dsp(t_noise *x, t_signal **sp) dsp_add(noise_perform, 3, sp[0]->s_vec, &x->x_val, (t_int)sp[0]->s_n); } +static void noise_float(t_noise *x, t_float f) +{ + /* set the seed */ + x->x_val = (int)f; +} + static void noise_tilde_setup(void) { noise_class = class_new(gensym("noise~"), (t_newmethod)noise_new, 0, sizeof(t_noise), 0, 0); class_addmethod(noise_class, (t_method)noise_dsp, gensym("dsp"), A_CANT, 0); + class_addmethod(noise_class, (t_method)noise_float, + gensym("seed"), A_FLOAT, 0); } /* ----------------------- global setup routine ---------------- */