From e053b137991d16d18a5ca00cb34d37000f861cce Mon Sep 17 00:00:00 2001 From: Sebastian Shader Date: Sun, 10 May 2015 03:41:30 -0700 Subject: [PATCH] change moop, fixes changed mood not to use tab fudge, also fixed buffer overruns P-(. also added makerpath and hopefully changed all relevant abstractions. also fixed the name of sndfread~ in help files --- Makefile | 2 +- delwritec~-help.pd | 72 +++++++++--------- freqshifterd~-help.pd | 40 +++++----- gate~-help.pd | 44 +++++------ makerpath-help.pd | 11 +++ makerpath.pd | 39 ++++++++++ manual/Overview-control.pd | 147 +++++++++++++++++++------------------ manual/Overview-signal.pd | 6 +- moop~.c | 105 +++++++++++++++----------- nrcombf~-help.pd | 20 ++--- out~-help.pd | 8 +- rcombf~-help.pd | 18 ++--- realpass~-help.pd | 32 ++++---- repeater~-help.pd | 56 +++++++------- sampbuf~.pd | 16 ++-- sndfread~.pd | 54 +++++++------- sndfwritem~-help.pd | 17 ++--- sndfwritem~.pd | 134 ++++++++++++++++----------------- sndfwrites~-help.pd | 19 +++-- sndfwrites~.pd | 136 +++++++++++++++++----------------- srepeater~-help.pd | 25 +++---- vdhs~-help.pd | 72 +++++++++--------- 22 files changed, 570 insertions(+), 503 deletions(-) create mode 100644 makerpath-help.pd create mode 100644 makerpath.pd mode change 100755 => 100644 sndfread~.pd diff --git a/Makefile b/Makefile index c34141b..e97829d 100644 --- a/Makefile +++ b/Makefile @@ -59,7 +59,7 @@ grainy~.pd sampbuf~.pd wavepacket~.pd \ hanning~.pd selected.pd wscauchy~.pd \ if.pd seqbank.pd wssincos~.pd \ iterate.pd sequencer.pd wsexp~.pd \ -linnoise~.pd whitephase~.pd \ +linnoise~.pd whitephase~.pd makerpath.pd \ linterp~.pd xfade~.pd # example patches and related files, in the 'examples' subfolder diff --git a/delwritec~-help.pd b/delwritec~-help.pd index bdd8a57..bd650ea 100644 --- a/delwritec~-help.pd +++ b/delwritec~-help.pd @@ -1,7 +1,6 @@ #N canvas 441 261 766 476 10; #X obj 89 301 delwritec~ anna 4000; #X obj 179 223 delreadc~ anna 2000; -#X obj 157 61 sndfilereader~; #X obj 179 357 outputc~; #X obj 285 301 delwritec~ anna2 4000; #X obj 404 249 delreadc~ anna2 2000; @@ -26,39 +25,40 @@ #X text 539 33 hit to repeat; #X text 103 23 this is a clone of delwrite~ with a clear option. this makes it possible to make a stutterer or beat repeat:; +#X obj 101 69 sndfread~; #X connect 1 0 0 0; -#X connect 1 0 21 0; -#X connect 2 0 16 0; -#X connect 2 1 18 0; -#X connect 5 0 22 0; -#X connect 5 0 4 0; -#X connect 6 0 4 0; -#X connect 6 0 0 0; -#X connect 7 0 8 0; -#X connect 7 0 14 0; -#X connect 7 0 6 0; -#X connect 7 0 17 0; -#X connect 8 0 11 0; -#X connect 9 0 8 1; -#X connect 9 0 5 0; -#X connect 9 0 1 0; -#X connect 9 0 14 1; -#X connect 11 0 15 1; -#X connect 12 0 11 1; -#X connect 14 0 15 0; -#X connect 14 0 19 0; -#X connect 15 0 17 0; -#X connect 16 0 0 0; -#X connect 16 0 3 0; -#X connect 17 0 16 1; -#X connect 17 0 18 1; -#X connect 17 0 20 0; -#X connect 18 0 4 0; -#X connect 18 0 3 1; -#X connect 19 0 16 1; -#X connect 19 0 18 1; -#X connect 19 0 20 0; -#X connect 20 0 21 1; -#X connect 20 0 22 1; -#X connect 21 0 3 0; -#X connect 22 0 3 1; +#X connect 1 0 20 0; +#X connect 4 0 21 0; +#X connect 4 0 3 0; +#X connect 5 0 3 0; +#X connect 5 0 0 0; +#X connect 6 0 7 0; +#X connect 6 0 13 0; +#X connect 6 0 5 0; +#X connect 6 0 16 0; +#X connect 7 0 10 0; +#X connect 8 0 7 1; +#X connect 8 0 4 0; +#X connect 8 0 1 0; +#X connect 8 0 13 1; +#X connect 10 0 14 1; +#X connect 11 0 10 1; +#X connect 13 0 14 0; +#X connect 13 0 18 0; +#X connect 14 0 16 0; +#X connect 15 0 0 0; +#X connect 15 0 2 0; +#X connect 16 0 15 1; +#X connect 16 0 17 1; +#X connect 16 0 19 0; +#X connect 17 0 3 0; +#X connect 17 0 2 1; +#X connect 18 0 15 1; +#X connect 18 0 17 1; +#X connect 18 0 19 0; +#X connect 19 0 20 1; +#X connect 19 0 21 1; +#X connect 20 0 2 0; +#X connect 21 0 2 1; +#X connect 24 0 15 0; +#X connect 24 1 17 0; diff --git a/freqshifterd~-help.pd b/freqshifterd~-help.pd index aec5119..3089dc8 100644 --- a/freqshifterd~-help.pd +++ b/freqshifterd~-help.pd @@ -2,7 +2,6 @@ #X obj 221 124 freqshifterd~; #X obj 110 120 freqshifter~; #X obj 199 179 outputc~; -#X obj 278 32 sndfilereader~; #X text 332 140 inlets: signal to shift \, phase (0-1); #X obj 24 38 smoother~; #X msg 201 76 0; @@ -17,26 +16,27 @@ #X floatatom 213 -35 5 0 0 0 - - -; #X floatatom 311 -8 5 0 0 0 - - -; #X msg 44 8 10; +#X obj 278 32 sndfread~; #X connect 0 0 2 1; #X connect 1 0 2 0; #X connect 1 1 0 1; -#X connect 3 0 1 0; -#X connect 3 1 0 0; -#X connect 5 0 12 0; -#X connect 6 0 1 2; -#X connect 7 0 17 0; -#X connect 7 0 10 0; -#X connect 7 0 11 0; -#X connect 8 0 12 1; -#X connect 9 0 12 2; +#X connect 4 0 11 0; +#X connect 5 0 1 2; +#X connect 6 0 16 0; +#X connect 6 0 9 0; +#X connect 6 0 10 0; +#X connect 7 0 11 1; +#X connect 8 0 11 2; +#X connect 9 0 7 0; #X connect 10 0 8 0; -#X connect 11 0 9 0; -#X connect 12 0 1 1; -#X connect 13 0 9 0; -#X connect 13 0 8 0; -#X connect 13 0 16 0; -#X connect 14 0 5 0; -#X connect 15 0 14 0; -#X connect 16 0 9 0; -#X connect 16 0 8 0; -#X connect 17 0 5 0; +#X connect 11 0 1 1; +#X connect 12 0 8 0; +#X connect 12 0 7 0; +#X connect 12 0 15 0; +#X connect 13 0 4 0; +#X connect 14 0 13 0; +#X connect 15 0 8 0; +#X connect 15 0 7 0; +#X connect 16 0 4 0; +#X connect 17 0 1 0; +#X connect 17 1 0 0; diff --git a/gate~-help.pd b/gate~-help.pd index e379ebe..cbadadd 100755 --- a/gate~-help.pd +++ b/gate~-help.pd @@ -20,7 +20,6 @@ #X text 481 112 attack time; #X text 545 140 decay time; #X obj 261 258 *~; -#X obj -123 -24 sndfilereader~; #X obj 225 259 *~; #X obj 258 208 lop~ 100; #X obj 138 33 signum~ 225; @@ -31,30 +30,31 @@ #X obj 262 162 gate~ 0.66 52 0.6 10 1 6; #X obj 273 185 line~; #X text 321 187 generates messages for line~; -#X connect 0 0 26 0; -#X connect 1 0 25 0; +#X obj -112 -31 sndfread~; +#X connect 0 0 25 0; +#X connect 1 0 24 0; #X connect 2 0 12 0; -#X connect 3 0 29 1; -#X connect 4 0 29 2; -#X connect 5 0 29 3; -#X connect 6 0 29 4; -#X connect 7 0 29 5; -#X connect 8 0 29 6; -#X connect 9 0 25 0; +#X connect 3 0 28 1; +#X connect 4 0 28 2; +#X connect 5 0 28 3; +#X connect 6 0 28 4; +#X connect 7 0 28 5; +#X connect 8 0 28 6; +#X connect 9 0 24 0; #X connect 10 0 1 0; #X connect 11 0 0 3; #X connect 12 0 9 0; #X connect 12 0 10 0; #X connect 12 0 11 0; -#X connect 20 0 28 1; -#X connect 21 0 22 0; -#X connect 21 1 20 0; -#X connect 22 0 28 0; -#X connect 23 0 20 1; -#X connect 23 0 22 1; -#X connect 24 0 0 0; -#X connect 25 0 0 1; -#X connect 26 0 27 0; -#X connect 26 0 29 0; -#X connect 29 0 30 0; -#X connect 30 0 23 0; +#X connect 20 0 27 1; +#X connect 21 0 27 0; +#X connect 22 0 20 1; +#X connect 22 0 21 1; +#X connect 23 0 0 0; +#X connect 24 0 0 1; +#X connect 25 0 26 0; +#X connect 25 0 28 0; +#X connect 28 0 29 0; +#X connect 29 0 22 0; +#X connect 31 0 21 0; +#X connect 31 1 20 0; diff --git a/makerpath-help.pd b/makerpath-help.pd new file mode 100644 index 0000000..aecbdc2 --- /dev/null +++ b/makerpath-help.pd @@ -0,0 +1,11 @@ +#N canvas 460 500 450 300 10; +#X obj 242 147 makerpath; +#X obj 235 190 print; +#X msg 209 91 larandom.pd; +#X msg 213 50 /this/stays - thesame.wav; +#X text 14 9 this takes an absolute or relative pathname and transforms +it into an absolute pathname to the root canvas \, useful in abstractinos +; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; diff --git a/makerpath.pd b/makerpath.pd new file mode 100644 index 0000000..66001f5 --- /dev/null +++ b/makerpath.pd @@ -0,0 +1,39 @@ +#N canvas 469 313 522 352 10; +#X obj 125 8 inlet; +#X obj 119 45 symbol; +#X obj 178 118 sel symbol; +#X msg 195 73 symbol; +#X obj 228 6 loadbang; +#X obj 89 93 splitfilename /; +#X obj 268 155 rootinfo; +#X obj 86 209 list prepend; +#X obj 93 242 mergefilename /; +#X obj 124 65 t s s; +#X obj 227 192 symbol; +#X obj 222 150 bang; +#X obj 185 274 outlet; +#X obj 125 27 l2s; +#X obj 55 148 spigot; +#X msg 121 123 1; +#X msg 182 151 0; +#X connect 0 0 13 0; +#X connect 1 0 9 0; +#X connect 2 0 15 0; +#X connect 2 1 11 0; +#X connect 2 1 16 0; +#X connect 3 0 2 1; +#X connect 4 0 3 0; +#X connect 4 0 6 0; +#X connect 5 0 14 0; +#X connect 5 1 2 0; +#X connect 6 0 7 1; +#X connect 7 0 8 0; +#X connect 8 0 12 0; +#X connect 9 0 5 0; +#X connect 9 1 10 1; +#X connect 10 0 12 0; +#X connect 11 0 10 0; +#X connect 13 0 1 0; +#X connect 14 0 7 0; +#X connect 15 0 14 1; +#X connect 16 0 14 1; diff --git a/manual/Overview-control.pd b/manual/Overview-control.pd index fc46ab8..774df55 100644 --- a/manual/Overview-control.pd +++ b/manual/Overview-control.pd @@ -31,89 +31,89 @@ and the reest of the list as a message; #X text 87 715 requires pdlua: interface to lua's table datatype; #X obj 43 748 macrodivide; #X text 134 746 output a count on every nth input count; -#X obj 41 784 messtro; -#X text 117 782 send timed messages from a single message box; -#X obj 42 818 metorate; -#X text 122 815 output a number of bangs with constant delay; -#X obj 41 852 mstof; -#X text 124 852 convert ms to frequency and back; -#X obj 45 887 mstos; -#X text 118 882 convert milliseconds to samples; -#X obj 49 924 multitrigger; -#X text 157 922 output bang after counting to a number; -#X obj 50 959 percent; -#X text 124 958 choose an outlet based on percent chance; -#X obj 48 992 pipebang; -#X text 130 992 output timed bangs; -#X obj 55 1025 powline; +#X obj 38 820 messtro; +#X text 114 818 send timed messages from a single message box; +#X obj 39 854 metorate; +#X text 119 851 output a number of bangs with constant delay; +#X obj 38 888 mstof; +#X text 121 888 convert ms to frequency and back; +#X obj 42 923 mstos; +#X text 115 918 convert milliseconds to samples; +#X obj 46 960 multitrigger; +#X text 154 958 output bang after counting to a number; +#X obj 47 995 percent; +#X text 121 994 choose an outlet based on percent chance; +#X obj 45 1028 pipebang; +#X text 127 1028 output timed bangs; +#X obj 52 1061 powline; #X obj 36 398 expline; #X text 103 394 exponential line; -#X text 126 1023 line raised to variable power; -#X obj 42 1055 receiver; -#X obj 40 2535 urandom; -#X text 122 1050 receive with variable receive name; -#X obj 52 1086 rexpline; -#X text 131 1084 reverse exponential line; -#X obj 49 1122 rndmrange; -#X text 143 1117 pick a random number \, multiply it \, and add to +#X text 123 1059 line raised to variable power; +#X obj 39 1091 receiver; +#X obj 37 2571 urandom; +#X text 119 1086 receive with variable receive name; +#X obj 49 1122 rexpline; +#X text 128 1120 reverse exponential line; +#X obj 46 1158 rndmrange; +#X text 140 1153 pick a random number \, multiply it \, and add to it; -#X obj 56 1155 rootinfo; -#X text 136 1154 gives depth and path of root canvas; -#X obj 56 1189 scaler; -#X text 119 1189 multiply-add box; -#X obj 50 1219 selected; -#X text 93 1245 [selected] ^-- discover the index of selected objects +#X obj 53 1191 rootinfo; +#X text 133 1190 gives depth and path of root canvas; +#X obj 53 1225 scaler; +#X text 116 1225 multiply-add box; +#X obj 47 1255 selected; +#X text 90 1281 [selected] ^-- discover the index of selected objects (uses iemguts); -#X obj 21 1287 seqbank; -#X text 81 1506 [seqbank] - a simple 16-step array with 3 rows that +#X obj 18 1323 seqbank; +#X text 78 1542 [seqbank] - a simple 16-step array with 3 rows that can be easily edited; -#X obj 22 1555 sequencer; -#X text 106 1674 [sequencer] - 16 step sequencer with nesting; -#X obj 62 1712 shadylook; -#X text 133 1708 look up reverse exponential \, cauchy \, or gaussian +#X obj 19 1591 sequencer; +#X text 103 1710 [sequencer] - 16 step sequencer with nesting; +#X obj 59 1748 shadylook; +#X text 130 1744 look up reverse exponential \, cauchy \, or gaussian functions in a table; -#X obj 44 1759 show; -#X text 93 1759 display a message in a message box; -#X obj 45 1800 sqr; -#X text 85 1799 square a number; -#X obj 42 1839 stoms; -#X text 101 1836 convert samples to ms; -#X obj 40 1872 stream-drip; -#X text 137 1870 split a stream into single messages; -#X obj 43 1908 stream-map; -#X text 134 1905 perform some operation on each message in a stream +#X obj 41 1795 show; +#X text 90 1795 display a message in a message box; +#X obj 42 1836 sqr; +#X text 82 1835 square a number; +#X obj 39 1875 stoms; +#X text 98 1872 convert samples to ms; +#X obj 37 1908 stream-drip; +#X text 134 1906 split a stream into single messages; +#X obj 40 1944 stream-map; +#X text 131 1941 perform some operation on each message in a stream ; -#X obj 43 1942 streamquant; +#X obj 40 1978 streamquant; #X text 151 588 count number of something in a list; #X obj 42 587 list-count; -#X text 133 1940 quantize a stream to a grid; -#X obj 49 1976 streamread; -#X text 141 1974 play a stream back; -#X obj 49 2015 streamread-slow; -#X text 168 2010 play a stream back in order 1 message at a time; -#X obj 41 2050 streamwrite; -#X text 143 2050 write a stream; -#X obj 29 2085 streamwrite-slow; -#X text 159 2083 manually put in messages to a stream; -#X obj 81 2116 subdivide; -#X text 161 2115 create a faster division of a beat; -#X text 140 2152 2 inlets wait for a certain number of bangs before +#X text 130 1976 quantize a stream to a grid; +#X obj 46 2012 streamread; +#X text 138 2010 play a stream back; +#X obj 46 2051 streamread-slow; +#X text 165 2046 play a stream back in order 1 message at a time; +#X obj 38 2086 streamwrite; +#X text 140 2086 write a stream; +#X obj 26 2121 streamwrite-slow; +#X text 156 2119 manually put in messages to a stream; +#X obj 78 2152 subdivide; +#X text 158 2151 create a faster division of a beat; +#X text 137 2188 2 inlets wait for a certain number of bangs before outputting a bang and resetting; -#X obj 60 2154 synlets; -#X obj 50 2197 tabsave; -#X text 129 2199 save a table in a message box; -#X obj 40 2237 temposet; -#X text 158 2258 a gui to help with tempo; -#X obj 43 2339 testro 500; -#X text 183 2339 quick metro for testing things; -#X obj 38 2380 transpose; -#X text 132 2380 semitones to pitch-ratio conversion; -#X obj 39 2417 ttempo; -#X text 109 2424 find distance in ms between 2 taps; -#X obj 56 2480 udispatch; -#X text 145 2479 listens on a port for fudi udp messages and sends +#X obj 57 2190 synlets; +#X obj 47 2233 tabsave; +#X text 126 2235 save a table in a message box; +#X obj 37 2273 temposet; +#X text 155 2294 a gui to help with tempo; +#X obj 40 2375 testro 500; +#X text 180 2375 quick metro for testing things; +#X obj 35 2416 transpose; +#X text 129 2416 semitones to pitch-ratio conversion; +#X obj 36 2453 ttempo; +#X text 106 2460 find distance in ms between 2 taps; +#X obj 53 2516 udispatch; +#X text 142 2515 listens on a port for fudi udp messages and sends them with lispatch; -#X text 129 2535 Generate random numbers using urandom shell interface +#X text 126 2571 Generate random numbers using urandom shell interface on unix; #X obj 29 182 customenv; #X text 272 234 a custom envelope that can be drawn in. Slightly difficult @@ -123,3 +123,6 @@ to use; #X text 124 422 global receive; #X obj 34 452 globaltemps; #X text 123 450 global send; +#X obj 42 780 makerpath; +#X text 121 778 get the absolute path of a file relative to the root +canvas; diff --git a/manual/Overview-signal.pd b/manual/Overview-signal.pd index 54478df..6afea9b 100644 --- a/manual/Overview-signal.pd +++ b/manual/Overview-signal.pd @@ -1,4 +1,4 @@ -#N canvas 683 23 757 706 12; +#N canvas 34 373 757 706 12; #X declare -lib moocow; #X declare -lib moocow; #X text 150 5 Signal Objects; @@ -137,8 +137,6 @@ block of other signal-rate nosie objects); #X text 82 2638 like [cos~] \, but for sin; #X obj 42 2674 smoother~; #X text 109 2680 number box + line~; -#X text 89 2783 [sndfilereader~] GUI wrapper to read a stereo soundfile -using readsf~; #X text 105 2970 write a stereo soundfile using writesf~; #X text 108 2884 write a mono soundfile using writesf~; #X obj 35 3013 srepeater~; @@ -187,3 +185,5 @@ with probabilities; #X obj 23 2721 sndfread~; #X obj 23 2906 sndfwrites~; #X obj 34 2035 pthng~; +#X text 89 2783 GUI wrapper to read a stereo soundfile using readsf~ +; diff --git a/moop~.c b/moop~.c index d4a619e..d39a3b9 100644 --- a/moop~.c +++ b/moop~.c @@ -10,11 +10,9 @@ typedef struct _moopbuf { typedef struct _moop { t_object x_obj; - t_outlet *x_out2; + t_float x_f; t_moopbuf x_buf; //buffer info t_symbol *x_arrayname; - t_float x_f; - t_float x_tperiod; //period without samplerate t_float x_tempo; //number to * the period in ms by t_float x_trns; //held transposition @@ -74,8 +72,7 @@ static void moop_time(t_moop *x, t_symbol *s, int argc, t_atom *argv) { else x->x_sample = 0.0; x->x_phase = 0.0; x->x_inf = 0; - if(time < 0.0) x->x_num = 2; - else x->x_num = 1; + x->x_num = 1; } } } @@ -85,6 +82,11 @@ static void moop_range(t_moop *x, t_floatarg range) { x->x_range = range + 1; } +static void moop_period(t_moop *x, t_floatarg period) { + x->x_tperiod = 1000/(period*(x->x_tempo)); + x->x_period = x->x_tperiod/x->x_sr; +} + void moop_tilde_set(t_moop *x, t_symbol *s) { t_garray *a; int points; @@ -142,85 +144,97 @@ static t_int *moop_perform(t_int *w) { t_sample *out2 = (t_sample *)(w[5]); t_sample *out3 = (t_sample *)(w[6]); int n = (int)(w[7]); - union tabfudge tf; t_sample range = x->x_range; double period = x->x_period, sample = x->x_sample; - int num = x->x_num; - tf.tf_d = x->x_phase; - t_float trns; + int num = x->x_num, caster; + double phase = x->x_phase; t_moopbuf buffer = x->x_buf; t_sample tin, tin2, tout; - if(buffer.x_vec) tout = moop_rd(buffer, sample); - else { + /* just to store sign (avoid fabs) */ + float sgn = copysign(1, period); + period = fabs(period); + + if(buffer.x_vec) { + tout = moop_rd(buffer, sample); + } else { tout = 0; goto done; } if(!num) goto done; - tf.tf_d += (double)UNITBIT32; if(x->x_hold) { - trns = (sample == 0.0) ? copysign(exp2(*in/12), period) : x->x_trns; - for(;n;n--) { + t_float trns=x->x_trns; + for(;n;--n) { + tin = *in++; tin2 = *in2++; + if (phase == 0.) { + buffer.x_onset = tin2; + trns = copysign(exp2(tin/12), sgn); + } + tout = moop_rd(buffer, sample); *out1++ = tout; - *out2++ = sample; - *out3++ = tf.tf_d - UNITBIT32; - tf.tf_d += period; + *out2++ = phase; + *out3++ = sample; + phase += period; sample += trns; - if (tf.tf_i[HIOFFSET] != NORMHIPART) { + if (phase >= 1.) { if(!x->x_inf) { num--; if(!num) { - tf.tf_d = 0.0; + phase = 0.0; + n--; goto done; } } - tf.tf_i[HIOFFSET] = NORMHIPART; - trns = copysign(exp2(tin/12), period); + caster = phase; + phase = phase - caster; + trns = copysign(exp2(tin/12), sgn); sample = (period > 0) ? 0 : range; buffer.x_onset = tin2; - } - tout = moop_rd(buffer, sample); + } } x->x_trns = trns; } else { - trns = copysign(exp2(*in/12), period); - for(;n;n--) { + for(;n;--n) { + tin = *in++; tin2 = *in2++; + if (phase == 0.) { + buffer.x_onset = tin2; + } + tout = moop_rd(buffer, sample); *out1++ = tout; - *out2++ = sample; - *out3++ = tf.tf_d - UNITBIT32; - tf.tf_d += period; - sample += trns; - if (tf.tf_i[HIOFFSET] != NORMHIPART) { + *out2++ = phase; + *out3++ = sample; + phase += period; + sample += copysign(exp2(tin/12), sgn); + if (phase >= 1.) { if(!x->x_inf) { num--; if(!num) { - tf.tf_d = 0.0; + phase = 0.0; + n--; goto done; } } - tf.tf_i[HIOFFSET] = NORMHIPART; - if(period > 0) sample = 0; - else sample = range; + caster = phase; + phase = phase - caster; + sample = (period > 0) ? 0 : range; buffer.x_onset = tin2; - } - tout = moop_rd(buffer, sample); - trns = copysign(exp2(tin/12), period); + } } } - tf.tf_d -= UNITBIT32; done: - x->x_num = num; + while (n--) { *out1++ = tout; - *out2++ = sample; - *out3++ = tf.tf_d; + *out2++ = phase; + *out3++ = sample; } + x->x_num = num; x->x_buf = buffer; x->x_sample = sample; - x->x_phase = tf.tf_d; + x->x_phase = phase; return (w+8); } @@ -234,14 +248,15 @@ static void moop_dsp(t_moop *x, t_signal **sp) { static void *moop_new(t_floatarg range, t_floatarg hold, t_symbol *s) { t_moop *x = (t_moop *)pd_new(moop_class); - inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); outlet_new(&x->x_obj, &s_signal); outlet_new(&x->x_obj, &s_signal); outlet_new(&x->x_obj, &s_signal); + inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); + moop_range(x, range); moop_hold(x, hold); x->x_tempo = 1; - x->x_sr = sys_getsr(); + x->x_sr = 1.; x->x_arrayname = s; x->x_phase = 0.0; x->x_tperiod = 0.0; @@ -262,6 +277,8 @@ void moop_tilde_setup(void) { gensym("set"), A_SYMBOL, 0); class_addmethod(moop_class, (t_method)moop_hold, gensym("hold"), A_DEFFLOAT, 0); + class_addmethod(moop_class, (t_method)moop_period, gensym("period"), + A_DEFFLOAT, 0); class_addmethod(moop_class, (t_method)moop_time, gensym("times"), A_GIMME, 0); class_addmethod(moop_class, (t_method)moop_range, gensym("range"), diff --git a/nrcombf~-help.pd b/nrcombf~-help.pd index da292e5..7b6c08a 100644 --- a/nrcombf~-help.pd +++ b/nrcombf~-help.pd @@ -1,25 +1,25 @@ #N canvas 273 29 693 433 10; -#X obj 213 136 sndfilereader~; #X obj 255 290 outputc~; #X obj 345 255 oscope~; -#X msg 135 170 clear; +#X msg 136 181 clear; #X text 241 43 flags (can be anywhere in args): -n: normalize output by multiplying by 1 - abs(feedback); #X text 263 73 -l length: set length of buffer (1000 ms by default) ; -#X text 49 169 clear buffer; +#X text 50 180 clear buffer; #X text 187 19 non-recirculating combfilter using lagrange interpolation ; #X obj 236 227 nrcombf~ -n 200 2000 0.8 200; -#X obj 316 194 nrcombf~ -n 200 0.8 200; +#X obj 318 202 nrcombf~ -n 200 0.8 200; #X text 225 105 other args (in order): delay time \, feedforward gain \, length of buffer; #X text 15 378 if -n is not specified \, an input gain inlet appears \, initialized to 1; -#X connect 0 0 8 0; -#X connect 0 1 9 0; -#X connect 3 0 8 0; -#X connect 3 0 9 0; +#X obj 213 136 sndfread~; +#X connect 2 0 7 0; +#X connect 2 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 0 1; #X connect 8 0 1 0; -#X connect 9 0 1 1; -#X connect 9 0 2 0; +#X connect 11 0 7 0; +#X connect 11 1 8 0; diff --git a/out~-help.pd b/out~-help.pd index ba16f54..9409f04 100755 --- a/out~-help.pd +++ b/out~-help.pd @@ -1,9 +1,7 @@ #N canvas 290 333 691 333 10; -#X declare -lib iem_tab; -#X declare -lib iem_tab; -#X obj 44 7 sndfilereader~; #X obj 57 122 out~; #X text 280 98 dac~ with meters. Argument: envelope follower response for metering (as a lowpass filter frequency) \, 7 by default; -#X connect 0 0 1 0; -#X connect 0 1 1 1; +#X obj 44 7 sndfread~; +#X connect 2 0 0 0; +#X connect 2 1 0 1; diff --git a/rcombf~-help.pd b/rcombf~-help.pd index 72c4a9e..794cd36 100644 --- a/rcombf~-help.pd +++ b/rcombf~-help.pd @@ -1,5 +1,4 @@ #N canvas 375 46 693 433 10; -#X obj 213 136 sndfilereader~; #X obj 255 290 outputc~; #X obj 345 255 oscope~; #X msg 135 170 clear; @@ -14,12 +13,13 @@ of buffer; ; #X text 25 388 if -n is not specified \, an input gain inlet appears \, initialized to 1; -#X obj 316 194 rcombf~ -n 500 0.8 2000; +#X obj 345 202 rcombf~ -n 500 0.8 2000; #X obj 236 227 rcombf~ -n 500 0.8 2000; -#X connect 0 0 11 0; -#X connect 0 1 10 0; -#X connect 3 0 10 0; -#X connect 3 0 11 0; -#X connect 10 0 1 1; -#X connect 10 0 2 0; -#X connect 11 0 1 0; +#X obj 213 136 sndfread~; +#X connect 2 0 9 0; +#X connect 2 0 10 0; +#X connect 9 0 0 1; +#X connect 9 0 1 0; +#X connect 10 0 0 0; +#X connect 11 0 10 0; +#X connect 11 1 9 0; diff --git a/realpass~-help.pd b/realpass~-help.pd index f1b6fad..724f2ec 100644 --- a/realpass~-help.pd +++ b/realpass~-help.pd @@ -1,5 +1,4 @@ #N canvas 383 112 609 445 10; -#X obj 90 -32 sndfilereader~; #X obj 238 106 smoother~; #X obj 76 318 outputc~; #X obj 103 171 realpass~; @@ -7,24 +6,25 @@ .real coefficients; #X obj 84 255 /~ 2; #X obj 112 110 smoother~ 100; -#X floatatom 109 25 5 0 0 0 - - -; +#X floatatom 109 30 5 0 0 0 - - -; #X obj 113 57 mtof; #X obj 112 86 mstof; #X obj 223 172 realpass~; #X obj 185 233 /~ 2; #X text 316 183 inlets: signal \, delay time \, coefficient; -#X connect 0 0 3 0; -#X connect 0 0 5 0; -#X connect 0 1 10 0; -#X connect 0 1 11 0; -#X connect 1 0 3 2; -#X connect 1 0 10 2; -#X connect 3 0 5 0; -#X connect 5 0 2 0; -#X connect 6 0 3 1; -#X connect 6 0 10 1; +#X obj 90 -32 sndfread~; +#X connect 0 0 2 2; +#X connect 0 0 9 2; +#X connect 2 0 4 0; +#X connect 4 0 1 0; +#X connect 5 0 2 1; +#X connect 5 0 9 1; +#X connect 6 0 7 0; #X connect 7 0 8 0; -#X connect 8 0 9 0; -#X connect 9 0 6 0; -#X connect 10 0 11 0; -#X connect 11 0 2 1; +#X connect 8 0 5 0; +#X connect 9 0 10 0; +#X connect 10 0 1 1; +#X connect 12 0 2 0; +#X connect 12 0 4 0; +#X connect 12 1 9 0; +#X connect 12 1 10 0; diff --git a/repeater~-help.pd b/repeater~-help.pd index 962f1ea..4357cac 100644 --- a/repeater~-help.pd +++ b/repeater~-help.pd @@ -1,5 +1,4 @@ #N canvas 273 37 912 493 10; -#X obj 223 110 sndfilereader~; #X obj 221 282 outputc~; #X msg 187 11 set; #X obj 253 -23 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 @@ -42,31 +41,32 @@ ms twice; by argument.; #X floatatom 180 177 5 0 0 0 - - -; #X msg 158 212 time \$1; -#X connect 0 0 18 0; +#X obj 212 111 sndfread~; +#X connect 1 0 13 0; #X connect 2 0 14 0; -#X connect 3 0 15 0; -#X connect 4 0 18 3; -#X connect 5 0 9 1; -#X connect 7 0 29 0; -#X connect 7 1 27 0; -#X connect 8 0 7 0; -#X connect 9 0 18 2; -#X connect 10 0 9 1; -#X connect 11 0 13 0; -#X connect 12 0 18 3; -#X connect 13 0 14 0; -#X connect 13 1 12 0; -#X connect 14 0 18 1; -#X connect 15 0 21 0; -#X connect 17 0 18 1; -#X connect 18 0 1 0; -#X connect 18 0 1 1; -#X connect 18 1 22 0; -#X connect 19 0 18 1; -#X connect 20 0 9 0; -#X connect 21 0 14 0; -#X connect 24 0 18 1; -#X connect 27 0 18 3; -#X connect 29 0 18 1; -#X connect 32 0 33 0; -#X connect 33 0 18 1; +#X connect 3 0 17 3; +#X connect 4 0 8 1; +#X connect 6 0 28 0; +#X connect 6 1 26 0; +#X connect 7 0 6 0; +#X connect 8 0 17 2; +#X connect 9 0 8 1; +#X connect 10 0 12 0; +#X connect 11 0 17 3; +#X connect 12 0 13 0; +#X connect 12 1 11 0; +#X connect 13 0 17 1; +#X connect 14 0 20 0; +#X connect 16 0 17 1; +#X connect 17 0 0 0; +#X connect 17 0 0 1; +#X connect 17 1 21 0; +#X connect 18 0 17 1; +#X connect 19 0 8 0; +#X connect 20 0 13 0; +#X connect 23 0 17 1; +#X connect 26 0 17 3; +#X connect 28 0 17 1; +#X connect 31 0 32 0; +#X connect 32 0 17 1; +#X connect 33 0 17 0; diff --git a/sampbuf~.pd b/sampbuf~.pd index 00fee7c..bc5590b 100644 --- a/sampbuf~.pd +++ b/sampbuf~.pd @@ -2,26 +2,27 @@ #X obj 64 8 loadbang; #X obj 52 119 s \$1-rdr; #X obj 198 257 table \$1; -#X obj 272 240 soundfiler; +#X obj 268 266 soundfiler; #X obj 64 33 t b b b; #X obj 216 116 sel symbol; #X msg 280 92 symbol; #X obj 216 95 symbol \$2; -#X obj 273 141 list prepend read -resize; -#X obj 272 166 list append \$1; +#X obj 270 184 list prepend read -resize; +#X obj 269 209 list append \$1; #X obj 188 18 inlet; #X obj 190 48 t b a; -#X obj 270 305 outlet; -#X obj 267 270 f; +#X obj 266 331 outlet; +#X obj 263 296 f; #X obj 343 17 inlet; #X obj 338 44 bang; -#X obj 274 208 list trim; +#X obj 270 234 list trim; +#X obj 268 151 makerpath; #X connect 0 0 4 0; #X connect 3 0 13 0; #X connect 4 0 1 0; #X connect 4 1 7 0; #X connect 4 2 6 0; -#X connect 5 1 8 0; +#X connect 5 1 17 0; #X connect 6 0 5 1; #X connect 7 0 5 0; #X connect 8 0 9 0; @@ -33,3 +34,4 @@ #X connect 14 0 15 0; #X connect 15 0 13 0; #X connect 16 0 3 0; +#X connect 17 0 8 0; diff --git a/sndfread~.pd b/sndfread~.pd old mode 100755 new mode 100644 index 1b867ce..fcfcc4d --- a/sndfread~.pd +++ b/sndfread~.pd @@ -1,6 +1,5 @@ #N canvas 173 248 541 336 10; #X obj -194 -16 openpanel; -#X msg -119 139 open /Users/sebshader/Desktop/To The Last.wav; #X msg 240 161 start; #X obj 223 41 bng 15 250 50 0 empty empty read 17 7 0 10 -262144 -1 -1; @@ -15,7 +14,6 @@ #X obj 269 41 bng 15 250 50 0 empty empty stop 17 7 0 10 -262144 -1 -1; #X msg 289 163 stop; -#X obj -179 12 l2s; #X obj 180 74 t b b; #X obj 118 206 readsf~ 2; #X obj 136 243 outlet~; @@ -28,31 +26,33 @@ #X obj 158 -39 inlet; #X obj 219 -34 inlet; #X text -167 -35 todo: implement pause; -#X connect 0 0 13 0; -#X connect 1 0 15 0; -#X connect 2 0 15 0; -#X connect 3 0 21 0; -#X connect 4 0 14 0; -#X connect 5 0 1 0; -#X connect 8 0 9 0; -#X connect 8 1 10 0; -#X connect 9 1 7 0; -#X connect 11 0 12 0; -#X connect 12 0 15 0; -#X connect 13 0 8 0; +#X obj -179 12 makerpath; +#X msg -119 139; +#X connect 0 0 24 0; +#X connect 1 0 13 0; +#X connect 2 0 19 0; +#X connect 3 0 12 0; +#X connect 4 0 25 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 1 6 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 12 0 0 0; +#X connect 12 1 11 0; #X connect 13 0 5 0; -#X connect 13 0 18 0; -#X connect 14 0 0 0; -#X connect 14 1 12 0; -#X connect 15 0 6 0; -#X connect 15 1 16 0; -#X connect 15 2 17 0; -#X connect 19 0 13 0; -#X connect 19 0 12 0; +#X connect 13 1 14 0; +#X connect 13 2 15 0; +#X connect 17 0 11 0; +#X connect 17 0 24 0; +#X connect 19 0 1 0; +#X connect 19 1 25 0; +#X connect 19 2 11 0; +#X connect 20 0 3 0; #X connect 21 0 2 0; -#X connect 21 1 1 0; -#X connect 21 2 12 0; -#X connect 22 0 4 0; -#X connect 23 0 3 0; -#X connect 24 0 11 0; +#X connect 22 0 10 0; +#X connect 24 0 7 0; +#X connect 24 0 4 0; +#X connect 24 0 16 0; +#X connect 25 0 13 0; #X coords 0 -1 1 1 320 60 1 0 0; diff --git a/sndfwritem~-help.pd b/sndfwritem~-help.pd index bfb3457..8e2a39b 100644 --- a/sndfwritem~-help.pd +++ b/sndfwritem~-help.pd @@ -16,14 +16,13 @@ the name); #X msg 195 108 /tmp/test.wav; #X msg 498 85 -bytes 3; -#X text 339 28 should be combined with sndfilewriterster~; #X obj 52 139 sndfwritem~; -#X connect 0 0 16 0; +#X connect 0 0 15 0; #X connect 2 0 3 0; -#X connect 6 0 16 2; -#X connect 7 0 16 2; -#X connect 8 0 16 2; -#X connect 9 0 16 2; -#X connect 13 0 16 1; -#X connect 14 0 16 3; -#X connect 16 0 2 0; +#X connect 6 0 15 2; +#X connect 7 0 15 2; +#X connect 8 0 15 2; +#X connect 9 0 15 2; +#X connect 13 0 15 1; +#X connect 14 0 15 3; +#X connect 15 0 2 0; diff --git a/sndfwritem~.pd b/sndfwritem~.pd index 6737de2..124d24e 100644 --- a/sndfwritem~.pd +++ b/sndfwritem~.pd @@ -12,7 +12,6 @@ #X obj 370 141 bng 15 250 50 0 empty empty stop 17 7 0 10 -262144 -1 -1; #X msg 271 357 stop; -#X obj -28 206 l2s; #X obj 13 156 t b b; #X obj 264 469 outlet; #X obj 34 40 inlet; @@ -96,78 +95,79 @@ #X obj 72 200 list prepend; #X obj 147 31 route open write stop incr; #X obj 396 60 l2s; -#X connect 0 0 57 0; -#X connect 1 0 43 0; -#X connect 2 0 10 0; +#X obj -28 206 makerpath; +#X connect 0 0 56 0; +#X connect 1 0 42 0; +#X connect 2 0 9 0; #X connect 4 0 5 0; #X connect 4 1 6 0; #X connect 5 1 3 0; #X connect 7 0 8 0; -#X connect 8 0 57 0; -#X connect 9 0 24 1; -#X connect 9 0 31 0; -#X connect 9 0 26 0; -#X connect 10 0 16 0; -#X connect 10 1 8 0; -#X connect 12 0 9 0; -#X connect 12 0 8 0; -#X connect 14 0 49 0; +#X connect 8 0 56 0; +#X connect 9 0 15 0; +#X connect 9 1 8 0; +#X connect 11 0 8 0; +#X connect 11 0 61 0; +#X connect 13 0 48 0; +#X connect 14 0 60 0; #X connect 15 0 61 0; -#X connect 16 0 9 0; -#X connect 17 0 57 0; -#X connect 18 0 60 0; -#X connect 19 0 25 0; -#X connect 20 0 29 0; -#X connect 20 1 28 1; -#X connect 21 0 26 0; -#X connect 22 0 28 0; -#X connect 23 0 30 1; -#X connect 24 0 20 0; -#X connect 25 0 24 0; -#X connect 25 1 23 0; -#X connect 26 0 4 0; -#X connect 26 0 11 0; -#X connect 26 0 59 0; -#X connect 27 0 22 0; -#X connect 28 0 21 0; -#X connect 29 0 30 0; -#X connect 29 1 27 0; +#X connect 16 0 56 0; +#X connect 17 0 59 0; +#X connect 18 0 24 0; +#X connect 19 0 28 0; +#X connect 19 1 27 1; +#X connect 20 0 25 0; +#X connect 21 0 27 0; +#X connect 22 0 29 1; +#X connect 23 0 19 0; +#X connect 24 0 23 0; +#X connect 24 1 22 0; +#X connect 25 0 4 0; +#X connect 25 0 10 0; +#X connect 25 0 58 0; +#X connect 26 0 21 0; +#X connect 27 0 20 0; +#X connect 28 0 29 0; +#X connect 28 1 26 0; +#X connect 29 0 21 0; #X connect 30 0 22 0; -#X connect 31 0 23 0; -#X connect 32 0 0 0; -#X connect 33 0 47 0; +#X connect 31 0 0 0; +#X connect 32 0 46 0; +#X connect 32 0 49 0; +#X connect 33 0 36 0; #X connect 33 0 50 0; -#X connect 34 0 37 0; -#X connect 34 0 51 0; -#X connect 35 0 41 0; -#X connect 35 1 42 0; -#X connect 36 0 59 1; -#X connect 37 0 59 1; -#X connect 38 0 40 0; -#X connect 38 1 44 0; -#X connect 39 0 56 0; -#X connect 40 0 39 0; -#X connect 41 0 26 0; +#X connect 34 0 40 0; +#X connect 34 1 41 0; +#X connect 35 0 58 1; +#X connect 36 0 58 1; +#X connect 37 0 39 0; +#X connect 37 1 43 0; +#X connect 38 0 55 0; +#X connect 39 0 38 0; +#X connect 40 0 25 0; +#X connect 40 1 35 0; +#X connect 40 1 44 0; +#X connect 41 0 25 0; #X connect 41 1 36 0; -#X connect 41 1 45 0; -#X connect 42 0 26 0; -#X connect 42 1 37 0; -#X connect 43 0 32 0; -#X connect 43 1 56 0; -#X connect 44 0 53 0; -#X connect 45 0 44 1; -#X connect 48 0 33 0; -#X connect 48 1 45 1; -#X connect 49 0 48 0; -#X connect 50 0 35 0; -#X connect 51 0 52 0; -#X connect 52 0 49 1; -#X connect 53 0 56 0; -#X connect 56 0 57 0; -#X connect 59 0 38 0; -#X connect 60 0 2 0; -#X connect 60 1 1 0; -#X connect 60 2 7 0; -#X connect 60 3 19 0; -#X connect 61 0 14 0; +#X connect 42 0 31 0; +#X connect 42 1 55 0; +#X connect 43 0 52 0; +#X connect 44 0 43 1; +#X connect 47 0 32 0; +#X connect 47 1 44 1; +#X connect 48 0 47 0; +#X connect 49 0 34 0; +#X connect 50 0 51 0; +#X connect 51 0 48 1; +#X connect 52 0 55 0; +#X connect 55 0 56 0; +#X connect 58 0 37 0; +#X connect 59 0 2 0; +#X connect 59 1 1 0; +#X connect 59 2 7 0; +#X connect 59 3 18 0; +#X connect 60 0 13 0; +#X connect 61 0 23 1; +#X connect 61 0 30 0; +#X connect 61 0 25 0; #X coords 0 -1 1 1 380 60 1 100 100; diff --git a/sndfwrites~-help.pd b/sndfwrites~-help.pd index 8750995..6c0ab23 100644 --- a/sndfwrites~-help.pd +++ b/sndfwrites~-help.pd @@ -17,15 +17,14 @@ the name); #X text 189 -40 stereo soundfile writer; #X obj 161 85 osc~ 410; #X text 202 -19 inlets 1+2: stereo signal; -#X text 398 -19 should be combined with sndfilewritermon~; #X obj 103 122 sndfwrites~; -#X connect 0 0 17 0; +#X connect 0 0 16 0; #X connect 2 0 3 0; -#X connect 4 0 17 3; -#X connect 5 0 17 3; -#X connect 6 0 17 3; -#X connect 7 0 17 3; -#X connect 8 0 17 2; -#X connect 9 0 17 4; -#X connect 14 0 17 1; -#X connect 17 0 2 0; +#X connect 4 0 16 3; +#X connect 5 0 16 3; +#X connect 6 0 16 3; +#X connect 7 0 16 3; +#X connect 8 0 16 2; +#X connect 9 0 16 4; +#X connect 14 0 16 1; +#X connect 16 0 2 0; diff --git a/sndfwrites~.pd b/sndfwrites~.pd index 971edf0..a4dbe4a 100644 --- a/sndfwrites~.pd +++ b/sndfwrites~.pd @@ -12,7 +12,6 @@ #X obj 371 61 bng 15 250 50 0 empty empty stop 17 7 0 10 -262144 -1 -1; #X msg 309 183 stop; -#X obj -29 169 l2s; #X obj 280 93 t b b; #X obj -133 515 outlet; #X obj 35 -24 inlet; @@ -97,79 +96,80 @@ #X text 137 532 a stereo sound file writer; #X msg 250 372 open -bytes 3 /tmp/test19.wav; #X obj 362 -4 l2s; -#X connect 0 0 45 0; -#X connect 1 0 47 0; -#X connect 2 0 10 0; +#X obj -29 169 makerpath; +#X connect 0 0 44 0; +#X connect 1 0 46 0; +#X connect 2 0 9 0; #X connect 4 0 5 0; #X connect 4 1 6 0; #X connect 5 1 3 0; #X connect 7 0 8 0; -#X connect 8 0 45 0; -#X connect 9 0 25 1; -#X connect 9 0 32 0; -#X connect 9 0 27 0; -#X connect 10 0 16 0; -#X connect 10 1 8 0; -#X connect 12 0 9 0; -#X connect 12 0 8 0; -#X connect 14 0 53 0; +#X connect 8 0 44 0; +#X connect 9 0 15 0; +#X connect 9 1 8 0; +#X connect 11 0 8 0; +#X connect 11 0 62 0; +#X connect 13 0 52 0; +#X connect 14 0 61 0; #X connect 15 0 62 0; -#X connect 16 0 9 0; -#X connect 17 0 45 0; -#X connect 18 0 20 0; -#X connect 19 0 26 0; -#X connect 20 0 2 0; -#X connect 20 1 1 0; -#X connect 20 2 7 0; -#X connect 20 3 19 0; -#X connect 21 0 30 0; -#X connect 21 1 29 1; -#X connect 22 0 27 0; -#X connect 23 0 29 0; -#X connect 24 0 31 1; -#X connect 25 0 21 0; -#X connect 26 0 25 0; -#X connect 26 1 24 0; -#X connect 27 0 4 0; -#X connect 27 0 11 0; -#X connect 27 0 39 0; -#X connect 28 0 23 0; -#X connect 29 0 22 0; -#X connect 30 0 31 0; -#X connect 30 1 28 0; +#X connect 16 0 44 0; +#X connect 17 0 19 0; +#X connect 18 0 25 0; +#X connect 19 0 2 0; +#X connect 19 1 1 0; +#X connect 19 2 7 0; +#X connect 19 3 18 0; +#X connect 20 0 29 0; +#X connect 20 1 28 1; +#X connect 21 0 26 0; +#X connect 22 0 28 0; +#X connect 23 0 30 1; +#X connect 24 0 20 0; +#X connect 25 0 24 0; +#X connect 25 1 23 0; +#X connect 26 0 4 0; +#X connect 26 0 10 0; +#X connect 26 0 38 0; +#X connect 27 0 22 0; +#X connect 28 0 21 0; +#X connect 29 0 30 0; +#X connect 29 1 27 0; +#X connect 30 0 22 0; #X connect 31 0 23 0; -#X connect 32 0 24 0; -#X connect 33 0 0 0; -#X connect 34 0 51 0; +#X connect 32 0 0 0; +#X connect 33 0 50 0; +#X connect 33 0 53 0; +#X connect 34 0 37 0; #X connect 34 0 54 0; -#X connect 35 0 38 0; -#X connect 35 0 55 0; -#X connect 36 0 43 0; -#X connect 36 1 44 0; -#X connect 37 0 39 1; -#X connect 38 0 39 1; -#X connect 39 0 40 0; -#X connect 40 0 42 0; -#X connect 40 1 48 0; -#X connect 41 0 61 0; -#X connect 42 0 41 0; -#X connect 43 0 27 0; +#X connect 35 0 42 0; +#X connect 35 1 43 0; +#X connect 36 0 38 1; +#X connect 37 0 38 1; +#X connect 38 0 39 0; +#X connect 39 0 41 0; +#X connect 39 1 47 0; +#X connect 40 0 60 0; +#X connect 41 0 40 0; +#X connect 42 0 26 0; +#X connect 42 1 36 0; +#X connect 42 1 48 0; +#X connect 43 0 26 0; #X connect 43 1 37 0; -#X connect 43 1 49 0; -#X connect 44 0 27 0; -#X connect 44 1 38 0; -#X connect 46 0 45 1; -#X connect 47 0 33 0; -#X connect 47 1 61 0; -#X connect 48 0 57 0; -#X connect 49 0 48 1; -#X connect 52 0 34 0; -#X connect 52 1 49 1; -#X connect 53 0 52 0; -#X connect 54 0 36 0; -#X connect 55 0 56 0; -#X connect 56 0 53 1; -#X connect 57 0 61 0; -#X connect 61 0 45 0; -#X connect 62 0 14 0; +#X connect 45 0 44 1; +#X connect 46 0 32 0; +#X connect 46 1 60 0; +#X connect 47 0 56 0; +#X connect 48 0 47 1; +#X connect 51 0 33 0; +#X connect 51 1 48 1; +#X connect 52 0 51 0; +#X connect 53 0 35 0; +#X connect 54 0 55 0; +#X connect 55 0 52 1; +#X connect 56 0 60 0; +#X connect 60 0 44 0; +#X connect 61 0 13 0; +#X connect 62 0 24 1; +#X connect 62 0 31 0; +#X connect 62 0 26 0; #X coords 0 -1 1 1 380 60 1 100 20; diff --git a/srepeater~-help.pd b/srepeater~-help.pd index d49c0f5..87baf16 100644 --- a/srepeater~-help.pd +++ b/srepeater~-help.pd @@ -1,10 +1,7 @@ #N canvas 405 31 634 404 10; #X text 156 103 trigger: list of ms \, # of hits \, feedback; #X text 352 280 simple repeater; -#X obj 8 52 sndfilereader~; #X obj 158 270 outputc~; -#X text 22 8 this helpfile does exactly what delwritec~-help.pd does -; #X msg 244 123 200 4 1.25; #X msg 420 111 hold 0; #X text 476 108 stop holding; @@ -13,13 +10,15 @@ #X msg 475 39 fb 1 \, hold 400; #X obj 216 225 srepeater~ 4000; #X obj 105 221 srepeater~ 4000; -#X connect 2 0 11 0; -#X connect 2 1 10 0; -#X connect 5 0 10 1; -#X connect 5 0 11 1; -#X connect 6 0 10 1; -#X connect 6 0 11 1; -#X connect 9 0 10 1; -#X connect 9 0 11 1; -#X connect 10 0 3 1; -#X connect 11 0 3 0; +#X obj 10 37 sndfread~; +#X text 22 8 a simple beat repeater; +#X connect 3 0 8 1; +#X connect 3 0 9 1; +#X connect 4 0 8 1; +#X connect 4 0 9 1; +#X connect 7 0 8 1; +#X connect 7 0 9 1; +#X connect 8 0 2 1; +#X connect 9 0 2 0; +#X connect 10 0 9 0; +#X connect 10 1 8 0; diff --git a/vdhs~-help.pd b/vdhs~-help.pd index e900499..d878129 100644 --- a/vdhs~-help.pd +++ b/vdhs~-help.pd @@ -1,5 +1,4 @@ #N canvas 102 120 949 561 10; -#X obj 197 44 sndfilereader~; #X floatatom 363 218 5 0 0 0 - - -; #X text 373 199 depth; #X obj 320 213 osc~; @@ -37,39 +36,40 @@ order to be able to resolve the class pointer! I know of no easy way to resolve this (should be with a shared dynamic library perhaps even though I have no cross-platform bsd makefile for that \, or make this entire library into 1 lib); -#X connect 0 0 25 0; -#X connect 0 0 28 0; -#X connect 0 1 26 0; -#X connect 0 1 27 0; -#X connect 1 0 8 0; -#X connect 1 0 15 1; -#X connect 3 0 15 0; -#X connect 4 0 3 0; -#X connect 8 0 21 0; -#X connect 9 0 10 0; -#X connect 10 0 5 0; -#X connect 11 0 5 0; -#X connect 12 0 5 1; -#X connect 13 0 5 1; -#X connect 14 0 12 0; -#X connect 15 0 16 0; -#X connect 16 0 9 0; -#X connect 16 0 14 0; -#X connect 16 0 31 0; -#X connect 16 0 32 0; -#X connect 17 0 12 1; +#X obj 186 22 sndfread~; +#X connect 0 0 7 0; +#X connect 0 0 14 1; +#X connect 2 0 14 0; +#X connect 3 0 2 0; +#X connect 7 0 20 0; +#X connect 8 0 9 0; +#X connect 9 0 4 0; +#X connect 10 0 4 0; +#X connect 11 0 4 1; +#X connect 12 0 4 1; +#X connect 13 0 11 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 15 0 13 0; +#X connect 15 0 30 0; +#X connect 15 0 31 0; +#X connect 16 0 11 1; +#X connect 16 0 9 1; +#X connect 17 0 16 0; #X connect 17 0 10 1; -#X connect 18 0 17 0; -#X connect 18 0 11 1; -#X connect 18 0 13 1; -#X connect 19 0 17 0; -#X connect 19 0 13 1; -#X connect 19 0 11 1; -#X connect 20 0 25 0; -#X connect 20 0 27 0; -#X connect 21 0 16 1; -#X connect 22 0 24 0; -#X connect 24 0 21 0; -#X connect 24 1 21 1; -#X connect 31 0 13 0; -#X connect 32 0 11 0; +#X connect 17 0 12 1; +#X connect 18 0 16 0; +#X connect 18 0 12 1; +#X connect 18 0 10 1; +#X connect 19 0 24 0; +#X connect 19 0 26 0; +#X connect 20 0 15 1; +#X connect 21 0 23 0; +#X connect 23 0 20 0; +#X connect 23 1 20 1; +#X connect 30 0 12 0; +#X connect 31 0 10 0; +#X connect 33 0 24 0; +#X connect 33 0 27 0; +#X connect 33 1 25 0; +#X connect 33 1 26 0;