From 3faf17f7b713905f582def227df90dac15f3468d Mon Sep 17 00:00:00 2001 From: "N.N." Date: Tue, 10 Jul 2007 07:47:46 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r7969, which included commits to RCS files with non-trunk default branches. svn path=/trunk/abstractions/s-abstractions/; revision=7970 --- README | 12 + TODO | 7 + blosc/bandlimited_oscillators.pd | 10 + blosc/blsaw~-help.pd | 78 +++++ blosc/blsaw~.pd | 297 +++++++++++++++++++ blosc/blsquare~-help.pd | 80 ++++++ blosc/blsquare~.pd | 342 ++++++++++++++++++++++ blosc/bltriangle~-help.pd | 80 ++++++ blosc/bltriangle~.pd | 357 +++++++++++++++++++++++ cell-receive.pd | 11 + examples/controlsurface-example.pd | 8 + examples/s-varenv-example.pd | 531 ++++++++++++++++++++++++++++++++++ examples/varseq-example.pd | 10 + install | 14 + pd_start.pd | 116 ++++++++ s-303vcf~.pd | 33 +++ s-303~.pd | 187 ++++++++++++ s-adsynth~.pd | 48 ++++ s-arranger-help.pd | 47 +++ s-arranger.pd | 380 ++++++++++++++++++++++++ s-autocompressor~.pd | 121 ++++++++ s-bassdrum~.pd | 65 +++++ s-beat-help.pd | 32 +++ s-beat.pd | 280 ++++++++++++++++++ s-bitcrusher~.pd | 22 ++ s-boomdrum~.pd | 45 +++ s-breaker~.pd | 247 ++++++++++++++++ s-connect.pd | 4 + s-controlsurface.pd | 111 +++++++ s-conway-help.pd | 30 ++ s-conway.pd | 444 ++++++++++++++++++++++++++++ s-default.pd | 13 + s-delayunit~.pd | 40 +++ s-env-help.pd | 24 ++ s-env.pd | 486 +++++++++++++++++++++++++++++++ s-env~-help.pd | 573 +++++++++++++++++++++++++++++++++++++ s-env~.pd | 281 ++++++++++++++++++ s-ezdac~.pd | 66 +++++ s-filtdelay~.pd | 48 ++++ s-filter~.pd | 37 +++ s-freqnoise~-help.pd | 8 + s-freqnoise~.pd | 192 +++++++++++++ s-ftoms.pd | 6 + s-fuzz~.pd | 25 ++ s-gain~.pd | 22 ++ s-hex.pd | 57 ++++ s-jail.pd | 8 + s-krafty~.pd | 42 +++ s-loader.pd | 28 ++ s-lookup.pd | 17 ++ s-metro.pd | 78 +++++ s-microenv.pd | 297 +++++++++++++++++++ s-midictl.pd | 50 ++++ s-midiloop-help.pd | 44 +++ s-midiloop.pd | 163 +++++++++++ s-midimemory-help.pd | 9 + s-midimemory.pd | 68 +++++ s-midimonitor.pd | 26 ++ s-midimono.pd | 46 +++ s-midinote.pd | 9 + s-miditrigger.pd | 18 ++ s-mseq-help.pd | 34 +++ s-mseq.pd | 43 +++ s-nadsr~-help.pd | 38 +++ s-nadsr~.pd | 551 +++++++++++++++++++++++++++++++++++ s-obiwanbd~-help.pd | 7 + s-obiwanbd~.pd | 135 +++++++++ s-obiwancym~-help.pd | 7 + s-obiwancym~.pd | 138 +++++++++ s-obiwansd~-help.pd | 6 + s-obiwansd~.pd | 203 +++++++++++++ s-oldschool~.pd | 76 +++++ s-perc~.pd | 92 ++++++ s-pluck~.pd | 116 ++++++++ s-recorder~.pd | 35 +++ s-repeater~.pd | 55 ++++ s-reverb-echo.pd | 17 ++ s-reverb~.pd | 118 ++++++++ s-samplepiece~.pd | 107 +++++++ s-seq-help.pd | 23 ++ s-seq.pd | 484 +++++++++++++++++++++++++++++++ s-seq16.pd | 34 +++ s-sigmoid~.pd | 8 + s-smooth.pd | 16 ++ s-snare~.pd | 83 ++++++ s-spooky~.pd | 387 +++++++++++++++++++++++++ s-synth~.pd | 57 ++++ s-tabval.pd | 16 ++ s-togs.pd | 98 +++++++ s-tracker-help.pd | 24 ++ s-tracker.pd | 236 +++++++++++++++ s-varenv.pd | 344 ++++++++++++++++++++++ s-varseq-help.pd | 25 ++ s-varseq.pd | 429 +++++++++++++++++++++++++++ s-xfader~.pd | 28 ++ s-zhzxh~.pd | 9 + sfimport | 7 + sssad/README.txt | 55 ++++ sssad/_sssad/list_argument.pd | 20 ++ sssad/_sssad/singleton-help.pd | 42 +++ sssad/_sssad/singleton.pd | 121 ++++++++ sssad/_sssad/sssad-persistence.pd | 17 ++ sssad/auto.pd | 6 + sssad/datastore-help.pd | 30 ++ sssad/datastore.pd | 64 +++++ sssad/load.pd | 23 ++ sssad/panel.pd | 92 ++++++ sssad/sssad-help.pd | 99 +++++++ sssad/sssad.pd | 31 ++ sssad/value.pd | 11 + sx/addnoise.pd | 36 +++ sx/binter.pd | 17 ++ sx/blend.pd | 17 ++ sx/blob-help.pd | 19 ++ sx/blob.pd | 105 +++++++ sx/blob2.pd | 66 +++++ sx/drift.pd | 24 ++ sx/explode-help.pd | 16 ++ sx/explode.pd | 100 +++++++ sx/fakecyl.pd | 26 ++ sx/gemwin.pd | 114 ++++++++ sx/hutz.pd | 54 ++++ sx/mirrorball.pd | 13 + sx/netgeom-help.pd | 23 ++ sx/netgeom.pd | 43 +++ sx/normal.pd | 45 +++ sx/phitz.pd | 32 +++ sx/pinger.pd | 46 +++ sx/props.pd | 124 ++++++++ sx/ring.pd | 61 ++++ sx/rumble.pd | 37 +++ sx/shadow.pd | 19 ++ sx/sigplane.pd | 22 ++ sx/unit.pd | 28 ++ sx/vibber-help.pd | 7 + sx/vibber.pd | 101 +++++++ sx/voibu.pd | 86 ++++++ sx/wander.pd | 205 +++++++++++++ sx/wobtower.pd | 108 +++++++ uninstall | 7 + utils/net_triangle.py | 115 ++++++++ vead~.pd | 48 ++++ 142 files changed, 13291 insertions(+) create mode 100644 README create mode 100644 TODO create mode 100644 blosc/bandlimited_oscillators.pd create mode 100644 blosc/blsaw~-help.pd create mode 100644 blosc/blsaw~.pd create mode 100644 blosc/blsquare~-help.pd create mode 100644 blosc/blsquare~.pd create mode 100644 blosc/bltriangle~-help.pd create mode 100644 blosc/bltriangle~.pd create mode 100644 cell-receive.pd create mode 100644 examples/controlsurface-example.pd create mode 100644 examples/s-varenv-example.pd create mode 100644 examples/varseq-example.pd create mode 100644 install create mode 100644 pd_start.pd create mode 100644 s-303vcf~.pd create mode 100644 s-303~.pd create mode 100644 s-adsynth~.pd create mode 100644 s-arranger-help.pd create mode 100644 s-arranger.pd create mode 100644 s-autocompressor~.pd create mode 100644 s-bassdrum~.pd create mode 100644 s-beat-help.pd create mode 100644 s-beat.pd create mode 100644 s-bitcrusher~.pd create mode 100644 s-boomdrum~.pd create mode 100644 s-breaker~.pd create mode 100644 s-connect.pd create mode 100644 s-controlsurface.pd create mode 100644 s-conway-help.pd create mode 100644 s-conway.pd create mode 100644 s-default.pd create mode 100644 s-delayunit~.pd create mode 100644 s-env-help.pd create mode 100644 s-env.pd create mode 100644 s-env~-help.pd create mode 100644 s-env~.pd create mode 100644 s-ezdac~.pd create mode 100644 s-filtdelay~.pd create mode 100644 s-filter~.pd create mode 100644 s-freqnoise~-help.pd create mode 100644 s-freqnoise~.pd create mode 100644 s-ftoms.pd create mode 100644 s-fuzz~.pd create mode 100644 s-gain~.pd create mode 100644 s-hex.pd create mode 100644 s-jail.pd create mode 100644 s-krafty~.pd create mode 100644 s-loader.pd create mode 100644 s-lookup.pd create mode 100644 s-metro.pd create mode 100644 s-microenv.pd create mode 100644 s-midictl.pd create mode 100644 s-midiloop-help.pd create mode 100644 s-midiloop.pd create mode 100644 s-midimemory-help.pd create mode 100644 s-midimemory.pd create mode 100644 s-midimonitor.pd create mode 100644 s-midimono.pd create mode 100644 s-midinote.pd create mode 100644 s-miditrigger.pd create mode 100644 s-mseq-help.pd create mode 100644 s-mseq.pd create mode 100644 s-nadsr~-help.pd create mode 100644 s-nadsr~.pd create mode 100644 s-obiwanbd~-help.pd create mode 100644 s-obiwanbd~.pd create mode 100644 s-obiwancym~-help.pd create mode 100644 s-obiwancym~.pd create mode 100644 s-obiwansd~-help.pd create mode 100644 s-obiwansd~.pd create mode 100644 s-oldschool~.pd create mode 100644 s-perc~.pd create mode 100644 s-pluck~.pd create mode 100644 s-recorder~.pd create mode 100644 s-repeater~.pd create mode 100644 s-reverb-echo.pd create mode 100644 s-reverb~.pd create mode 100644 s-samplepiece~.pd create mode 100644 s-seq-help.pd create mode 100644 s-seq.pd create mode 100644 s-seq16.pd create mode 100644 s-sigmoid~.pd create mode 100644 s-smooth.pd create mode 100644 s-snare~.pd create mode 100644 s-spooky~.pd create mode 100644 s-synth~.pd create mode 100644 s-tabval.pd create mode 100644 s-togs.pd create mode 100644 s-tracker-help.pd create mode 100644 s-tracker.pd create mode 100644 s-varenv.pd create mode 100644 s-varseq-help.pd create mode 100644 s-varseq.pd create mode 100644 s-xfader~.pd create mode 100644 s-zhzxh~.pd create mode 100755 sfimport create mode 100644 sssad/README.txt create mode 100644 sssad/_sssad/list_argument.pd create mode 100644 sssad/_sssad/singleton-help.pd create mode 100644 sssad/_sssad/singleton.pd create mode 100644 sssad/_sssad/sssad-persistence.pd create mode 100644 sssad/auto.pd create mode 100644 sssad/datastore-help.pd create mode 100644 sssad/datastore.pd create mode 100644 sssad/load.pd create mode 100644 sssad/panel.pd create mode 100644 sssad/sssad-help.pd create mode 100644 sssad/sssad.pd create mode 100644 sssad/value.pd create mode 100644 sx/addnoise.pd create mode 100644 sx/binter.pd create mode 100644 sx/blend.pd create mode 100644 sx/blob-help.pd create mode 100644 sx/blob.pd create mode 100644 sx/blob2.pd create mode 100644 sx/drift.pd create mode 100644 sx/explode-help.pd create mode 100644 sx/explode.pd create mode 100644 sx/fakecyl.pd create mode 100644 sx/gemwin.pd create mode 100644 sx/hutz.pd create mode 100644 sx/mirrorball.pd create mode 100644 sx/netgeom-help.pd create mode 100644 sx/netgeom.pd create mode 100644 sx/normal.pd create mode 100644 sx/phitz.pd create mode 100644 sx/pinger.pd create mode 100644 sx/props.pd create mode 100644 sx/ring.pd create mode 100644 sx/rumble.pd create mode 100644 sx/shadow.pd create mode 100644 sx/sigplane.pd create mode 100644 sx/unit.pd create mode 100644 sx/vibber-help.pd create mode 100644 sx/vibber.pd create mode 100644 sx/voibu.pd create mode 100644 sx/wander.pd create mode 100644 sx/wobtower.pd create mode 100755 uninstall create mode 100644 utils/net_triangle.py create mode 100644 vead~.pd diff --git a/README b/README new file mode 100644 index 0000000..f25730d --- /dev/null +++ b/README @@ -0,0 +1,12 @@ +This is a collection of abstractions for puredata, created by Chris McCormick. + +These require puredata 0.39-2 from http://crca.ucsd.edu/~msp/software.html + +To install, run ./install from this directory. Then run pd as per normal. +To uninstall run ./uninstall from this directory. The old file is in .pdrc.bak + +Have fun. + +chris@mccormick.cx +http://mccormick.cx + diff --git a/TODO b/TODO new file mode 100644 index 0000000..8ef6cee --- /dev/null +++ b/TODO @@ -0,0 +1,7 @@ +* adsr style envelope with sustain and settable length, which takes midi notes as triggers +* auto-learning midi input abstractions +* sample looper like susloop~ +* make the envelope self resizing +* make 'basic' elements (sliders, numberboxes, etc) with [sssad/auto] in them +* make s-midiloop +* make the spectal panner diff --git a/blosc/bandlimited_oscillators.pd b/blosc/bandlimited_oscillators.pd new file mode 100644 index 0000000..a039e94 --- /dev/null +++ b/blosc/bandlimited_oscillators.pd @@ -0,0 +1,10 @@ +#N canvas 501 290 343 157 10; +#N canvas 690 174 154 104 abslist 0; +#X msg 19 11 blsaw~; +#X msg 20 38 blsquare~; +#X msg 20 65 bltriangle~; +#X restore 12 12 pd abslist; +#X msg 12 37 version 0.2.0; +#X text 13 64 bandlimited oscillators; +#X text 13 84 copyright by roman haefeli; +#X text 14 106 published under the gnu public license; diff --git a/blosc/blsaw~-help.pd b/blosc/blsaw~-help.pd new file mode 100644 index 0000000..c78799d --- /dev/null +++ b/blosc/blsaw~-help.pd @@ -0,0 +1,78 @@ +#N canvas 285 15 647 568 10; +#X obj 31 224 *~; +#X obj 32 253 dac~; +#X obj 111 243 pow 2; +#X obj 114 218 hsl 128 15 0 1 0 0 empty empty volume -2 -8 0 10 -262144 +-1 -1 3100 1; +#X obj 111 284 line~; +#X obj 111 263 pack f 20; +#X obj 283 212 cnv 15 350 130 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X text 290 223 synopsis:; +#X text 289 278 inlet1: signal (frequency); +#X text 289 298 inlet2: float (set phase); +#X obj 184 354 cnv 15 450 120 empty empty empty 20 12 0 14 -241291 +-66577 0; +#X floatatom 262 408 7 0 0 0 - - -; +#X text 315 410 Hz; +#X text 194 408 border @; +#X text 14 519 copyright by Roman Haefeli; +#X text 14 540 published under the GNU Public License; +#X obj 244 484 cnv 15 390 25 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X text 252 490 due to bandlimitation peaks above/below +/-1 may occur +; +#X obj 34 61 hsl 128 15 20 17000 1 0 empty empty frequency -2 -8 0 +10 -262144 -1 -1 7544 1; +#X obj 31 83 pack f 100; +#X obj 31 104 line~; +#X msg 18 493 version 0.2.0; +#X text 220 83 if the instance containing the tables is deleted \, +the other instances won't work anymore. reload the patch then.; +#X text 261 361 try different values for :; +#N canvas 573 67 190 308 compute_bandlimited_range 0; +#X msg 21 34 get_num_of_tables; +#X obj 21 97 route num_of_tables; +#X obj 21 12 loadbang; +#X obj 21 128 t b f; +#X obj 21 152 samplerate~; +#X obj 21 174 / 2; +#X obj 21 203 /; +#X obj 21 229 outlet; +#X obj 21 56 s BLSAW; +#X obj 21 76 r BLSAW; +#X obj 51 177 + 1; +#X connect 0 0 8 0; +#X connect 1 0 3 0; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 3 1 10 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 9 0 1 0; +#X connect 10 0 6 1; +#X restore 262 379 pd compute_bandlimited_range; +#X text 260 431 if frequency above border -> bandlimited saw; +#X text 260 447 if frequency below border -> raw saw; +#X text 290 250 [blsaw~ ]; +#X text 290 319 outlet: signal (bandlimited saw at given f); +#X text 219 28 if [blsaw~] is instantiated more than once \, only the +first instance creates the tables. if the argument value differs \, +the biggest is taken.; +#X text 221 129 the number of tables is at the same time the number +of harmonics of the table with the highest number of harmonics. this +value defines also the frequency \, below which [blsaw~] switches to +a raw saw.; +#X obj 32 151 blsaw~ 40; +#X connect 0 0 1 0; +#X connect 0 0 1 1; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 0 1; +#X connect 5 0 4 0; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 20 0 31 0; +#X connect 24 0 11 0; +#X connect 31 0 0 0; diff --git a/blosc/blsaw~.pd b/blosc/blsaw~.pd new file mode 100644 index 0000000..8969f73 --- /dev/null +++ b/blosc/blsaw~.pd @@ -0,0 +1,297 @@ +#N canvas 62 77 344 334 10; +#X text 120 257 copyright by Roman Haefeli; +#X text 36 284 Published under the GNU Public License; +#N canvas 0 0 646 649 oscillator~ 0; +#N canvas 314 100 498 265 number_of_harmonics_allowed 0; +#X obj 135 68 / 2; +#X obj 15 151 /; +#X obj 135 44 samplerate~; +#X obj 15 98 t b f; +#X text 241 49 sr / 2 = nyquist frequency; +#X obj 15 229 outlet; +#X obj 14 18 inlet~; +#X obj 15 121 f; +#X obj 135 21 loadbang; +#X text 104 209 harmonics never should exceed the nyquist frequency +; +#X obj 15 49 snapshot~; +#X obj 78 21 bang~; +#X obj 15 72 change; +#X obj 15 177 int; +#X obj 15 200 change; +#X connect 0 0 7 1; +#X connect 1 0 13 0; +#X connect 2 0 0 0; +#X connect 3 0 7 0; +#X connect 3 1 1 1; +#X connect 6 0 10 0; +#X connect 7 0 1 0; +#X connect 8 0 2 0; +#X connect 10 0 12 0; +#X connect 11 0 10 0; +#X connect 12 0 3 0; +#X connect 13 0 14 0; +#X connect 14 0 5 0; +#X restore 161 113 pd number_of_harmonics_allowed; +#X obj 40 33 inlet~; +#X obj 39 456 outlet~; +#X obj 287 374 snapshot~; +#X obj 206 273 == 0; +#X obj 206 377 f; +#X obj 206 356 sel 1; +#X obj 246 320 change; +#X obj 287 348 sel 1; +#X text 33 494 number of harmononics; +#X text 32 512 without exceeding nyquist; +#X text 31 531 at given frequeny:; +#X text 251 520 best method:; +#X obj 559 178 inlet; +#X text 565 150 phase; +#X text 340 346 sync phase \, when switching dsp on; +#X msg 408 69 get_num_of_tables; +#X obj 408 132 route num_of_tables; +#X obj 408 23 loadbang; +#X obj 40 272 phasor~; +#X text 196 81 get the number of tables ->; +#X text 227 496 |; +#X text 227 505 |; +#X text 227 514 |; +#X text 227 523 |; +#X text 227 533 |; +#X text 227 542 |; +#X text 227 551 |; +#X text 227 560 |; +#X text 227 567 |; +#X text 227 576 |; +#X text 227 585 |; +#X text 227 594 |; +#X text 227 604 |; +#X text 25 541 __________________________________________________; +#X text 25 575 __________________________________________________; +#X obj 161 223 >; +#X obj 408 91 s BLSAW; +#X obj 408 111 r BLSAW; +#X text 246 563 bandlimited saw; +#X text 245 595 raw saw; +#X obj 161 143 t f f; +#X text 199 221 switch to raw saw \, when number of allowed harmonics +exceeds num_of_tables; +#X text 32 565 0 < n <= num_of_tables; +#X text 40 596 n > num_of_tables; +#N canvas 0 0 448 226 bandlimited_saw 0; +#X obj 16 31 inlet~; +#X obj 71 33 inlet; +#X obj 261 34 inlet; +#X obj 17 192 outlet~; +#X msg 71 96 set \$1; +#X obj 261 124 switch~; +#X obj 347 36 inlet; +#X text 69 14 choose table; +#X text 346 17 set phase; +#X text 256 14 switch dsp; +#X obj 71 71 makefilename BLSAW%d; +#X obj 17 134 tabosc4~; +#X connect 0 0 11 0; +#X connect 1 0 10 0; +#X connect 2 0 5 0; +#X connect 4 0 11 0; +#X connect 6 0 11 1; +#X connect 10 0 4 0; +#X connect 11 0 3 0; +#X restore 166 405 pd bandlimited_saw; +#N canvas 438 301 207 227 raw_saw 0; +#X obj 6 16 inlet~; +#X obj 7 156 outlet~; +#X obj 118 21 inlet; +#X obj 118 46 switch~; +#X obj 7 66 *~ -2; +#X obj 7 92 +~ 1; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X restore 40 401 pd raw_saw; +#X obj 408 46 del 0; +#X connect 0 0 41 0; +#X connect 1 0 45 0; +#X connect 1 0 0 0; +#X connect 1 0 19 0; +#X connect 3 0 45 3; +#X connect 4 0 6 0; +#X connect 4 0 7 0; +#X connect 5 0 45 1; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 7 0 45 2; +#X connect 8 0 3 0; +#X connect 13 0 45 3; +#X connect 13 0 19 1; +#X connect 16 0 37 0; +#X connect 17 0 36 1; +#X connect 18 0 47 0; +#X connect 19 0 3 0; +#X connect 19 0 46 0; +#X connect 36 0 4 0; +#X connect 36 0 46 1; +#X connect 38 0 17 0; +#X connect 41 0 36 0; +#X connect 41 1 5 1; +#X connect 45 0 2 0; +#X connect 46 0 2 0; +#X connect 47 0 16 0; +#X restore 19 161 pd oscillator~; +#X obj 19 136 inlet~; +#X obj 112 137 inlet; +#X obj 19 185 outlet~; +#N canvas 555 327 605 504 lookup-table-creation 0; +#X obj 15 195 until; +#X obj 15 217 f; +#X obj 50 217 + 1; +#X obj 58 195 1; +#X obj 80 345 pack f s; +#X obj 15 125 t f b b; +#X msg 136 270 clear; +#X obj 15 248 t b f f; +#X obj 15 407 f; +#X obj 15 474 send; +#X msg 80 374 obj 10 \$1 table \$2 515; +#X text 282 374 create the necessary tables; +#X text 238 439 fill each table with the appropriate sinesum \,; +#X text 237 457 respectively the appropriate number of harmonics.; +#X obj 131 318 makefilename BLSAW%d; +#N canvas 535 94 218 342 bandlimited_saw_sinesum 0; +#X obj 43 67 until; +#X obj 21 38 t b f b; +#X obj 84 67 1; +#X obj 43 99 f 1; +#X obj 84 99 + 1; +#X obj 43 194 list prepend; +#X obj 154 195 list; +#X obj 21 233 list; +#X obj 135 129 b; +#X obj 21 278 list trim; +#X obj 21 16 inlet; +#X obj 21 300 outlet; +#X obj 21 256 list prepend sinesum 512; +#X obj 43 143 pow -1; +#X obj 43 167 * 0.63662; +#X text 120 167 = 2 / pi; +#X connect 0 0 3 0; +#X connect 1 0 7 0; +#X connect 1 1 0 0; +#X connect 1 2 2 0; +#X connect 1 2 8 0; +#X connect 2 0 3 1; +#X connect 3 0 4 0; +#X connect 3 0 13 0; +#X connect 4 0 3 1; +#X connect 5 0 6 0; +#X connect 5 0 7 1; +#X connect 6 0 5 1; +#X connect 7 0 12 0; +#X connect 8 0 7 1; +#X connect 8 0 5 1; +#X connect 9 0 11 0; +#X connect 10 0 1 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 14 0 5 0; +#X restore 15 442 pd bandlimited_saw_sinesum; +#X obj 80 317 * 20; +#X obj 80 396 s pd-\$0-lookup-tables-saw; +#X obj 138 123 r \$0-create_additional_tables; +#X obj 15 28 r \$0-create_tables; +#X obj 15 66 \$1; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 7 0; +#X connect 2 0 1 1; +#X connect 3 0 1 1; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 5 1 3 0; +#X connect 5 2 6 0; +#X connect 6 0 17 0; +#X connect 7 0 8 0; +#X connect 7 1 16 0; +#X connect 7 2 8 1; +#X connect 7 2 14 0; +#X connect 8 0 15 0; +#X connect 10 0 17 0; +#X connect 14 0 4 1; +#X connect 14 0 9 1; +#X connect 15 0 9 0; +#X connect 16 0 4 0; +#X connect 18 0 0 0; +#X connect 19 0 20 0; +#X connect 20 0 5 0; +#X restore 22 66 pd lookup-table-creation; +#N canvas 647 5 291 900 \$0-lookup-tables-saw 0; +#X restore 22 94 pd \$0-lookup-tables-saw; +#X msg 204 226 version 0.2.0; +#N canvas 169 33 537 620 singleton-communication 0; +#X obj 127 22 loadbang; +#X obj 171 100 + 1; +#X obj 16 96 spigot; +#X obj 149 153 == 1; +#X obj 127 47 t b b b; +#X obj 270 225 \$1; +#X obj 127 184 t b b; +#X msg 270 246 newdollar1 \$1; +#X obj 125 396 > \$1; +#X obj 134 419 sel 1; +#X obj 134 441 f; +#X text 189 397 if new is bigger \, use new number_of_tables; +#X obj 134 373 t f f f; +#X obj 178 502 - \$1; +#X obj 178 526 moses 1; +#X obj 222 549 s \$0-create_additional_tables; +#X obj 127 214 f; +#X obj 127 240 sel 1; +#X obj 127 264 s \$0-create_tables; +#X obj 18 348 route get_num_of_tables newdollar1; +#X obj 18 423 \$1; +#X msg 18 461 num_of_tables \$1; +#X obj 171 77 value BLSAW.instance; +#X obj 149 131 value BLSAW.instance; +#X obj 270 267 s BLSAW; +#X obj 16 69 r BLSAW; +#X obj 16 120 s \$0-BLSAW; +#X obj 18 319 r \$0-BLSAW; +#X obj 18 488 s BLSAW; +#X connect 0 0 4 0; +#X connect 1 0 23 0; +#X connect 2 0 26 0; +#X connect 3 0 2 1; +#X connect 3 0 16 1; +#X connect 4 0 6 0; +#X connect 4 1 23 0; +#X connect 4 2 22 0; +#X connect 5 0 7 0; +#X connect 6 0 16 0; +#X connect 6 1 5 0; +#X connect 7 0 24 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 10 0 13 1; +#X connect 10 0 20 1; +#X connect 12 0 8 0; +#X connect 12 1 10 1; +#X connect 12 2 13 0; +#X connect 13 0 14 0; +#X connect 14 1 15 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 19 0 20 0; +#X connect 19 1 12 0; +#X connect 20 0 21 0; +#X connect 21 0 28 0; +#X connect 22 0 1 0; +#X connect 23 0 3 0; +#X connect 25 0 2 0; +#X connect 27 0 19 0; +#X restore 21 36 pd singleton-communication; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; diff --git a/blosc/blsquare~-help.pd b/blosc/blsquare~-help.pd new file mode 100644 index 0000000..2f0ef28 --- /dev/null +++ b/blosc/blsquare~-help.pd @@ -0,0 +1,80 @@ +#N canvas 257 21 661 564 10; +#X obj 31 224 *~; +#X obj 32 253 dac~; +#X obj 111 243 pow 2; +#X obj 114 218 hsl 128 15 0 1 0 0 empty empty volume -2 -8 0 10 -262144 +-1 -1 200 1; +#X obj 111 284 line~; +#X obj 111 263 pack f 20; +#X obj 283 212 cnv 15 350 130 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X text 290 223 synopsis:; +#X text 289 278 inlet1: signal (frequency); +#X text 289 298 inlet2: float (set phase); +#X text 290 319 outlet: signal (bandlimited square at given f); +#X obj 184 354 cnv 15 450 120 empty empty empty 20 12 0 14 -241291 +-66577 0; +#N canvas 573 67 190 308 compute_bandlimited_range 0; +#X msg 21 34 get_num_of_tables; +#X obj 21 56 s BLSQUARE; +#X obj 21 76 r BLSQUARE; +#X obj 21 97 route num_of_tables; +#X obj 21 12 loadbang; +#X obj 21 128 t b f; +#X obj 21 152 samplerate~; +#X obj 21 174 / 2; +#X obj 51 194 * 2; +#X obj 51 217 + 1; +#X obj 21 238 /; +#X obj 21 264 outlet; +#X connect 0 0 1 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 5 1 8 0; +#X connect 6 0 7 0; +#X connect 7 0 10 0; +#X connect 8 0 9 0; +#X connect 9 0 10 1; +#X connect 10 0 11 0; +#X restore 262 383 pd compute_bandlimited_range; +#X floatatom 262 408 7 0 0 0 - - -; +#X text 315 410 Hz; +#X text 260 431 if frequency above border -> bandlimited square; +#X text 260 447 if frequency below border -> raw square; +#X text 194 408 border @; +#X text 14 519 copyright by Roman Haefeli; +#X text 14 540 published under the GNU Public License; +#X obj 244 484 cnv 15 390 25 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X text 252 490 due to bandlimitation peaks above/below +/-1 may occur +; +#X obj 34 61 hsl 128 15 20 17000 1 0 empty empty frequency -2 -8 0 +10 -262144 -1 -1 5613 1; +#X obj 31 83 pack f 100; +#X obj 31 104 line~; +#X obj 32 151 blsquare~ 30; +#X msg 18 493 version 0.2.0; +#X text 290 250 [blsquare~ ]; +#X text 219 28 if [blsquare~] is instantiated more than once \, only +the first instance creates the tables. if the argument value differs +\, the biggest is taken.; +#X text 220 83 if the instance containing the tables is deleted \, +the other instances won't work anymore. reload the patch then.; +#X text 261 361 try different values for :; +#X text 221 129 the number of tables is at the same time the number +of harmonics of the table with the highest number of harmonics. this +value defines also the frequency \, below which [blsquare~] switches +to a raw square.; +#X connect 0 0 1 0; +#X connect 0 0 1 1; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 0 1; +#X connect 5 0 4 0; +#X connect 12 0 13 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 25 0 0 0; diff --git a/blosc/blsquare~.pd b/blosc/blsquare~.pd new file mode 100644 index 0000000..bb9c0d8 --- /dev/null +++ b/blosc/blsquare~.pd @@ -0,0 +1,342 @@ +#N canvas 257 128 333 328 10; +#X text 137 277 copyright by Roman Haefeli; +#X text 53 304 Published under the GNU Public License; +#N canvas 0 0 655 649 oscillator 0; +#N canvas 314 100 514 407 number_of_harmonics_allowed 0; +#X obj 135 68 / 2; +#X obj 15 151 /; +#X obj 15 174 int; +#X obj 135 44 samplerate~; +#X obj 15 241 * 0.5; +#X obj 15 261 int; +#X obj 15 282 * 2; +#X obj 15 221 - 1; +#X obj 15 305 + 1; +#X obj 15 328 change; +#X obj 15 199 change; +#X obj 15 98 t b f; +#X text 241 49 sr / 2 = nyquist frequency; +#X obj 15 353 outlet; +#X obj 14 18 inlet~; +#X obj 15 121 f; +#X obj 135 21 loadbang; +#X text 119 216 harmonics never should exceed the nyquist frequency +; +#X obj 15 49 snapshot~; +#X obj 78 21 bang~; +#X obj 15 72 change; +#X connect 0 0 15 1; +#X connect 1 0 2 0; +#X connect 2 0 10 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 9 0; +#X connect 9 0 13 0; +#X connect 10 0 7 0; +#X connect 11 0 15 0; +#X connect 11 1 1 1; +#X connect 14 0 18 0; +#X connect 15 0 1 0; +#X connect 16 0 3 0; +#X connect 18 0 20 0; +#X connect 19 0 18 0; +#X connect 20 0 11 0; +#X restore 150 113 pd number_of_harmonics_allowed; +#N canvas 499 174 190 222 raw_square 0; +#X obj 19 13 inlet~; +#X obj 19 180 outlet~; +#X obj 102 18 inlet; +#X obj 102 43 switch~; +#X obj 19 122 -~; +#X obj 19 48 -~ 0.5; +#X obj 18 76 wrap~; +#X obj 18 99 -~ 0.5; +#X obj 19 148 *~ 2; +#X connect 0 0 5 0; +#X connect 2 0 3 0; +#X connect 4 0 8 0; +#X connect 5 0 6 0; +#X connect 5 0 4 1; +#X connect 6 0 7 0; +#X connect 7 0 4 0; +#X connect 8 0 1 0; +#X restore 29 404 pd raw_square; +#N canvas 0 0 448 226 bandlimited_square 0; +#X obj 16 31 inlet~; +#X obj 71 33 inlet; +#X obj 261 34 inlet; +#X obj 17 192 outlet~; +#X msg 71 96 set \$1; +#X obj 261 124 switch~; +#X obj 347 36 inlet; +#X text 69 14 choose table; +#X text 346 17 set phase; +#X text 256 14 switch dsp; +#X obj 71 71 makefilename BLSQUARE%d; +#X obj 17 134 tabosc4~; +#X connect 0 0 11 0; +#X connect 1 0 10 0; +#X connect 2 0 5 0; +#X connect 4 0 11 0; +#X connect 6 0 11 1; +#X connect 10 0 4 0; +#X connect 11 0 3 0; +#X restore 155 405 pd bandlimited_square; +#X obj 166 192 * 2; +#X obj 297 374 snapshot~; +#X obj 150 143 t f f f; +#X obj 202 273 == 0; +#X obj 202 377 f; +#X obj 202 356 sel 1; +#X obj 249 319 change; +#X obj 297 348 sel 1; +#X obj 548 178 inlet; +#X text 550 151 phase; +#X text 350 346 sync phase \, when switching dsp on; +#X text 188 221 switch to raw square \, when number of allowed harmonics +exceeds num_of_tables*2; +#X msg 397 69 get_num_of_tables; +#X obj 397 91 s BLSQUARE; +#X obj 397 111 r BLSQUARE; +#X obj 397 132 route num_of_tables; +#X obj 397 11 loadbang; +#X obj 29 272 phasor~; +#X text 185 81 get the number of tables ->; +#X obj 150 223 >; +#X obj 30 7 inlet~; +#X obj 28 456 outlet~; +#X text 33 494 number of harmononics; +#X text 32 512 without exceeding nyquist; +#X text 31 531 at given frequeny:; +#X text 251 520 best method:; +#X text 245 595 raw square; +#X text 246 563 bandlimited square; +#X text 227 496 |; +#X text 227 505 |; +#X text 227 514 |; +#X text 227 523 |; +#X text 227 533 |; +#X text 227 542 |; +#X text 227 551 |; +#X text 227 560 |; +#X text 227 567 |; +#X text 227 576 |; +#X text 227 585 |; +#X text 227 594 |; +#X text 227 604 |; +#X text 25 541 __________________________________________________; +#X text 25 575 __________________________________________________; +#X text 40 596 n > num_of_tables*2; +#X text 32 565 0 < n < num_of_tables*2; +#X obj 397 42 del 0; +#X connect 0 0 5 0; +#X connect 1 0 24 0; +#X connect 2 0 24 0; +#X connect 3 0 22 1; +#X connect 4 0 2 3; +#X connect 5 0 22 0; +#X connect 5 1 7 1; +#X connect 6 0 8 0; +#X connect 6 0 9 0; +#X connect 7 0 2 1; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 9 0 2 2; +#X connect 10 0 4 0; +#X connect 11 0 2 3; +#X connect 11 0 20 1; +#X connect 15 0 16 0; +#X connect 17 0 18 0; +#X connect 18 0 3 0; +#X connect 19 0 48 0; +#X connect 20 0 1 0; +#X connect 20 0 4 0; +#X connect 22 0 1 1; +#X connect 22 0 6 0; +#X connect 23 0 20 0; +#X connect 23 0 0 0; +#X connect 23 0 2 0; +#X connect 48 0 15 0; +#X restore 20 188 pd oscillator; +#X obj 19 161 inlet~; +#X obj 106 161 inlet; +#X obj 20 214 outlet~; +#X msg 221 246 version 0.2.0; +#N canvas 555 327 605 504 lookup-table-creation 0; +#N canvas 535 94 265 461 bandlimited_square_sinesum 0; +#X obj 43 67 until; +#X obj 21 38 t b f b; +#X obj 84 67 1; +#X obj 43 99 f 1; +#X obj 84 99 + 1; +#X obj 43 125 t f f; +#X obj 43 153 % 2; +#X obj 43 176 sel 0 1; +#X obj 43 203 0; +#X obj 69 203 f; +#X obj 69 227 t b f; +#X obj 69 249 pack 1 f; +#X obj 69 274 /; +#X obj 43 334 list prepend; +#X obj 142 335 list; +#X obj 21 363 list; +#X obj 154 252 b; +#X obj 21 408 list trim; +#X obj 21 16 inlet; +#X obj 21 430 outlet; +#X obj 21 386 list prepend sinesum 512; +#X obj 69 299 * 1.27324; +#X text 145 298 = 4 / pi; +#X connect 0 0 3 0; +#X connect 1 0 15 0; +#X connect 1 1 0 0; +#X connect 1 2 2 0; +#X connect 1 2 16 0; +#X connect 2 0 3 1; +#X connect 3 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 3 1; +#X connect 5 0 6 0; +#X connect 5 1 9 1; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 13 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 10 1 11 1; +#X connect 11 0 12 0; +#X connect 12 0 21 0; +#X connect 13 0 14 0; +#X connect 13 0 15 1; +#X connect 14 0 13 1; +#X connect 15 0 20 0; +#X connect 16 0 15 1; +#X connect 16 0 13 1; +#X connect 17 0 19 0; +#X connect 18 0 1 0; +#X connect 20 0 17 0; +#X connect 21 0 13 0; +#X restore 15 442 pd bandlimited_square_sinesum; +#X obj 15 195 until; +#X obj 15 217 f; +#X obj 50 217 + 1; +#X obj 58 195 1; +#X obj 15 238 * 2; +#X obj 15 260 - 1; +#X obj 80 345 pack f s; +#X obj 15 100 t f b b; +#X msg 136 270 clear; +#X obj 80 317 * 10; +#X obj 15 282 t b f f; +#X obj 15 407 f; +#X obj 15 474 send; +#X msg 80 374 obj 10 \$1 table \$2 515; +#X obj 131 318 makefilename BLSQUARE%d; +#X text 131 214 for synthesizing a square only odd numbers of harmonics +; +#X text 131 231 occur. ( 1 \, 3 \, 5 \, 7 \, etc.); +#X text 282 374 create the necessary tables; +#X text 238 439 fill each table with the appropriate sinesum \,; +#X text 237 457 respectively the appropriate number of harmonics.; +#X obj 138 123 r \$0-create_additional_tables; +#X obj 15 33 r \$0-create_tables; +#X obj 15 66 \$1; +#X obj 80 396 s pd-\$0-lookup-tables-square; +#X connect 0 0 13 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 0 5 0; +#X connect 3 0 2 1; +#X connect 4 0 2 1; +#X connect 5 0 6 0; +#X connect 6 0 11 0; +#X connect 7 0 14 0; +#X connect 8 0 1 0; +#X connect 8 1 4 0; +#X connect 8 2 9 0; +#X connect 9 0 24 0; +#X connect 10 0 7 0; +#X connect 11 0 12 0; +#X connect 11 1 10 0; +#X connect 11 2 12 1; +#X connect 11 2 15 0; +#X connect 12 0 0 0; +#X connect 14 0 24 0; +#X connect 15 0 7 1; +#X connect 15 0 13 1; +#X connect 21 0 1 0; +#X connect 22 0 23 0; +#X connect 23 0 8 0; +#X restore 21 70 pd lookup-table-creation; +#N canvas 647 5 291 900 \$0-lookup-tables-square 0; +#X restore 21 105 pd \$0-lookup-tables-square; +#N canvas 169 33 537 620 singleton-communication 0; +#X obj 16 69 r BLSQUARE; +#X obj 127 22 loadbang; +#X obj 171 77 value BLSQUARE.instance; +#X obj 171 100 + 1; +#X obj 149 131 value BLSQUARE.instance; +#X obj 16 96 spigot; +#X obj 149 153 == 1; +#X obj 16 120 s \$0-BLSQUARE; +#X obj 18 319 r \$0-BLSQUARE; +#X obj 127 47 t b b b; +#X obj 270 225 \$1; +#X obj 127 184 t b b; +#X msg 270 246 newdollar1 \$1; +#X obj 270 267 s BLSQUARE; +#X obj 125 396 > \$1; +#X obj 134 419 sel 1; +#X obj 134 441 f; +#X text 189 397 if new is bigger \, use new number_of_tables; +#X obj 134 373 t f f f; +#X obj 178 502 - \$1; +#X obj 178 526 moses 1; +#X obj 222 549 s \$0-create_additional_tables; +#X obj 127 214 f; +#X obj 127 240 sel 1; +#X obj 127 264 s \$0-create_tables; +#X obj 18 348 route get_num_of_tables newdollar1; +#X obj 18 423 \$1; +#X msg 18 461 num_of_tables \$1; +#X obj 18 488 s BLSQUARE; +#X connect 0 0 5 0; +#X connect 1 0 9 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 7 0; +#X connect 6 0 5 1; +#X connect 6 0 22 1; +#X connect 8 0 25 0; +#X connect 9 0 11 0; +#X connect 9 1 4 0; +#X connect 9 2 2 0; +#X connect 10 0 12 0; +#X connect 11 0 22 0; +#X connect 11 1 10 0; +#X connect 12 0 13 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 14 1; +#X connect 16 0 19 1; +#X connect 16 0 26 1; +#X connect 18 0 14 0; +#X connect 18 1 16 1; +#X connect 18 2 19 0; +#X connect 19 0 20 0; +#X connect 20 1 21 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 25 0 26 0; +#X connect 25 1 18 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X restore 21 36 pd singleton-communication; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; diff --git a/blosc/bltriangle~-help.pd b/blosc/bltriangle~-help.pd new file mode 100644 index 0000000..1b03069 --- /dev/null +++ b/blosc/bltriangle~-help.pd @@ -0,0 +1,80 @@ +#N canvas 351 47 650 572 10; +#X obj 31 224 *~; +#X obj 32 253 dac~; +#X obj 111 243 pow 2; +#X obj 114 218 hsl 128 15 0 1 0 0 empty empty volume -2 -8 0 10 -262144 +-1 -1 0 1; +#X obj 111 284 line~; +#X obj 111 263 pack f 20; +#X obj 283 212 cnv 15 350 130 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X text 290 223 synopsis:; +#X text 289 278 inlet1: signal (frequency); +#X text 289 298 inlet2: float (set phase); +#X text 290 319 outlet: signal (bandlimited square at given f); +#X obj 183 354 cnv 15 450 120 empty empty empty 20 12 0 14 -241291 +-66577 0; +#X floatatom 262 408 7 0 0 0 - - -; +#X text 315 410 Hz; +#X text 194 408 border @; +#X text 14 519 copyright by Roman Haefeli; +#X text 14 540 published under the GNU Public License; +#X obj 244 484 cnv 15 390 25 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X text 252 490 due to bandlimitation peaks above/below +/-1 may occur +; +#X obj 34 61 hsl 128 15 20 17000 1 0 empty empty frequency -2 -8 0 +10 -262144 -1 -1 3000 1; +#X obj 31 83 pack f 100; +#X obj 31 104 line~; +#X msg 18 493 version 0.2.0; +#X text 220 83 if the instance containing the tables is deleted \, +the other instances won't work anymore. reload the patch then.; +#X text 261 361 try different values for :; +#N canvas 573 67 190 308 compute_bandlimited_range 0; +#X msg 21 34 get_num_of_tables; +#X obj 21 97 route num_of_tables; +#X obj 21 12 loadbang; +#X obj 21 128 t b f; +#X obj 21 152 samplerate~; +#X obj 21 174 / 2; +#X obj 51 194 * 2; +#X obj 51 217 + 1; +#X obj 21 238 /; +#X obj 21 264 outlet; +#X obj 21 56 s BLTRIANGLE; +#X obj 21 76 r BLTRIANGLE; +#X connect 0 0 10 0; +#X connect 1 0 3 0; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 3 1 6 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 8 1; +#X connect 8 0 9 0; +#X connect 11 0 1 0; +#X restore 262 383 pd compute_bandlimited_range; +#X text 219 28 if [bltriangle~] is instantiated more than once \, only +the first instance creates the tables. if the argument value differs +\, the biggest is taken.; +#X text 221 129 the number of tables is at the same time the number +of harmonics of the table with the highest number of harmonics. this +value defines also the frequency \, below which [bltriangle~] switches +to a raw triangle.; +#X text 290 250 [bltriangle~ ]; +#X text 260 431 if frequency above border -> bandlimited triangle; +#X text 260 447 if frequency below border -> raw triangle; +#X obj 32 151 bltriangle~ 20; +#X connect 0 0 1 0; +#X connect 0 0 1 1; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 0 1; +#X connect 5 0 4 0; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 21 0 31 0; +#X connect 25 0 12 0; +#X connect 31 0 0 0; diff --git a/blosc/bltriangle~.pd b/blosc/bltriangle~.pd new file mode 100644 index 0000000..3d63937 --- /dev/null +++ b/blosc/bltriangle~.pd @@ -0,0 +1,357 @@ +#N canvas 203 22 341 345 10; +#X text 130 266 copyright by Roman Haefeli; +#X text 46 293 Published under the GNU Public License; +#N canvas 0 0 626 647 oscilllator~ 0; +#N canvas 314 100 514 407 number_of_harmonics_allowed 0; +#X obj 135 68 / 2; +#X obj 15 151 /; +#X obj 15 174 int; +#X obj 135 44 samplerate~; +#X obj 15 241 * 0.5; +#X obj 15 261 int; +#X obj 15 282 * 2; +#X obj 15 221 - 1; +#X obj 15 305 + 1; +#X obj 15 328 change; +#X obj 15 199 change; +#X obj 15 98 t b f; +#X text 241 49 sr / 2 = nyquist frequency; +#X obj 15 353 outlet; +#X obj 14 18 inlet~; +#X obj 15 121 f; +#X obj 135 21 loadbang; +#X text 119 216 harmonics never should exceed the nyquist frequency +; +#X obj 15 49 snapshot~; +#X obj 78 21 bang~; +#X obj 15 72 change; +#X connect 0 0 15 1; +#X connect 1 0 2 0; +#X connect 2 0 10 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 9 0; +#X connect 9 0 13 0; +#X connect 10 0 7 0; +#X connect 11 0 15 0; +#X connect 11 1 1 1; +#X connect 14 0 18 0; +#X connect 15 0 1 0; +#X connect 16 0 3 0; +#X connect 18 0 20 0; +#X connect 19 0 18 0; +#X connect 20 0 11 0; +#X restore 161 113 pd number_of_harmonics_allowed; +#X obj 40 33 inlet~; +#X obj 39 463 outlet~; +#X obj 177 192 * 2; +#X obj 322 360 snapshot~; +#X obj 161 143 t f f f; +#X obj 218 273 == 0; +#X obj 218 377 f; +#X obj 218 356 sel 1; +#X obj 270 302 change; +#X obj 322 334 sel 1; +#X text 33 494 number of harmononics; +#X text 32 512 without exceeding nyquist; +#X text 31 531 at given frequeny:; +#X text 251 520 best method:; +#X obj 559 178 inlet; +#X text 565 150 phase; +#X text 375 332 sync phase \, when switching dsp on; +#X text 199 221 switch to raw square \, when number of allowed harmonics +exceeds num_of_tables*2; +#X msg 408 69 get_num_of_tables; +#X obj 408 132 route num_of_tables; +#X obj 408 20 loadbang; +#X obj 40 272 phasor~; +#X text 196 81 get the number of tables ->; +#X text 227 496 |; +#X text 227 505 |; +#X text 227 514 |; +#X text 227 523 |; +#X text 227 533 |; +#X text 227 542 |; +#X text 227 551 |; +#X text 227 560 |; +#X text 227 567 |; +#X text 227 576 |; +#X text 227 585 |; +#X text 227 594 |; +#X text 227 604 |; +#X text 25 541 __________________________________________________; +#X text 25 575 __________________________________________________; +#X obj 161 223 >; +#X text 40 596 n > num_of_tables*2; +#X text 32 565 0 < n < num_of_tables*2; +#X obj 408 91 s BLTRIANGLE; +#X obj 408 111 r BLTRIANGLE; +#N canvas 499 174 200 210 raw_triangle 0; +#X obj 19 13 inlet~; +#X obj 18 159 outlet~; +#X obj 102 18 inlet; +#X obj 102 43 switch~; +#X obj 43 41 *~ -1; +#X obj 43 63 +~ 1; +#X obj 19 86 min~; +#X obj 18 110 *~ 4; +#X obj 18 136 -~ 1; +#X connect 0 0 6 0; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 4 0 5 0; +#X connect 5 0 6 1; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 1 0; +#X restore 40 411 pd raw_triangle; +#N canvas 0 0 448 226 bandlimited_triangle 0; +#X obj 16 31 inlet~; +#X obj 71 33 inlet; +#X obj 261 34 inlet; +#X obj 17 192 outlet~; +#X msg 71 96 set \$1; +#X obj 261 124 switch~; +#X obj 347 36 inlet; +#X text 69 14 choose table; +#X text 346 17 set phase; +#X text 256 14 switch dsp; +#X obj 71 71 makefilename BLTRIANGLE%d; +#X obj 17 134 tabosc4~; +#X connect 0 0 11 0; +#X connect 1 0 10 0; +#X connect 2 0 5 0; +#X connect 4 0 11 0; +#X connect 6 0 11 1; +#X connect 10 0 4 0; +#X connect 11 0 3 0; +#X restore 166 412 pd bandlimited_triangle; +#X text 246 563 bandlimited triangle; +#X text 245 595 raw triangle; +#X obj 84 247 + 0.25; +#X obj 322 385 + 0.75; +#X obj 408 45 del 0; +#X connect 0 0 5 0; +#X connect 1 0 45 0; +#X connect 1 0 0 0; +#X connect 1 0 22 0; +#X connect 3 0 39 1; +#X connect 4 0 49 0; +#X connect 5 0 39 0; +#X connect 5 1 7 1; +#X connect 6 0 8 0; +#X connect 6 0 9 0; +#X connect 7 0 45 1; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 9 0 45 2; +#X connect 10 0 4 0; +#X connect 15 0 45 3; +#X connect 15 0 48 0; +#X connect 19 0 42 0; +#X connect 20 0 3 0; +#X connect 21 0 50 0; +#X connect 22 0 44 0; +#X connect 22 0 4 0; +#X connect 39 0 44 1; +#X connect 39 0 6 0; +#X connect 43 0 20 0; +#X connect 44 0 2 0; +#X connect 45 0 2 0; +#X connect 48 0 22 1; +#X connect 49 0 45 3; +#X connect 50 0 19 0; +#X restore 22 168 pd oscilllator~; +#X obj 21 137 inlet~; +#X obj 122 137 inlet; +#X obj 21 196 outlet~; +#N canvas 555 327 605 504 lookup-table-creation 0; +#X obj 15 195 until; +#X obj 15 217 f; +#X obj 50 217 + 1; +#X obj 58 195 1; +#X obj 15 238 * 2; +#X obj 15 260 - 1; +#X obj 80 345 pack f s; +#X obj 15 105 t f b b; +#X msg 136 270 clear; +#X obj 80 317 * 10; +#X obj 15 282 t b f f; +#X obj 15 407 f; +#X obj 15 474 send; +#X msg 80 374 obj 10 \$1 table \$2 515; +#X text 131 231 occur. ( 1 \, 3 \, 5 \, 7 \, etc.); +#X text 282 374 create the necessary tables; +#X text 238 439 fill each table with the appropriate sinesum \,; +#X text 237 457 respectively the appropriate number of harmonics.; +#X obj 131 318 makefilename BLTRIANGLE%d; +#N canvas 535 94 364 553 bandlimited_triangle_sinesum 0; +#X obj 43 67 until; +#X obj 21 38 t b f b; +#X obj 84 67 1; +#X obj 43 99 f 1; +#X obj 43 415 list prepend; +#X obj 142 416 list; +#X obj 21 444 list; +#X obj 21 489 list trim; +#X obj 21 16 inlet; +#X obj 21 511 outlet; +#X obj 21 467 list prepend sinesum 512; +#X obj 191 274 b; +#X obj 83 99 + 1; +#X obj 43 175 sel 0 1; +#X obj 43 200 0; +#X obj 70 201 f; +#X obj 43 125 t f f; +#X obj 43 151 mod 2; +#X obj 100 245 mod 4; +#X obj 70 222 t f f; +#X obj 100 267 sel 3; +#X obj 136 290 b; +#X obj 100 290 -1; +#X obj 136 312 1; +#X obj 70 323 pow -2; +#X obj 70 349 *; +#X obj 70 376 * 0.810571; +#X text 163 375 = 8 / (pi^2); +#X connect 0 0 3 0; +#X connect 1 0 6 0; +#X connect 1 1 0 0; +#X connect 1 2 2 0; +#X connect 1 2 11 0; +#X connect 2 0 3 1; +#X connect 3 0 12 0; +#X connect 3 0 16 0; +#X connect 4 0 5 0; +#X connect 4 0 6 1; +#X connect 5 0 4 1; +#X connect 6 0 10 0; +#X connect 7 0 9 0; +#X connect 8 0 1 0; +#X connect 10 0 7 0; +#X connect 11 0 6 1; +#X connect 11 0 4 1; +#X connect 12 0 3 1; +#X connect 13 0 14 0; +#X connect 13 1 15 0; +#X connect 14 0 4 0; +#X connect 15 0 19 0; +#X connect 16 0 17 0; +#X connect 16 1 15 1; +#X connect 17 0 13 0; +#X connect 18 0 20 0; +#X connect 19 0 24 0; +#X connect 19 1 18 0; +#X connect 20 0 22 0; +#X connect 20 1 21 0; +#X connect 21 0 23 0; +#X connect 22 0 25 1; +#X connect 23 0 25 1; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 26 0 4 0; +#X restore 15 442 pd bandlimited_triangle_sinesum; +#X text 131 214 for synthesizing a triangle only odd numbered of harmonics +; +#X obj 15 16 r \$0-create_tables; +#X obj 15 59 \$1; +#X obj 122 142 r \$0-create_additional_tables; +#X obj 80 410 s pd-\$0-lookup-tables-triangle; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 4 0; +#X connect 2 0 1 1; +#X connect 3 0 1 1; +#X connect 4 0 5 0; +#X connect 5 0 10 0; +#X connect 6 0 13 0; +#X connect 7 0 0 0; +#X connect 7 1 3 0; +#X connect 7 2 8 0; +#X connect 8 0 24 0; +#X connect 9 0 6 0; +#X connect 10 0 11 0; +#X connect 10 1 9 0; +#X connect 10 2 11 1; +#X connect 10 2 18 0; +#X connect 11 0 19 0; +#X connect 13 0 24 0; +#X connect 18 0 6 1; +#X connect 18 0 12 1; +#X connect 19 0 12 0; +#X connect 21 0 22 0; +#X connect 22 0 7 0; +#X connect 23 0 0 0; +#X restore 21 63 pd lookup-table-creation; +#N canvas 169 33 537 620 singleton-communication 0; +#X obj 127 22 loadbang; +#X obj 171 100 + 1; +#X obj 16 96 spigot; +#X obj 149 153 == 1; +#X obj 127 47 t b b b; +#X obj 270 225 \$1; +#X obj 127 184 t b b; +#X msg 270 246 newdollar1 \$1; +#X obj 125 396 > \$1; +#X obj 134 419 sel 1; +#X obj 134 441 f; +#X text 189 397 if new is bigger \, use new number_of_tables; +#X obj 134 373 t f f f; +#X obj 178 502 - \$1; +#X obj 178 526 moses 1; +#X obj 222 549 s \$0-create_additional_tables; +#X obj 127 214 f; +#X obj 127 240 sel 1; +#X obj 127 264 s \$0-create_tables; +#X obj 18 348 route get_num_of_tables newdollar1; +#X obj 18 423 \$1; +#X msg 18 461 num_of_tables \$1; +#X obj 171 77 value BLTRIANGLE.instance; +#X obj 149 131 value BLTRIANGLE.instance; +#X obj 270 267 s BLTRIANGLE; +#X obj 16 69 r BLTRIANGLE; +#X obj 16 120 s \$0-BLTRIANGLE; +#X obj 18 319 r \$0-BLTRIANGLE; +#X obj 18 488 s BLTRIANGLE; +#X connect 0 0 4 0; +#X connect 1 0 23 0; +#X connect 2 0 26 0; +#X connect 3 0 2 1; +#X connect 3 0 16 1; +#X connect 4 0 6 0; +#X connect 4 1 23 0; +#X connect 4 2 22 0; +#X connect 5 0 7 0; +#X connect 6 0 16 0; +#X connect 6 1 5 0; +#X connect 7 0 24 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 10 0 13 1; +#X connect 10 0 20 1; +#X connect 12 0 8 0; +#X connect 12 1 10 1; +#X connect 12 2 13 0; +#X connect 13 0 14 0; +#X connect 14 1 15 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 19 0 20 0; +#X connect 19 1 12 0; +#X connect 20 0 21 0; +#X connect 21 0 28 0; +#X connect 22 0 1 0; +#X connect 23 0 3 0; +#X connect 25 0 2 0; +#X connect 27 0 19 0; +#X restore 21 36 pd singleton-communication; +#X msg 214 235 version 0.2.0; +#N canvas 647 5 291 900 \$0-lookup-tables-triangle 0; +#X restore 21 91 pd \$0-lookup-tables-triangle; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; diff --git a/cell-receive.pd b/cell-receive.pd new file mode 100644 index 0000000..8b4aa31 --- /dev/null +++ b/cell-receive.pd @@ -0,0 +1,11 @@ +#N canvas 402 283 553 376 10; +#X obj 4 5 r \$1; +#X text 142 5 Adds this cell's value to it's neighbour's accumulation +buffer; +#X obj 97 70 \$2; +#X obj 4 43 t f b; +#X obj 4 91 tabwrite \$3cur; +#X connect 0 0 3 0; +#X connect 2 0 4 1; +#X connect 3 0 4 0; +#X connect 3 1 2 0; diff --git a/examples/controlsurface-example.pd b/examples/controlsurface-example.pd new file mode 100644 index 0000000..9942ce2 --- /dev/null +++ b/examples/controlsurface-example.pd @@ -0,0 +1,8 @@ +#N canvas 271 151 450 300 10; +#X obj 107 24 s-controlsurface; +#X floatatom 107 5 5 0 0 0 - - -; +#X floatatom 107 260 5 0 0 0 - - -; +#X floatatom 316 260 5 0 0 0 - - -; +#X connect 0 0 2 0; +#X connect 0 1 3 0; +#X connect 1 0 0 0; diff --git a/examples/s-varenv-example.pd b/examples/s-varenv-example.pd new file mode 100644 index 0000000..65df735 --- /dev/null +++ b/examples/s-varenv-example.pd @@ -0,0 +1,531 @@ +#N struct 1078template float x float y array 1078arrayvals 1078arraytemplate +; +#N struct 1078arraytemplate float x float y; +#N canvas 351 280 523 187 10; +#X obj 11 158 tabwrite~ view; +#N canvas 0 0 450 300 graph3 0; +#X array view 4410 float 3; +#A 0 1 0.99972 0.999441 0.999161 0.998882 0.998602 0.998322 0.998043 +0.997763 0.997484 0.997204 0.996924 0.996645 0.996365 0.996086 0.995806 +0.995526 0.995247 0.994967 0.994687 0.994408 0.994128 0.993849 0.993569 +0.993289 0.99301 0.99273 0.992451 0.992171 0.991891 0.991612 0.991332 +0.991053 0.990773 0.990493 0.990214 0.989934 0.989655 0.989375 0.989095 +0.988816 0.988536 0.988257 0.987977 0.987697 0.987418 0.987138 0.986859 +0.986579 0.986299 0.98602 0.98574 0.985461 0.985181 0.984901 0.984622 +0.984342 0.984062 0.983783 0.983503 0.983224 0.982944 0.982664 0.982385 +0.982105 0.981826 0.981546 0.981266 0.980987 0.980707 0.980428 0.980148 +0.979868 0.979589 0.979309 0.97903 0.97875 0.97847 0.978191 0.977911 +0.977632 0.977352 0.977072 0.976793 0.976513 0.976234 0.975954 0.975674 +0.975395 0.975115 0.974836 0.974556 0.974276 0.973997 0.973717 0.973437 +0.973158 0.972878 0.972599 0.972319 0.972039 0.97176 0.97148 0.971201 +0.970921 0.970641 0.970362 0.970082 0.969803 0.969523 0.969243 0.968964 +0.968684 0.968405 0.968125 0.967845 0.967566 0.967286 0.967007 0.966727 +0.966447 0.966168 0.965888 0.965609 0.965329 0.965049 0.96477 0.96449 +0.964211 0.963931 0.963651 0.963372 0.963092 0.962812 0.962533 0.962253 +0.961974 0.961694 0.961414 0.961135 0.960855 0.960576 0.960296 0.960016 +0.959737 0.959457 0.959178 0.958898 0.958618 0.958339 0.958059 0.95778 +0.9575 0.95722 0.956941 0.956661 0.956382 0.956102 0.955822 0.955543 +0.955263 0.954984 0.954704 0.954424 0.954145 0.953865 0.953586 0.953306 +0.953026 0.952747 0.952467 0.952187 0.951908 0.951628 0.951349 0.951069 +0.950789 0.95051 0.95023 0.949951 0.949671 0.949391 0.949112 0.948832 +0.948553 0.948273 0.947993 0.947714 0.947434 0.947155 0.946875 0.946595 +0.946316 0.946036 0.945757 0.945477 0.945197 0.944918 0.944638 0.944359 +0.944079 0.943799 0.94352 0.94324 0.942961 0.942681 0.942401 0.942122 +0.941842 0.941562 0.941283 0.941003 0.940724 0.940444 0.940164 0.939885 +0.939605 0.939326 0.939046 0.938766 0.938487 0.938207 0.937928 0.937648 +0.937368 0.937089 0.936809 0.93653 0.93625 0.93597 0.935691 0.935411 +0.935132 0.934852 0.934572 0.934293 0.934013 0.933734 0.933454 0.933174 +0.932895 0.932615 0.932335 0.932056 0.931776 0.931497 0.931217 0.930937 +0.930658 0.930378 0.930099 0.929819 0.929539 0.92926 0.92898 0.928701 +0.928421 0.928141 0.927862 0.927582 0.927303 0.927023 0.926743 0.926464 +0.926184 0.925905 0.925625 0.925345 0.925066 0.924786 0.924507 0.924227 +0.923947 0.923668 0.923388 0.923109 0.922829 0.922549 0.92227 0.92199 +0.92171 0.921431 0.921151 0.920872 0.920592 0.920312 0.920033 0.919753 +0.919474 0.919194 0.918914 0.918635 0.918355 0.918076 0.917796 0.917516 +0.917237 0.916957 0.916678 0.916398 0.916118 0.915839 0.915559 0.91528 +0.915 0.91472 0.914441 0.914161 0.913882 0.913602 0.913322 0.913043 +0.912763 0.912484 0.912204 0.911924 0.911645 0.911365 0.911085 0.910806 +0.910526 0.910247 0.909967 0.909687 0.909408 0.909128 0.908849 0.908569 +0.908289 0.90801 0.90773 0.907451 0.907171 0.906891 0.906612 0.906332 +0.906053 0.905773 0.905493 0.905214 0.904934 0.904655 0.904375 0.904095 +0.903816 0.903536 0.903257 0.902977 0.902697 0.902418 0.902138 0.901859 +0.901579 0.901299 0.90102 0.90074 0.90046 0.900181 0.899901 0.899622 +0.899342 0.899062 0.898783 0.898503 0.898224 0.897944 0.897664 0.897385 +0.897105 0.896826 0.896546 0.896266 0.895987 0.895707 0.895428 0.895148 +0.894868 0.894589 0.894309 0.89403 0.89375 0.89347 0.893191 0.892911 +0.892632 0.892352 0.892072 0.891793 0.891513 0.891234 0.890954 0.890674 +0.890395 0.890115 0.889835 0.889556 0.889276 0.888997 0.888717 0.888437 +0.888158 0.887878 0.887599 0.887319 0.887039 0.88676 0.88648 0.886201 +0.885921 0.885641 0.885362 0.885082 0.884803 0.884523 0.884243 0.883964 +0.883684 0.883405 0.883125 0.882845 0.882566 0.882286 0.882007 0.881727 +0.881447 0.881168 0.880888 0.880608 0.880329 0.880049 0.87977 0.87949 +0.87921 0.878931 0.878651 0.878372 0.878092 0.877812 0.877533 0.877253 +0.876974 0.876694 0.876414 0.876135 0.875855 0.875576 0.875296 0.875016 +0.874737 0.874457 0.874178 0.873898 0.873618 0.873339 0.873059 0.87278 +0.8725 0.87222 0.871941 0.871661 0.871382 0.871102 0.870822 0.870543 +0.870263 0.869983 0.869704 0.869424 0.869145 0.868865 0.868585 0.868306 +0.868026 0.867747 0.867467 0.867187 0.866908 0.866628 0.866349 0.866069 +0.865789 0.86551 0.86523 0.864951 0.864671 0.864391 0.864112 0.863832 +0.863553 0.863273 0.862993 0.862714 0.862434 0.862155 0.861875 0.861595 +0.861316 0.861036 0.860757 0.860477 0.860197 0.859918 0.859638 0.859358 +0.859079 0.858799 0.85852 0.85824 0.85796 0.857681 0.857401 0.857122 +0.856842 0.856562 0.856283 0.856003 0.855724 0.855444 0.855164 0.854885 +0.854605 0.854326 0.854046 0.853766 0.853487 0.853207 0.852928 0.852648 +0.852368 0.852089 0.851809 0.85153 0.85125 0.85097 0.850691 0.850411 +0.850132 0.849852 0.849572 0.849293 0.849013 0.848733 0.848454 0.848174 +0.847895 0.847615 0.847335 0.847056 0.846776 0.846497 0.846217 0.845937 +0.845658 0.845378 0.845099 0.844819 0.844539 0.84426 0.84398 0.843701 +0.843421 0.843141 0.842862 0.842582 0.842303 0.842023 0.841743 0.841464 +0.841184 0.840905 0.840625 0.840345 0.840066 0.839786 0.839507 0.839227 +0.838947 0.838668 0.838388 0.838108 0.837829 0.837549 0.83727 0.83699 +0.83671 0.836431 0.836151 0.835872 0.835592 0.835312 0.835033 0.834753 +0.834474 0.834194 0.833914 0.833635 0.833355 0.833076 0.832796 0.832516 +0.832237 0.831957 0.831678 0.831398 0.831118 0.830839 0.830559 0.83028 +0.83 0.82972 0.829441 0.829161 0.828882 0.828602 0.828322 0.828043 +0.827763 0.827483 0.827204 0.826924 0.826645 0.826365 0.826085 0.825806 +0.825526 0.825247 0.824967 0.824687 0.824408 0.824128 0.823849 0.823569 +0.823289 0.82301 0.82273 0.822451 0.822171 0.821891 0.821612 0.821332 +0.821053 0.820773 0.820493 0.820214 0.819934 0.819655 0.819375 0.819095 +0.818816 0.818536 0.818256 0.817977 0.817697 0.817418 0.817138 0.816858 +0.816579 0.816299 0.81602 0.81574 0.81546 0.815181 0.814901 0.814622 +0.814342 0.814062 0.813783 0.813503 0.813224 0.812944 0.812664 0.812385 +0.812105 0.811826 0.811546 0.811266 0.810987 0.810707 0.810428 0.810148 +0.809868 0.809589 0.809309 0.80903 0.80875 0.80847 0.808191 0.807911 +0.807631 0.807352 0.807072 0.806793 0.806513 0.806233 0.805954 0.805674 +0.805395 0.805115 0.804835 0.804556 0.804276 0.803997 0.803717 0.803437 +0.803158 0.802878 0.802599 0.802319 0.802039 0.80176 0.80148 0.801201 +0.800921 0.800641 0.800362 0.800082 0.799803 0.799523 0.799243 0.798964 +0.798684 0.798405 0.798125 0.797845 0.797566 0.797286 0.797006 0.796727 +0.796447 0.796168 0.795888 0.795608 0.795329 0.795049 0.79477 0.79449 +0.79421 0.793931 0.793651 0.793372 0.793092 0.792812 0.792533 0.792253 +0.791974 0.791694 0.791414 0.791135 0.790855 0.790576 0.790296 0.790016 +0.789737 0.789457 0.789178 0.788898 0.788618 0.788339 0.788059 0.78778 +0.7875 0.78722 0.786941 0.786661 0.786381 0.786102 0.785822 0.785543 +0.785263 0.784983 0.784704 0.784424 0.784145 0.783865 0.783585 0.783306 +0.783026 0.782747 0.782467 0.782187 0.781908 0.781628 0.781349 0.781069 +0.780789 0.78051 0.78023 0.779951 0.779671 0.779391 0.779112 0.778832 +0.778553 0.778273 0.777993 0.777714 0.777434 0.777155 0.776875 0.776595 +0.776316 0.776036 0.775756 0.775477 0.775197 0.774918 0.774638 0.774358 +0.774079 0.773799 0.77352 0.77324 0.77296 0.772681 0.772401 0.772122 +0.771842 0.771562 0.771283 0.771003 0.770724 0.770444 0.770164 0.769885 +0.769605 0.769326 0.769046 0.768766 0.768487 0.768207 0.767928 0.767648 +0.767368 0.767089 0.766809 0.76653 0.76625 0.76597 0.765691 0.765411 +0.765131 0.764852 0.764572 0.764293 0.764013 0.763733 0.763454 0.763174 +0.762895 0.762615 0.762335 0.762056 0.761776 0.761497 0.761217 0.760937 +0.760658 0.760378 0.760099 0.759819 0.759539 0.75926 0.75898 0.758701 +0.758421 0.758141 0.757862 0.757582 0.757303 0.757023 0.756743 0.756464 +0.756184 0.755904 0.755625 0.755345 0.755066 0.754786 0.754506 0.754227 +0.753947 0.753668 0.753388 0.753108 0.752829 0.752549 0.75227 0.75199 +0.75171 0.751431 0.751151 0.750872 0.750592 0.750312 0.750033 0.749753 +0.749474 0.749194 0.748914 0.748635 0.748355 0.748076 0.747796 0.747516 +0.747237 0.746957 0.746678 0.746398 0.746118 0.745839 0.745559 0.745279 +0.745 0.74472 0.744441 0.744161 0.743881 0.743602 0.743322 0.743043 +0.742763 0.742483 0.742204 0.741924 0.741645 0.741365 0.741085 0.740806 +0.740526 0.740247 0.739967 0.739687 0.739408 0.739128 0.738849 0.738569 +0.738289 0.73801 0.73773 0.737451 0.737171 0.736891 0.736612 0.736332 +0.736053 0.735773 0.735493 0.735214 0.734934 0.734654 0.734375 0.734095 +0.733816 0.733536 0.733256 0.732977 0.732697 0.732418 0.732138 0.731858 +0.731579 0.731299 0.73102 0.73074 0.73046 0.730181 0.729901 0.729622 +0.729342 0.729062 0.728783 0.728503 0.728224 0.727944 0.727664 0.727385 +0.727105 0.726826 0.726546 0.726266 0.725987 0.725707 0.725428 0.725148 +0.724868 0.724589 0.724309 0.724029 0.72375 0.72347 0.723191 0.722911 +0.722631 0.722352 0.722072 0.721793 0.721513 0.721233 0.720954 0.720674 +; +#A 1000 0.720395 0.720115 0.719835 0.719556 0.719276 0.718997 0.718717 +0.718437 0.718158 0.717878 0.717599 0.717319 0.717039 0.71676 0.71648 +0.716201 0.715921 0.715641 0.715362 0.715082 0.714803 0.714523 0.714243 +0.713964 0.713684 0.713404 0.713125 0.712845 0.712566 0.712286 0.712006 +0.711727 0.711447 0.711168 0.710888 0.710608 0.710329 0.710049 0.70977 +0.70949 0.70921 0.708931 0.708651 0.708372 0.708092 0.707812 0.707533 +0.707253 0.706974 0.706694 0.706414 0.706135 0.705855 0.705576 0.705296 +0.705016 0.704737 0.704457 0.704177 0.703898 0.703618 0.703339 0.703059 +0.702779 0.7025 0.70222 0.701941 0.701661 0.701381 0.701102 0.700822 +0.700543 0.700263 0.699983 0.699704 0.699424 0.699145 0.698865 0.698585 +0.698306 0.698026 0.697747 0.697467 0.697187 0.696908 0.696628 0.696349 +0.696069 0.695789 0.69551 0.69523 0.694951 0.694671 0.694391 0.694112 +0.693832 0.693552 0.693273 0.692993 0.692714 0.692434 0.692154 0.691875 +0.691595 0.691316 0.691036 0.690756 0.690477 0.690197 0.689918 0.689638 +0.689358 0.689079 0.688799 0.68852 0.68824 0.68796 0.687681 0.687401 +0.687122 0.686842 0.686562 0.686283 0.686003 0.685724 0.685444 0.685164 +0.684885 0.684605 0.684326 0.684046 0.683766 0.683487 0.683207 0.682927 +0.682648 0.682368 0.682089 0.681809 0.681529 0.68125 0.68097 0.680691 +0.680411 0.680131 0.679852 0.679572 0.679293 0.679013 0.678733 0.678454 +0.678174 0.677895 0.677615 0.677335 0.677056 0.676776 0.676497 0.676217 +0.675937 0.675658 0.675378 0.675099 0.674819 0.674539 0.67426 0.67398 +0.673701 0.673421 0.673141 0.672862 0.672582 0.672302 0.672023 0.671743 +0.671464 0.671184 0.670904 0.670625 0.670345 0.670066 0.669786 0.669506 +0.669227 0.668947 0.668668 0.668388 0.668108 0.667829 0.667549 0.66727 +0.66699 0.66671 0.666431 0.666151 0.665872 0.665592 0.665312 0.665033 +0.664753 0.664474 0.664194 0.663914 0.663635 0.663355 0.663076 0.662796 +0.662516 0.662237 0.661957 0.661677 0.661398 0.661118 0.660839 0.660559 +0.660279 0.66 0.65972 0.659441 0.659161 0.658881 0.658602 0.658322 +0.658043 0.657763 0.657483 0.657204 0.656924 0.656645 0.656365 0.656085 +0.655806 0.655526 0.655247 0.654967 0.654687 0.654408 0.654128 0.653849 +0.653569 0.653289 0.65301 0.65273 0.652451 0.652171 0.651891 0.651612 +0.651332 0.651052 0.650773 0.650493 0.650214 0.649934 0.649654 0.649375 +0.649095 0.648816 0.648536 0.648256 0.647977 0.647697 0.647418 0.647138 +0.646858 0.646579 0.646299 0.64602 0.64574 0.64546 0.645181 0.644901 +0.644622 0.644342 0.644062 0.643783 0.643503 0.643224 0.642944 0.642664 +0.642385 0.642105 0.641825 0.641546 0.641266 0.640987 0.640707 0.640427 +0.640148 0.639868 0.639589 0.639309 0.639029 0.63875 0.63847 0.638191 +0.637911 0.637631 0.637352 0.637072 0.636793 0.636513 0.636233 0.635954 +0.635674 0.635395 0.635115 0.634835 0.634556 0.634276 0.633997 0.633717 +0.633437 0.633158 0.632878 0.632599 0.632319 0.632039 0.63176 0.63148 +0.6312 0.630921 0.630641 0.630362 0.630082 0.629802 0.629523 0.629243 +0.628964 0.628684 0.628404 0.628125 0.627845 0.627566 0.627286 0.627006 +0.626727 0.626447 0.626168 0.625888 0.625608 0.625329 0.625049 0.62477 +0.62449 0.62421 0.623931 0.623651 0.623372 0.623092 0.622812 0.622533 +0.622253 0.621974 0.621694 0.621414 0.621135 0.620855 0.620575 0.620296 +0.620016 0.619737 0.619457 0.619177 0.618898 0.618618 0.618339 0.618059 +0.617779 0.6175 0.61722 0.616941 0.616661 0.616381 0.616102 0.615822 +0.615543 0.615263 0.614983 0.614704 0.614424 0.614145 0.613865 0.613585 +0.613306 0.613026 0.612747 0.612467 0.612187 0.611908 0.611628 0.611349 +0.611069 0.610789 0.61051 0.61023 0.60995 0.609671 0.609391 0.609112 +0.608832 0.608552 0.608273 0.607993 0.607714 0.607434 0.607154 0.606875 +0.606595 0.606316 0.606036 0.605756 0.605477 0.605197 0.604918 0.604638 +0.604358 0.604079 0.603799 0.60352 0.60324 0.60296 0.602681 0.602401 +0.602122 0.601842 0.601562 0.601283 0.601003 0.600724 0.600444 0.600164 +0.599885 0.599605 0.599325 0.599046 0.598766 0.598487 0.598207 0.597927 +0.597648 0.597368 0.597089 0.596809 0.596529 0.59625 0.59597 0.595691 +0.595411 0.595131 0.594852 0.594572 0.594293 0.594013 0.593733 0.593454 +0.593174 0.592895 0.592615 0.592335 0.592056 0.591776 0.591497 0.591217 +0.590937 0.590658 0.590378 0.590099 0.589819 0.589539 0.58926 0.58898 +0.5887 0.588421 0.588141 0.587862 0.587582 0.587302 0.587023 0.586743 +0.586464 0.586184 0.585904 0.585625 0.585345 0.585066 0.584786 0.584506 +0.584227 0.583947 0.583668 0.583388 0.583108 0.582829 0.582549 0.58227 +0.58199 0.58171 0.581431 0.581151 0.580872 0.580592 0.580312 0.580033 +0.579753 0.579473 0.579194 0.578914 0.578635 0.578355 0.578075 0.577796 +0.577516 0.577237 0.576957 0.576677 0.576398 0.576118 0.575839 0.575559 +0.575279 0.575 0.57472 0.574441 0.574161 0.573881 0.573602 0.573322 +0.573043 0.572763 0.572483 0.572204 0.571924 0.571645 0.571365 0.571085 +0.570806 0.570526 0.570247 0.569967 0.569687 0.569408 0.569128 0.568848 +0.568569 0.568289 0.56801 0.56773 0.56745 0.567171 0.566891 0.566612 +0.566332 0.566052 0.565773 0.565493 0.565214 0.564934 0.564654 0.564375 +0.564095 0.563816 0.563536 0.563256 0.562977 0.562697 0.562418 0.562138 +0.561858 0.561579 0.561299 0.56102 0.56074 0.56046 0.560181 0.559901 +0.559622 0.559342 0.559062 0.558783 0.558503 0.558223 0.557944 0.557664 +0.557385 0.557105 0.556825 0.556546 0.556266 0.555987 0.555707 0.555427 +0.555148 0.554868 0.554589 0.554309 0.554029 0.55375 0.55347 0.553191 +0.552911 0.552631 0.552352 0.552072 0.551793 0.551513 0.551233 0.550954 +0.550674 0.550395 0.550115 0.549835 0.549556 0.549276 0.548997 0.548717 +0.548437 0.548158 0.547878 0.547598 0.547319 0.547039 0.54676 0.54648 +0.5462 0.545921 0.545641 0.545362 0.545082 0.544802 0.544523 0.544243 +0.543964 0.543684 0.543404 0.543125 0.542845 0.542566 0.542286 0.542006 +0.541727 0.541447 0.541168 0.540888 0.540608 0.540329 0.540049 0.53977 +0.53949 0.53921 0.538931 0.538651 0.538372 0.538092 0.537812 0.537533 +0.537253 0.536973 0.536694 0.536414 0.536135 0.535855 0.535575 0.535296 +0.535016 0.534737 0.534457 0.534177 0.533898 0.533618 0.533339 0.533059 +0.532779 0.5325 0.53222 0.531941 0.531661 0.531381 0.531102 0.530822 +0.530543 0.530263 0.529983 0.529704 0.529424 0.529145 0.528865 0.528585 +0.528306 0.528026 0.527746 0.527467 0.527187 0.526908 0.526628 0.526348 +0.526069 0.525789 0.52551 0.52523 0.52495 0.524671 0.524391 0.524112 +0.523832 0.523552 0.523273 0.522993 0.522714 0.522434 0.522154 0.521875 +0.521595 0.521316 0.521036 0.520756 0.520477 0.520197 0.519918 0.519638 +0.519358 0.519079 0.518799 0.51852 0.51824 0.51796 0.517681 0.517401 +0.517121 0.516842 0.516562 0.516283 0.516003 0.515723 0.515444 0.515164 +0.514885 0.514605 0.514325 0.514046 0.513766 0.513487 0.513207 0.512927 +0.512648 0.512368 0.512089 0.511809 0.511529 0.51125 0.51097 0.510691 +0.510411 0.510131 0.509852 0.509572 0.509293 0.509013 0.508733 0.508454 +0.508174 0.507895 0.507615 0.507335 0.507056 0.506776 0.506496 0.506217 +0.505937 0.505658 0.505378 0.505098 0.504819 0.504539 0.50426 0.50398 +0.5037 0.503421 0.503141 0.502862 0.502582 0.502302 0.502023 0.501743 +0.501464 0.501184 0.500904 0.500625 0.500345 0.500066 0.499786 0.499506 +0.499227 0.498947 0.498668 0.498388 0.498108 0.497829 0.497549 0.49727 +0.49699 0.49671 0.496431 0.496151 0.495871 0.495592 0.495312 0.495033 +0.494753 0.494473 0.494194 0.493914 0.493635 0.493355 0.493075 0.492796 +0.492516 0.492237 0.491957 0.491677 0.491398 0.491118 0.490839 0.490559 +0.490279 0.49 0.48972 0.489441 0.489161 0.488881 0.488602 0.488322 +0.488043 0.487763 0.487483 0.487204 0.486924 0.486645 0.486365 0.486085 +0.485806 0.485526 0.485246 0.484967 0.484687 0.484408 0.484128 0.483848 +0.483569 0.483289 0.48301 0.48273 0.48245 0.482171 0.481891 0.481612 +0.481332 0.481052 0.480773 0.480493 0.480214 0.479934 0.479654 0.479375 +0.479095 0.478816 0.478536 0.478256 0.477977 0.477697 0.477418 0.477138 +0.476858 0.476579 0.476299 0.47602 0.47574 0.47546 0.475181 0.474901 +0.474621 0.474342 0.474062 0.473783 0.473503 0.473223 0.472944 0.472664 +0.472385 0.472105 0.471825 0.471546 0.471266 0.470987 0.470707 0.470427 +0.470148 0.469868 0.469589 0.469309 0.469029 0.46875 0.46847 0.468191 +0.467911 0.467631 0.467352 0.467072 0.466793 0.466513 0.466233 0.465954 +0.465674 0.465394 0.465115 0.464835 0.464556 0.464276 0.463996 0.463717 +0.463437 0.463158 0.462878 0.462598 0.462319 0.462039 0.46176 0.46148 +0.4612 0.460921 0.460641 0.460362 0.460082 0.459802 0.459523 0.459243 +0.458964 0.458684 0.458404 0.458125 0.457845 0.457566 0.457286 0.457006 +0.456727 0.456447 0.456168 0.455888 0.455608 0.455329 0.455049 0.454769 +0.45449 0.45421 0.453931 0.453651 0.453371 0.453092 0.452812 0.452533 +0.452253 0.451973 0.451694 0.451414 0.451135 0.450855 0.450575 0.450296 +0.450016 0.449737 0.449457 0.449177 0.448898 0.448618 0.448339 0.448059 +0.447779 0.4475 0.44722 0.446941 0.446661 0.446381 0.446102 0.445822 +0.445543 0.445263 0.444983 0.444704 0.444424 0.444144 0.443865 0.443585 +0.443306 0.443026 0.442746 0.442467 0.442187 0.441908 0.441628 0.441348 +0.441069; +#A 2000 0.440789 0.44051 0.44023 0.43995 0.439671 0.439391 0.439112 +0.438832 0.438552 0.438273 0.437993 0.437714 0.437434 0.437154 0.436875 +0.436595 0.436316 0.436036 0.435756 0.435477 0.435197 0.434918 0.434638 +0.434358 0.434079 0.433799 0.433519 0.43324 0.43296 0.432681 0.432401 +0.432121 0.431842 0.431562 0.431283 0.431003 0.430723 0.430444 0.430164 +0.429885 0.429605 0.429325 0.429046 0.428766 0.428487 0.428207 0.427927 +0.427648 0.427368 0.427089 0.426809 0.426529 0.42625 0.42597 0.425691 +0.425411 0.425131 0.424852 0.424572 0.424293 0.424013 0.423733 0.423454 +0.423174 0.422894 0.422615 0.422335 0.422056 0.421776 0.421496 0.421217 +0.420937 0.420658 0.420378 0.420098 0.419819 0.419539 0.41926 0.41898 +0.4187 0.418421 0.418141 0.417862 0.417582 0.417302 0.417023 0.416743 +0.416464 0.416184 0.415904 0.415625 0.415345 0.415066 0.414786 0.414506 +0.414227 0.413947 0.413668 0.413388 0.413108 0.412829 0.412549 0.412269 +0.41199 0.41171 0.411431 0.411151 0.410871 0.410592 0.410312 0.410033 +0.409753 0.409473 0.409194 0.408914 0.408635 0.408355 0.408075 0.407796 +0.407516 0.407237 0.406957 0.406677 0.406398 0.406118 0.405839 0.405559 +0.405279 0.405 0.40472 0.404441 0.404161 0.403881 0.403602 0.403322 +0.403042 0.402763 0.402483 0.402204 0.401924 0.401644 0.401365 0.401085 +0.400806 0.400526 0.400246 0.399967 0.399687 0.399408 0.399128 0.398848 +0.398569 0.398289 0.39801 0.39773 0.39745 0.397171 0.396891 0.396612 +0.396332 0.396052 0.395773 0.395493 0.395214 0.394934 0.394654 0.394375 +0.394095 0.393816 0.393536 0.393256 0.392977 0.392697 0.392417 0.392138 +0.391858 0.391579 0.391299 0.391019 0.39074 0.39046 0.390181 0.389901 +0.389621 0.389342 0.389062 0.388783 0.388503 0.388223 0.387944 0.387664 +0.387385 0.387105 0.386825 0.386546 0.386266 0.385987 0.385707 0.385427 +0.385148 0.384868 0.384589 0.384309 0.384029 0.38375 0.38347 0.383191 +0.382911 0.382631 0.382352 0.382072 0.381792 0.381513 0.381233 0.380954 +0.380674 0.380394 0.380115 0.379835 0.379556 0.379276 0.378996 0.378717 +0.378437 0.378158 0.377878 0.377598 0.377319 0.377039 0.37676 0.37648 +0.3762 0.375921 0.375641 0.375362 0.375082 0.374802 0.374523 0.374243 +0.373964 0.373684 0.373404 0.373125 0.372845 0.372566 0.372286 0.372006 +0.371727 0.371447 0.371167 0.370888 0.370608 0.370329 0.370049 0.369769 +0.36949 0.36921 0.368931 0.368651 0.368371 0.368092 0.367812 0.367533 +0.367253 0.366973 0.366694 0.366414 0.366135 0.365855 0.365575 0.365296 +0.365016 0.364737 0.364457 0.364177 0.363898 0.363618 0.363339 0.363059 +0.362779 0.3625 0.36222 0.361941 0.361661 0.361381 0.361102 0.360822 +0.360542 0.360263 0.359983 0.359704 0.359424 0.359144 0.358865 0.358585 +0.358306 0.358026 0.357746 0.357467 0.357187 0.356908 0.356628 0.356348 +0.356069 0.355789 0.35551 0.35523 0.35495 0.354671 0.354391 0.354112 +0.353832 0.353552 0.353273 0.352993 0.352714 0.352434 0.352154 0.351875 +0.351595 0.351315 0.351036 0.350756 0.350477 0.350197 0.349917 0.349638 +0.349358 0.349079 0.348799 0.348519 0.34824 0.34796 0.347681 0.347401 +0.347121 0.346842 0.346562 0.346283 0.346003 0.345723 0.345444 0.345164 +0.344885 0.344605 0.344325 0.344046 0.343766 0.343487 0.343207 0.342927 +0.342648 0.342368 0.342089 0.341809 0.341529 0.34125 0.34097 0.34069 +0.340411 0.340131 0.339852 0.339572 0.339292 0.339013 0.338733 0.338454 +0.338174 0.337894 0.337615 0.337335 0.337056 0.336776 0.336496 0.336217 +0.335937 0.335658 0.335378 0.335098 0.334819 0.334539 0.33426 0.33398 +0.3337 0.333421 0.333141 0.332862 0.332582 0.332302 0.332023 0.331743 +0.331464 0.331184 0.330904 0.330625 0.330345 0.330065 0.329786 0.329506 +0.329227 0.328947 0.328667 0.328388 0.328108 0.327829 0.327549 0.327269 +0.32699 0.32671 0.326431 0.326151 0.325871 0.325592 0.325312 0.325033 +0.324753 0.324473 0.324194 0.323914 0.323635 0.323355 0.323075 0.322796 +0.322516 0.322237 0.321957 0.321677 0.321398 0.321118 0.320839 0.320559 +0.320279 0.32 0.320069 0.320139 0.320208 0.320277 0.320347 0.320416 +0.320486 0.320555 0.320625 0.320694 0.320764 0.320833 0.320902 0.320972 +0.321041 0.321111 0.32118 0.32125 0.321319 0.321389 0.321458 0.321527 +0.321597 0.321666 0.321736 0.321805 0.321875 0.321944 0.322014 0.322083 +0.322152 0.322222 0.322291 0.322361 0.32243 0.3225 0.322569 0.322639 +0.322708 0.322778 0.322847 0.322916 0.322986 0.323055 0.323125 0.323194 +0.323264 0.323333 0.323402 0.323472 0.323541 0.323611 0.32368 0.32375 +0.323819 0.323889 0.323958 0.324028 0.324097 0.324166 0.324236 0.324305 +0.324375 0.324444 0.324514 0.324583 0.324653 0.324722 0.324791 0.324861 +0.32493 0.325 0.325069 0.325139 0.325208 0.325278 0.325347 0.325416 +0.325486 0.325555 0.325625 0.325694 0.325764 0.325833 0.325903 0.325972 +0.326041 0.326111 0.32618 0.32625 0.326319 0.326389 0.326458 0.326528 +0.326597 0.326666 0.326736 0.326805 0.326875 0.326944 0.327014 0.327083 +0.327153 0.327222 0.327291 0.327361 0.32743 0.3275 0.327569 0.327639 +0.327708 0.327778 0.327847 0.327916 0.327986 0.328055 0.328125 0.328194 +0.328264 0.328333 0.328403 0.328472 0.328541 0.328611 0.32868 0.32875 +0.328819 0.328889 0.328958 0.329028 0.329097 0.329166 0.329236 0.329305 +0.329375 0.329444 0.329514 0.329583 0.329653 0.329722 0.329791 0.329861 +0.32993 0.33 0.330069 0.330139 0.330208 0.330278 0.330347 0.330416 +0.330486 0.330555 0.330625 0.330694 0.330764 0.330833 0.330903 0.330972 +0.331041 0.331111 0.33118 0.33125 0.331319 0.331389 0.331458 0.331528 +0.331597 0.331666 0.331736 0.331805 0.331875 0.331944 0.332014 0.332083 +0.332153 0.332222 0.332291 0.332361 0.33243 0.3325 0.332569 0.332639 +0.332708 0.332778 0.332847 0.332916 0.332986 0.333055 0.333125 0.333194 +0.333264 0.333333 0.333403 0.333472 0.333541 0.333611 0.33368 0.33375 +0.333819 0.333889 0.333958 0.334028 0.334097 0.334166 0.334236 0.334305 +0.334375 0.334444 0.334514 0.334583 0.334653 0.334722 0.334791 0.334861 +0.33493 0.335 0.335069 0.335139 0.335208 0.335278 0.335347 0.335416 +0.335486 0.335555 0.335625 0.335694 0.335764 0.335833 0.335903 0.335972 +0.336041 0.336111 0.33618 0.33625 0.336319 0.336389 0.336458 0.336528 +0.336597 0.336666 0.336736 0.336805 0.336875 0.336944 0.337014 0.337083 +0.337153 0.337222 0.337292 0.337361 0.33743 0.3375 0.337569 0.337639 +0.337708 0.337778 0.337847 0.337916 0.337986 0.338055 0.338125 0.338194 +0.338264 0.338333 0.338403 0.338472 0.338542 0.338611 0.33868 0.33875 +0.338819 0.338889 0.338958 0.339028 0.339097 0.339167 0.339236 0.339305 +0.339375 0.339444 0.339514 0.339583 0.339653 0.339722 0.339792 0.339861 +0.33993 0.34 0.340069 0.340139 0.340208 0.340278 0.340347 0.340417 +0.340486 0.340555 0.340625 0.340694 0.340764 0.340833 0.340903 0.340972 +0.341042 0.341111 0.34118 0.34125 0.341319 0.341389 0.341458 0.341528 +0.341597 0.341667 0.341736 0.341805 0.341875 0.341944 0.342014 0.342083 +0.342153 0.342222 0.342292 0.342361 0.34243 0.3425 0.342569 0.342639 +0.342708 0.342778 0.342847 0.342917 0.342986 0.343055 0.343125 0.343194 +0.343264 0.343333 0.343403 0.343472 0.343542 0.343611 0.34368 0.34375 +0.343819 0.343889 0.343958 0.344028 0.344097 0.344167 0.344236 0.344305 +0.344375 0.344444 0.344514 0.344583 0.344653 0.344722 0.344792 0.344861 +0.34493 0.345 0.345069 0.345139 0.345208 0.345278 0.345347 0.345417 +0.345486 0.345555 0.345625 0.345694 0.345764 0.345833 0.345903 0.345972 +0.346042 0.346111 0.34618 0.34625 0.346319 0.346389 0.346458 0.346528 +0.346597 0.346667 0.346736 0.346805 0.346875 0.346944 0.347014 0.347083 +0.347153 0.347222 0.347292 0.347361 0.34743 0.3475 0.347569 0.347639 +0.347708 0.347778 0.347847 0.347917 0.347986 0.348055 0.348125 0.348194 +0.348264 0.348333 0.348403 0.348472 0.348542 0.348611 0.34868 0.34875 +0.348819 0.348889 0.348958 0.349028 0.349097 0.349167 0.349236 0.349305 +0.349375 0.349444 0.349514 0.349583 0.349653 0.349722 0.349792 0.349861 +0.34993 0.35 0.350069 0.350139 0.350208 0.350278 0.350347 0.350417 +0.350486 0.350555 0.350625 0.350694 0.350764 0.350833 0.350903 0.350972 +0.351042 0.351111 0.35118 0.35125 0.351319 0.351389 0.351458 0.351528 +0.351597 0.351667 0.351736 0.351806 0.351875 0.351944 0.352014 0.352083 +0.352153 0.352222 0.352292 0.352361 0.352431 0.3525 0.352569 0.352639 +0.352708 0.352778 0.352847 0.352917 0.352986 0.353056 0.353125 0.353194 +0.353264 0.353333 0.353403 0.353472 0.353542 0.353611 0.353681 0.35375 +0.353819 0.353889 0.353958 0.354028 0.354097 0.354167 0.354236 0.354306 +0.354375 0.354444 0.354514 0.354583 0.354653 0.354722 0.354792 0.354861 +0.354931 0.355 0.355069 0.355139 0.355208 0.355278 0.355347 0.355417 +0.355486 0.355556 0.355625 0.355694 0.355764 0.355833 0.355903 0.355972 +0.356042 0.356111 0.356181 0.35625 0.356319 0.356389 0.356458 0.356528 +0.356597 0.356667 0.356736 0.356806 0.356875 0.356944 0.357014 0.357083 +0.357153 0.357222 0.357292 0.357361 0.357431 0.3575 0.357569 0.357639 +0.357708 0.357778 0.357847 0.357917 0.357986 0.358056 0.358125 0.358194 +0.358264 0.358333 0.358403 0.358472 0.358542 0.358611 0.358681 0.35875 +0.358819 0.358889 0.358958 0.359028 0.359097 0.359167 0.359236 0.359306 +0.359375; +#A 3000 0.359444 0.359514 0.359583 0.359653 0.359722 0.359792 0.359861 +0.359931 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 +0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 +0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 +0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 +0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.359625 0.35925 +0.358875 0.3585 0.358125 0.35775 0.357375 0.357 0.356625 0.35625 0.355875 +0.3555 0.355125 0.35475 0.354375 0.354 0.353625 0.35325 0.352875 0.3525 +0.352125 0.35175 0.351375 0.351 0.350625 0.35025 0.349875 0.3495 0.349125 +0.34875 0.348375 0.348 0.347625 0.34725 0.346875 0.3465 0.346125 0.34575 +0.345375 0.345 0.344625 0.34425 0.343875 0.3435 0.343125 0.34275 0.342375 +0.342 0.341625 0.34125 0.340875 0.3405 0.340125 0.33975 0.339375 0.339 +0.338625 0.33825 0.337875 0.3375 0.337125 0.33675 0.336375 0.336 0.335625 +0.33525 0.334875 0.3345 0.334125 0.33375 0.333375 0.333 0.332625 0.33225 +0.331875 0.3315 0.331125 0.33075 0.330375 0.33 0.329625 0.32925 0.328875 +0.3285 0.328125 0.32775 0.327375 0.327 0.326625 0.32625 0.325875 0.3255 +0.325125 0.32475 0.324375 0.324 0.323625 0.32325 0.322875 0.3225 0.322125 +0.32175 0.321375 0.321 0.320625 0.32025 0.319875 0.3195 0.319125 0.31875 +0.318375 0.318 0.317625 0.31725 0.316875 0.3165 0.316125 0.31575 0.315375 +0.315 0.314625 0.31425 0.313875 0.3135 0.313125 0.31275 0.312375 0.312 +0.311625 0.31125 0.310875 0.3105 0.310125 0.30975 0.309375 0.309 0.308625 +0.30825 0.307875 0.3075 0.307125 0.30675 0.306375 0.306 0.305625 0.30525 +0.304875 0.3045 0.304125 0.30375 0.303375 0.303 0.302625 0.30225 0.301875 +0.3015 0.301125 0.30075 0.300375 0.3 0.299625 0.29925 0.298875 0.2985 +0.298125 0.29775 0.297375 0.297 0.296625 0.29625 0.295875 0.2955 0.295125 +0.29475 0.294375 0.294 0.293625 0.29325 0.292875 0.2925 0.292125 0.29175 +0.291375 0.291 0.290625 0.29025 0.289875 0.2895 0.289125 0.28875 0.288375 +0.288 0.287625 0.28725 0.286875 0.2865 0.286125 0.28575 0.285375 0.285 +0.284625 0.28425 0.283875 0.2835 0.283125 0.28275 0.282375 0.282 0.281625 +0.28125 0.280875 0.2805 0.280125 0.27975 0.279375 0.279 0.278625 0.27825 +0.277875 0.2775 0.277125 0.27675 0.276375 0.276 0.275625 0.27525 0.274875 +0.2745 0.274125 0.27375 0.273375 0.273 0.272625 0.27225 0.271875 0.2715 +0.271125 0.27075 0.270375 0.27 0.269625 0.26925 0.268875 0.2685 0.268125 +0.26775 0.267375 0.267 0.266625 0.26625 0.265875 0.2655 0.265125 0.26475 +0.264375 0.264 0.263625 0.26325 0.262875 0.2625 0.262125 0.26175 0.261375 +0.261 0.260625 0.26025 0.259875 0.2595 0.259125 0.25875 0.258375 0.258 +0.257625 0.25725 0.256875 0.2565 0.256125 0.25575 0.255375 0.255 0.254625 +0.25425 0.253875 0.2535 0.253125 0.25275 0.252375 0.252 0.251625 0.25125 +0.250875 0.2505 0.250125 0.24975 0.249375 0.249 0.248625 0.24825 0.247875 +0.2475 0.247125 0.24675 0.246375 0.246 0.245625 0.24525 0.244875 0.2445 +0.244125 0.24375 0.243375 0.243 0.242625 0.24225 0.241875 0.2415 0.241125 +0.24075 0.240375 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 +0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.24 0.245 +0.25 0.255 0.26 0.265 0.27 0.275 0.28 0.285 0.29 0.295 0.3 0.305 0.31 +0.315 0.32 0.325 0.33 0.335 0.34 0.345 0.35 0.355 0.36 0.365 0.37 0.375 +0.38 0.385 0.39 0.395 0.4 0.405 0.41 0.415 0.42 0.425 0.43 0.435 0.44 +0.445 0.45 0.455 0.46 0.465 0.47 0.475 0.48 0.485 0.49 0.495 0.5 0.505 +0.51 0.515 0.52 0.525 0.53 0.535 0.54 0.545 0.55 0.555 0.56 0.558906 +0.557813 0.556719 0.555625 0.554531 0.553438 0.552344 0.55125 0.550156 +0.549062 0.547969 0.546875 0.545781 0.544688 0.543594 0.5425 0.541406 +0.540313 0.539219 0.538125 0.537031 0.535937 0.534844 0.53375 0.532656 +0.531563 0.530469 0.529375 0.528281 0.527188 0.526094; +#A 4000 0.525 0.523906 0.522812 0.521719 0.520625 0.519531 0.518438 +0.517344 0.51625 0.515156 0.514063 0.512969 0.511875 0.510781 0.509687 +0.508594 0.5075 0.506406 0.505313 0.504219 0.503125 0.502031 0.500938 +0.499844 0.49875 0.497656 0.496563 0.495469 0.494375 0.493281 0.492188 +0.491094 0.49 0.488906 0.487813 0.486719 0.485625 0.484531 0.483438 +0.482344 0.48125 0.480156 0.479062 0.477969 0.476875 0.475781 0.474688 +0.473594 0.4725 0.471406 0.470313 0.469219 0.468125 0.467031 0.465937 +0.464844 0.46375 0.462656 0.461563 0.460469 0.459375 0.458281 0.457188 +0.456094 0.455 0.453906 0.452813 0.451719 0.450625 0.449531 0.448438 +0.447344 0.44625 0.445156 0.444063 0.442969 0.441875 0.440781 0.439688 +0.438594 0.4375 0.436406 0.435313 0.434219 0.433125 0.432031 0.430937 +0.429844 0.42875 0.427656 0.426563 0.425469 0.424375 0.423281 0.422188 +0.421094 0.42 0.418906 0.417813 0.416719 0.415625 0.414531 0.413438 +0.412344 0.41125 0.410156 0.409063 0.407969 0.406875 0.405781 0.404688 +0.403594 0.4025 0.401406 0.400313 0.399219 0.398125 0.397031 0.395938 +0.394844 0.39375 0.392656 0.391563 0.390469 0.389375 0.388281 0.387188 +0.386094 0.385 0.383906 0.382813 0.381719 0.380625 0.379531 0.378438 +0.377344 0.37625 0.375156 0.374063 0.372969 0.371875 0.370781 0.369688 +0.368594 0.3675 0.366406 0.365313 0.364219 0.363125 0.362031 0.360938 +0.359844 0.35875 0.357656 0.356563 0.355469 0.354375 0.353281 0.352188 +0.351094 0.35 0.348906 0.347813 0.346719 0.345625 0.344531 0.343438 +0.342344 0.34125 0.340156 0.339063 0.337969 0.336875 0.335781 0.334688 +0.333594 0.3325 0.331406 0.330313 0.329219 0.328125 0.327031 0.325938 +0.324844 0.32375 0.322656 0.321563 0.320469 0.319375 0.318281 0.317188 +0.316094 0.315 0.313906 0.312813 0.311719 0.310625 0.309531 0.308438 +0.307344 0.30625 0.305156 0.304063 0.302969 0.301875 0.300781 0.299688 +0.298594 0.2975 0.296406 0.295313 0.294219 0.293125 0.292031 0.290938 +0.289844 0.28875 0.287656 0.286563 0.285469 0.284375 0.283281 0.282188 +0.281094 0.28 0.277813 0.275625 0.273438 0.27125 0.269063 0.266875 +0.264688 0.2625 0.260313 0.258125 0.255938 0.25375 0.251563 0.249375 +0.247188 0.245 0.242813 0.240625 0.238438 0.23625 0.234063 0.231875 +0.229688 0.2275 0.225313 0.223125 0.220938 0.21875 0.216563 0.214375 +0.212188 0.21 0.207813 0.205625 0.203438 0.20125 0.199063 0.196875 +0.194688 0.1925 0.190313 0.188125 0.185938 0.18375 0.181563 0.179375 +0.177188 0.175 0.172813 0.170625 0.168438 0.16625 0.164063 0.161875 +0.159688 0.1575 0.155313 0.153125 0.150938 0.14875 0.146563 0.144375 +0.142188 0.14 0.137813 0.135625 0.133438 0.13125 0.129063 0.126875 +0.124688 0.1225 0.120313 0.118125 0.115938 0.11375 0.111563 0.109375 +0.107188 0.105 0.102813 0.100625 0.0984375 0.09625 0.0940625 0.091875 +0.0896875 0.0875 0.0853125 0.083125 0.0809375 0.07875 0.0765625 0.074375 +0.0721875 0.07 0.0678125 0.065625 0.0634375 0.06125 0.0590625 0.056875 +0.0546875 0.0525 0.0503125 0.048125 0.0459375 0.04375 0.0415625 0.039375 +0.0371875 0.035 0.0328125 0.030625 0.0284375 0.02625 0.0240625 0.021875 +0.0196875 0.0175 0.0153125 0.013125 0.0109375 0.00875 0.0065625 0.004375 +0.0021875 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; +#X coords 0 1 4409 -1 200 140 1; +#X restore 295 16 graph; +#X msg 11 4 bang; +#X floatatom 221 27 5 0 0 0 - - -; +#X msg 28 27 100; +#X obj 221 156 print; +#X obj 28 49 s-varenv; +#X connect 2 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 6 1; +#X connect 4 0 6 0; +#X connect 6 0 0 0; +#X connect 6 1 5 0; diff --git a/examples/varseq-example.pd b/examples/varseq-example.pd new file mode 100644 index 0000000..34da01c --- /dev/null +++ b/examples/varseq-example.pd @@ -0,0 +1,10 @@ +#N struct 1088template float x float y float z float q; +#N canvas 249 214 444 162 10; +#X floatatom 7 72 5 0 0 0 - - -; +#X floatatom 7 124 5 0 0 0 - - -; +#X text 7 3 Make some triangles by dragging the little vertical lines. +Then loop through the sequence by changing the first number box. The +lengths of the triangles will appear in the second number box.; +#X obj 7 90 s-varseq 2 4; +#X connect 0 0 3 0; +#X connect 3 0 1 0; diff --git a/install b/install new file mode 100644 index 0000000..92014b3 --- /dev/null +++ b/install @@ -0,0 +1,14 @@ +#!/bin/bash + +touch ~/.pdrc + +if [ "`grep -c pd_start.pd ~/.pdrc`" == "0" ] +then + path=`pwd` + cmd="-open `pwd`/pd_start.pd" + echo Adding $cmd to your ~/.pdrc file + echo $cmd >> ~/.pdrc + echo Adding $path to your pd path + echo -path $path >> ~/.pdrc +fi + diff --git a/pd_start.pd b/pd_start.pd new file mode 100644 index 0000000..552a25c --- /dev/null +++ b/pd_start.pd @@ -0,0 +1,116 @@ +#N struct 1078template float x float y float z; +#N struct 1089template float x float y array 1089arrayvals 1089arraytemplate +; +#N struct 1089arraytemplate float x float y; +#N struct 1090template float x float y array 1090arrayvals 1090arraytemplate +; +#N struct 1090arraytemplate float x float y; +#N canvas 4 22 197 416 10; +#X obj 7 346 s-recorder~; +#X obj 9 9 s-metro time; +#N canvas 227 22 766 663 all-abstractions 0; +#X obj 12 91 s-ezdac~ [name]; +#X text 606 56 crush your sound; +#X obj 9 635 s-connect [source] [destination]; +#X text 7 617 connect a receive to a send; +#X obj 608 6 s-bitcrusher~ [name]; +#X obj 613 203 s-filter~ [name]; +#X text 612 287 a regular old vcf; +#X text 10 175 audio output (stereo); +#X text 609 178 a digital delay unit; +#X obj 612 94 s-delayunit~ [name]; +#X text 11 313 simple sinewave percussion; +#X obj 13 351 s-pluck~ [name]; +#X floatatom 197 103 5 0 127 0 example - -; +#X obj 197 123 s [name]-volume; +#X text 11 434 karplus-strong string pluck; +#X text 11 7 here are all the abstractions in this library. Note that +almost all of them can be assigned an optional [name]. This can be +used to send and receive on. For example if you give ez-dac~ a [name] +of 'output' you can change the volume using a [s output-volume] object. +see the example below.; +#X obj 13 224 s-perc~ [name]; +#X text 14 556 make snappy sounds; +#N canvas 227 21 768 664 midi-stuff 0; +#X text 7 6 This collection of abstractions can help you with managing +midi inputs and data streams.; +#X obj 27 248 s-midimemory; +#X text 26 89 This guy listens on midi channel label 1 \, for midi +controller label 2 and sends the output to the receive called [name]. +It also outputs that midi controller at the left outlet.; +#X obj 26 153 s-midinote 1 [name]; +#X text 27 175 This fellow listens for notes on channel 1 and sends +packed note/volume pairs to [name] and out of the left inlet. You can +link it into all the abstractions in this library which take note pairs. +; +#X text 28 267 Listens to a stream of numbers between 0 and 127 on +the left inlet and remembers them.; +#X obj 26 69 s-midictl 2 1 [name]; +#X restore 328 124 pd midi-stuff; +#X text 327 145 open this for midi helpers; +#X text 13 570 takes midi note pairs; +#X text 10 448 takes midi note pairs; +#X obj 14 472 s-snare~ [name]; +#N canvas 227 22 770 665 sequencer-stuff 0; +#X obj 9 9 s-togs; +#X floatatom 362 131 5 0 0 0 - - -; +#X text 14 39 [s-togs] = produces codes suitable for m-seq; +#X floatatom 9 60 5 0 0 0 - - -; +#X text 8 146 [s-seq16] = produces codes for [s-mseq 2 16 0] from the +right outlet. given an argument of 'time' it produces beat triggers +from the left outlet.; +#X obj 9 91 s-seq16 time; +#X obj 9 128 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 388 550 timer - the name of the s-metro [eg 'time']; +#X text 389 578 the left inlet is to retrive tick n of the sequence +; +#X text 389 608 set the right inlet to 1 to invert the sequence; +#X text 387 461 this is a mathematical sequencer. you can construct +sequences using a single number decoded in the base specified.; +#X text 388 505 arg 1 - the base in which the sequence is specified +; +#X text 388 520 arg 2 - the length in ticks of the sequence; +#X text 388 535 arg 3 - the code which designates the sequence; +#X text 389 593 the middle inlet takes a new code; +#X text 391 635 bases higher than 2 with long sequences are expensive +; +#X obj 388 441 s-mseq 1 2 3 [timer]; +#X floatatom 9 213 5 0 0 0 - - -; +#X floatatom 9 280 5 0 0 0 - - -; +#X obj 9 231 s-varseq 6 3; +#X connect 0 0 3 0; +#X connect 5 0 6 0; +#X connect 5 1 1 0; +#X connect 17 0 19 0; +#X connect 19 0 18 0; +#X restore 329 170 pd sequencer-stuff; +#X text 327 192 open this for sequence helpers; +#X text 10 328 takes midi note pairs like; +#X msg 197 328 60 127; +#X obj 453 19 s-reverb~ [name]; +#N canvas 229 20 766 667 envelopes 0; +#X text 13 125 This is a quick little envelope of four fixed points. +Send in a number of milliseconds - outputs a signal in the shape of +the envelope.; +#X obj 15 19 s-microenv q; +#X obj 11 174 s-varenv; +#X text 11 275 this is a variable-size envelope filter. Send a number +of milliseconds into the left inlet and the envelope signal will be +sent out of the left outlet~ stretched over that number of milliseconds +\, and normalised. send a number to the right inlet and pairs of position/time +values will be sent out of the right inlet corresponding to the point +number you specify at the inlet.; +#X restore 179 208 pd envelopes; +#X text 178 229 open this to view the different types of envelopes +in this library.; +#X obj 196 473 s-adsynth~ [name]; +#X text 195 562 takes midi note pairs; +#X text 196 548 basic FM synthesis; +#X text 452 120 simple stereo reverb; +#X connect 12 0 13 0; +#X restore 7 136 pd all-abstractions; +#X text 6 102 open this; +#X obj 7 240 s-midimonitor; +#X text 6 118 for a list of abstractions; +#X obj 7 157 sssad/panel; diff --git a/s-303vcf~.pd b/s-303vcf~.pd new file mode 100644 index 0000000..cf1c8f9 --- /dev/null +++ b/s-303vcf~.pd @@ -0,0 +1,33 @@ +#N canvas 533 313 450 300 10; +#X obj 73 110 lop~; +#X obj 100 182 +~; +#X obj 114 161 *~; +#X obj 73 12 inlet~; +#X obj 101 232 outlet~; +#X obj 182 12 inlet; +#X obj 130 12 inlet; +#X obj 100 206 clip~ -0.8 0.8; +#X obj 179 113 * 0.75; +#X obj 130 42 mtof; +#X obj 56 147 *~ 0.8; +#X obj 182 42 / 5; +#X obj 114 110 vcf~; +#X obj 115 134 vcf~; +#X connect 0 0 10 0; +#X connect 1 0 7 0; +#X connect 2 0 1 1; +#X connect 3 0 0 0; +#X connect 3 0 12 0; +#X connect 5 0 11 0; +#X connect 6 0 9 0; +#X connect 7 0 4 0; +#X connect 8 0 2 1; +#X connect 8 0 13 2; +#X connect 9 0 0 1; +#X connect 9 0 12 1; +#X connect 9 0 13 1; +#X connect 10 0 1 0; +#X connect 11 0 8 0; +#X connect 11 0 12 2; +#X connect 12 0 13 0; +#X connect 13 0 2 0; diff --git a/s-303~.pd b/s-303~.pd new file mode 100644 index 0000000..af913fc --- /dev/null +++ b/s-303~.pd @@ -0,0 +1,187 @@ +#N canvas 181 249 765 420 10; +#X obj 248 9 inlet note; +#X obj 324 9 inlet nextnote; +#X obj 514 9 inlet accent; +#X obj 429 9 inlet slide; +#X obj 150 308 s-303vcf~; +#X obj 149 351 *~; +#X obj 414 225 *~ 2; +#X obj 150 126 phasor~ 220; +#X obj 149 155 *~; +#X obj 211 260 +; +#X obj 415 95 *; +#X obj 305 208 * 3; +#X obj 425 200 *; +#X obj 174 280 +; +#X obj 149 390 outlet~; +#N canvas 266 146 695 534 303note 0; +#X obj 43 23 inlet; +#X obj 265 24 inlet; +#X obj 413 31 inlet; +#X text 26 2 current note; +#X text 261 5 next note; +#X text 412 10 slide; +#X obj 36 489 outlet~; +#X obj 41 144 mtof; +#X obj 232 144 mtof; +#X obj 50 211 pack 0 0; +#X obj 195 230 f; +#X obj 195 255 pack 0 30; +#X obj 205 204 delay 20; +#X obj 78 366 line~; +#X obj 232 166 t b f; +#X obj 305 163 / 6; +#X obj 147 284 spigot; +#X obj 83 282 spigot; +#X obj 120 234 * -1; +#X obj 120 257 + 1; +#X obj 321 185 * 2; +#X obj 287 185 * 4; +#X obj 305 140 r \$2/ticksize; +#X connect 0 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 16 1; +#X connect 2 0 18 0; +#X connect 7 0 9 0; +#X connect 8 0 14 0; +#X connect 9 0 17 0; +#X connect 10 0 11 0; +#X connect 11 0 16 0; +#X connect 12 0 10 0; +#X connect 13 0 6 0; +#X connect 14 0 12 0; +#X connect 14 1 10 1; +#X connect 15 0 20 0; +#X connect 15 0 21 0; +#X connect 16 0 13 0; +#X connect 17 0 13 0; +#X connect 18 0 19 0; +#X connect 19 0 17 1; +#X connect 20 0 11 1; +#X connect 21 0 12 1; +#X connect 22 0 15 0; +#X restore 149 94 pd 303note; +#X obj 267 233 clip 0 127; +#X obj 273 255 clip 0 127; +#X obj 579 369 outlet~ envelope-sig; +#X obj 454 369 outlet envelope; +#X obj 11 29 hsl 64 16 0 127 0 1 \$0/cutoff \$1/cutoff cutoff -2 -6 +0 8 -260818 -1 -1 0 1; +#X obj 178 157 r \$0/cutoff; +#X obj 214 180 r \$0/resonance; +#X obj 11 59 hsl 64 16 0 127 0 1 \$0/resonance \$1/resonance resonance +-2 -6 0 8 -260818 -1 -1 775 1; +#X obj 441 173 r \$0/envmod; +#N canvas 0 18 999 671 envelope 0; +#X obj 330 30 inlet; +#X text 327 7 decay; +#X obj 133 258 line~; +#X obj 330 127 / 127; +#X obj 173 153 *; +#X obj 242 188 *; +#X obj 148 180 / 127; +#X obj 330 102 + 1; +#X obj 134 305 expr~ tan($v1) * cos($v1); +#X obj 97 258 line; +#X obj 131 402 outlet; +#X obj 50 402 outlet~; +#X obj 131 356 expr tan($f1) * cos($f1); +#X obj 86 130 t b b; +#X obj 97 166 1; +#X obj 22 163 + 1; +#X obj 51 371 *~; +#X obj 22 78 / 50; +#X obj 131 378 *; +#X obj 173 98 r \$2/ticksize; +#X obj 189 123 r \$2/ticksperbeat; +#X obj 22 27 inlet acent; +#X obj 106 27 inlet trigger; +#X obj 159 228 pack 0 200; +#X obj 159 206 delay 200; +#X obj 83 226 pack f 200; +#X obj 106 51 select 1; +#X connect 0 0 7 0; +#X connect 2 0 8 0; +#X connect 3 0 5 0; +#X connect 4 0 5 1; +#X connect 4 0 6 0; +#X connect 5 0 23 1; +#X connect 6 0 24 1; +#X connect 6 0 25 1; +#X connect 7 0 3 0; +#X connect 8 0 16 0; +#X connect 9 0 12 0; +#X connect 12 0 18 0; +#X connect 13 0 24 0; +#X connect 13 1 14 0; +#X connect 14 0 25 0; +#X connect 15 0 16 1; +#X connect 15 0 18 1; +#X connect 16 0 11 0; +#X connect 17 0 15 0; +#X connect 18 0 10 0; +#X connect 19 0 4 0; +#X connect 20 0 4 1; +#X connect 21 0 17 0; +#X connect 22 0 26 0; +#X connect 23 0 2 0; +#X connect 23 0 9 0; +#X connect 24 0 23 0; +#X connect 25 0 2 0; +#X connect 25 0 9 0; +#X connect 26 0 13 0; +#X restore 415 137 pd envelope; +#X obj 10 90 hsl 64 16 0 127 0 1 \$0/envmod \$1/envmod envmod -2 -6 +0 8 -260818 -1 -1 3875 1; +#X obj 9 121 hsl 64 16 0 127 0 1 \$0/decay \$1/decay decay -2 -6 0 +8 -260818 -1 -1 5500 1; +#X obj 8 153 hsl 64 16 0 127 0 1 \$0/accent \$1/accent accent -2 -6 +0 8 -260818 -1 -1 6300 1; +#X obj 431 67 r \$0/accent; +#X obj 487 113 r \$0/decay; +#X obj 170 202 t b f; +#X obj 214 205 t b f; +#X obj 142 32 s \$0/trigger; +#X obj 237 126 r \$0/trigger; +#X obj 451 90 r \$0/trigger; +#X obj 142 9 inlet trigger; +#X obj 533 150 sssad/auto \$0/cutoff \$1/cutoff; +#X obj 533 173 sssad/auto \$0/resonance \$1/resonance; +#X obj 533 196 sssad/auto \$0/envmod \$1/envmod; +#X obj 533 219 sssad/auto \$0/decay \$1/decay; +#X obj 533 243 sssad/auto \$0/accent \$1/accent; +#X connect 0 0 15 0; +#X connect 1 0 15 1; +#X connect 2 0 10 0; +#X connect 3 0 15 2; +#X connect 4 0 5 0; +#X connect 5 0 14 0; +#X connect 6 0 5 1; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 9 0 4 2; +#X connect 10 0 25 0; +#X connect 11 0 16 0; +#X connect 12 0 17 0; +#X connect 13 0 4 1; +#X connect 15 0 7 0; +#X connect 16 0 9 0; +#X connect 17 0 13 0; +#X connect 21 0 31 0; +#X connect 22 0 32 0; +#X connect 24 0 12 1; +#X connect 25 0 6 0; +#X connect 25 0 18 0; +#X connect 25 1 11 0; +#X connect 25 1 12 0; +#X connect 25 1 19 0; +#X connect 29 0 10 1; +#X connect 30 0 25 2; +#X connect 31 0 13 0; +#X connect 31 1 13 1; +#X connect 32 0 9 0; +#X connect 32 1 9 1; +#X connect 34 0 8 1; +#X connect 35 0 25 1; +#X connect 36 0 33 0; +#X coords 0 -1 1 1 120 180 1 0 0; diff --git a/s-adsynth~.pd b/s-adsynth~.pd new file mode 100644 index 0000000..65b5068 --- /dev/null +++ b/s-adsynth~.pd @@ -0,0 +1,48 @@ +#N canvas 269 139 580 496 10; +#X obj 177 282 osc~; +#X obj 177 255 +~; +#X obj 177 169 osc~; +#X obj 277 196 mtof; +#X obj 177 146 mtof; +#X obj 178 312 *~; +#X obj 6 53 nbx 5 14 0 127 0 1 \$0/modamp \$1/modamp modamp 0 -6 0 +8 -260818 -1 -1 44 256; +#X obj 5 26 nbx 5 14 0 127 0 1 \$0/modshift \$1/modshift modshift 0 +-6 0 8 -260818 -1 -1 52 256; +#X obj 134 26 s-miditrigger; +#X obj 134 2 inlet; +#X obj 177 336 outlet~; +#X obj 215 176 mtof; +#X obj 178 197 *~ 440; +#X obj 177 123 + 0; +#X obj 193 101 - 64; +#X msg 144 100 bang; +#X obj 193 74 t b f; +#X obj 213 282 line~; +#X obj 213 260 pack f 3; +#X obj 319 8 sssad/auto \$0/modshift \$1/modshift; +#X obj 319 29 sssad/auto \$0/modamp \$1/modamp; +#X obj 193 50 r \$0/modshift; +#X obj 215 154 r \$0/modamp; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 2 0 12 0; +#X connect 3 0 1 1; +#X connect 4 0 2 0; +#X connect 5 0 10 0; +#X connect 8 1 3 0; +#X connect 8 1 13 0; +#X connect 8 2 18 0; +#X connect 9 0 8 0; +#X connect 11 0 12 1; +#X connect 12 0 1 0; +#X connect 13 0 4 0; +#X connect 14 0 13 1; +#X connect 15 0 13 0; +#X connect 16 0 15 0; +#X connect 16 1 14 0; +#X connect 17 0 5 1; +#X connect 18 0 17 0; +#X connect 21 0 16 0; +#X connect 22 0 11 0; +#X coords 0 -1 1 1 85 70 1 1 1; diff --git a/s-arranger-help.pd b/s-arranger-help.pd new file mode 100644 index 0000000..1579340 --- /dev/null +++ b/s-arranger-help.pd @@ -0,0 +1,47 @@ +#N struct 1236rect float x float y float w float x0 float y0 float +t; +#N struct 1236cursor float x; +#N struct 1236lines float x; +#N canvas 23 142 951 464 10; +#X floatatom 9 91 5 0 0 0 - - -; +#X obj 763 116 sssad/datastore; +#N canvas 23 85 835 601 datastore 0; +#X obj 10 10 r SSSADDATA; +#X msg 10 30 \; SSSAD blah/blocks 178 29 4 3 52 48 3 2 144 108 3 3 +104 52 3 1 97 32 0 2 48 0 3 1 20 0 0 1 37 8 1 2 110 24 2 6 \; SSSAD_ADMIN +set \;; +#X connect 0 0 1 0; +#X restore 763 182 pd datastore; +#X obj 9 42 metro 100; +#X obj 9 64 f; +#X obj 38 64 + 1; +#X obj 9 21 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1; +#X msg 39 21 0; +#X floatatom 9 380 5 0 0 0 - - -; +#X floatatom 29 399 5 0 0 0 - - -; +#X floatatom 49 380 5 0 0 0 - - -; +#X floatatom 69 399 5 0 0 0 - - -; +#X floatatom 89 380 5 0 0 0 - - -; +#X obj 9 346 route 0 1 2 3 4; +#X text 137 10 You can arrange parts of your tune using this simple +mechanism. Each 'track' down the left hand side will output the number +of the block that is currently being traversed \, or zero if there +is none. Add blocks or clear all blocks using the buttons at the bottom. +; +#X text 136 81 args: [name] [length of the arrangement] [distance between +grey markers] [ticker name] [ticks per bar]; +#X obj 9 115 s-arranger blah 200 4 time/tick 16; +#X text 770 36 Click load!; +#X connect 0 0 16 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 0 0 0; +#X connect 5 0 4 1; +#X connect 6 0 3 0; +#X connect 7 0 4 1; +#X connect 13 0 8 0; +#X connect 13 1 9 0; +#X connect 13 2 10 0; +#X connect 13 3 11 0; +#X connect 13 4 12 0; +#X connect 16 0 13 0; diff --git a/s-arranger.pd b/s-arranger.pd new file mode 100644 index 0000000..3cb314e --- /dev/null +++ b/s-arranger.pd @@ -0,0 +1,380 @@ +#N struct 1314cursor float x; +#N canvas 0 16 999 675 10; +#X text 6 627 template definition:; +#X obj 72 205 bng 12 250 50 0 \$0new empty add_block 16 9 0 8 -260818 +-1 -1; +#N canvas 134 279 506 489 1314data 0; +#X scalar 1314cursor 0 \;; +#X coords 0 -1 770 180 770 180 1; +#X restore 19 22 pd \$0data; +#X obj 19 205 bng 12 250 50 0 \$0clear empty clear 16 9 0 8 -260818 +-1 -1; +#X text 8 40 1; +#X text 8 50 2; +#X text 8 60 3; +#X text 8 70 4; +#X text 8 30 0; +#X text 8 80 5; +#X text 8 90 6; +#X text 8 100 7; +#X text 8 110 8; +#X text 8 120 9; +#X text 8 130 A; +#X text 8 140 B; +#X text 8 150 C; +#X text 8 160 D; +#X text 8 170 E; +#X text 8 180 F; +#N canvas 67 68 640 606 1314lines 0; +#X obj 7 7 struct \$0lines float x; +#X obj 423 397 pointer; +#X obj 316 174 t b b; +#X obj 346 196 \$0; +#X obj 346 218 makefilename pd-%ddata; +#X msg 423 374 traverse \$1 \, bang; +#X msg 529 218 \; \$1 clear \;; +#X obj 529 174 \$0; +#X obj 529 196 makefilename pd-%ddata; +#X text 527 151 clear the data; +#X obj 294 78 loadbang; +#X obj 316 333 until; +#X obj 316 354 f; +#X obj 347 354 + 1; +#X obj 316 266 t b b; +#X obj 346 288 0; +#X obj 316 423 append \$0lines x; +#X obj 358 78 r \$0clear; +#X obj 7 27 drawpolygon 333 1 8 11 8 170; +#X obj 153 263 pointer; +#X obj 39 168 t b b; +#X obj 69 190 \$0; +#X obj 69 212 makefilename pd-%ddata; +#X msg 153 240 traverse \$1 \, bang; +#X obj 39 286 append \$0cursor x; +#X msg 39 241 0; +#X text 36 134 create the cursor; +#X obj 294 117 t b b b; +#X text 320 155 create the lines; +#X obj 316 288 \$2; +#X obj 316 310 / \$3; +#X obj 316 376 * 3; +#X obj 316 397 * \$3; +#X obj 39 309 s \$0cursorp; +#X connect 1 0 16 1; +#X connect 2 0 14 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 10 0 27 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 12 0 31 0; +#X connect 13 0 12 1; +#X connect 14 0 29 0; +#X connect 14 1 15 0; +#X connect 15 0 12 1; +#X connect 17 0 27 0; +#X connect 19 0 24 1; +#X connect 20 0 25 0; +#X connect 20 1 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 19 0; +#X connect 24 0 33 0; +#X connect 25 0 24 0; +#X connect 27 0 20 0; +#X connect 27 1 2 0; +#X connect 27 2 7 0; +#X connect 29 0 30 0; +#X connect 30 0 11 0; +#X connect 31 0 32 0; +#X connect 32 0 16 0; +#X restore 79 647 pd \$0lines; +#N canvas 382 73 583 576 1314rect 0; +#X obj 126 529 pointer; +#X obj 12 433 t b b; +#X text 438 55 main bar; +#X text 438 93 end: red; +#X text 439 129 begin: black; +#X obj 12 410 r \$0new; +#X obj 42 455 \$0; +#X obj 42 477 makefilename pd-%ddata; +#X msg 126 506 traverse \$1 \, bang; +#X obj 285 412 r \$0clear; +#X msg 285 479 \; \$1 clear \;; +#X obj 285 435 \$0; +#X obj 285 457 makefilename pd-%ddata; +#X text 284 393 clear the data; +#X text 10 393 create a new block; +#X obj 7 9 struct \$0rect float x float y float w float x0 float y0 +float t; +#X obj 12 559 append \$0rect x y w t; +#X msg 12 535 10 10 20 1; +#X obj 7 42 filledpolygon 777 0 1 x0(0:300)(0:900)(1) y0(0:15)(0:150)(1) +w(0:300)(0:900)(1) y0(0:15)(0:150)(1) w(0:300)(0:900)(1) y0(0:15)(10:160)(1) +x0(0:300)(0:900)(1) y0(0:15)(10:160)(1); +#X obj 7 101 drawpolygon 900 5 w(0:300)(0:900)(1) y0(0:15)(0:150)(1) +w(0:300)(0:900)(1) y0(0:15)(11:161)(1); +#X obj 7 134 drawpolygon 0 5 x0(0:300)(0:900)(1) y0(0:15)(0:150)(1) +x0(0:300)(0:900)(1) y0(0:15)(11:161)(1); +#X obj 7 167 drawnumber t(0:20)(0:20) x0(0:300)(10:910)(1) y0(0:15)(0:150)(1) +; +#X connect 0 0 16 4; +#X connect 1 0 17 0; +#X connect 1 1 6 0; +#X connect 5 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 0 0; +#X connect 9 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 10 0; +#X connect 17 0 16 0; +#X restore 8 647 pd \$0rect; +#N canvas 67 68 640 606 1314cursor 0; +#X obj 7 27 drawpolygon 900 1 8 11 8 170; +#X obj 7 7 struct \$0cursor float x; +#X restore 157 647 pd \$0cursor; +#X obj 4 256 inlet; +#X obj 373 647 namecanvas \$0arranger; +#N canvas 43 35 764 635 setup 0; +#X obj 109 326 pack f s; +#X obj 160 280 \$0; +#X obj 109 256 t f b; +#X msg 109 349 \; \$2 obj 20 23 cnv 15 \$1 178 empty empty empty 20 +12 0 14 -260818 -66577 0 \;; +#X obj 160 303 makefilename %darranger; +#X obj 131 187 pack f s; +#X obj 182 140 \$0; +#X obj 131 117 t f b; +#X obj 182 163 makefilename pd-%ddata; +#X msg 131 212 \; \$2 donecanvasdialog 1 -1 1 0 -1 \$1 180 \$1 180 +25 40; +#X obj 131 93 + 2; +#X obj 87 71 t f f f; +#X obj 87 427 pack f s; +#X msg 87 450 \; \$2 donecanvasdialog 1 -1 1 0 -1 \$1 220 \$1 220 0 +0; +#X obj 87 25 s-default \$2 256; +#X obj 87 47 * 3; +#X obj 87 402 + 28; +#X connect 0 0 3 0; +#X connect 1 0 4 0; +#X connect 2 0 0 0; +#X connect 2 1 1 0; +#X connect 4 0 0 1; +#X connect 4 0 12 1; +#X connect 5 0 9 0; +#X connect 6 0 8 0; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 5 1; +#X connect 10 0 7 0; +#X connect 11 0 16 0; +#X connect 11 1 2 0; +#X connect 11 2 10 0; +#X connect 12 0 13 0; +#X connect 14 0 15 0; +#X connect 15 0 11 0; +#X connect 16 0 12 0; +#X restore 7 601 pd setup; +#X text 2 223 args: [name] [length] [bars per section] [ticker name] +[ticks per bar]; +#X obj 47 256 r \$4; +#X obj 4 379 int; +#X obj 4 401 change; +#X obj 4 356 /; +#X obj 141 508 r \$0cursorp; +#X obj 97 531 pointer; +#X obj 4 554 set \$0cursor x; +#X obj 4 514 * 3; +#X obj 20 335 s-default \$5 \$3; +#N canvas 485 99 507 438 save 0; +#X obj 176 16 r SSSAD_SAVE; +#X obj 214 199 until; +#X obj 172 338 list prepend; +#X obj 265 338 t l; +#X obj 149 367 list; +#X obj 176 41 t b b b b; +#X msg 214 112 traverse \$1 \, next; +#X obj 214 68 \$0; +#X obj 214 91 makefilename pd-%ddata; +#X obj 7 415 outlet; +#X obj 214 135 pointer \$0rect; +#X obj 274 260 get \$0rect w x0 y0 t; +#X obj 274 290 pack f f f f; +#X msg 294 186 next; +#X obj 7 394 sssad/sssad \$1/blocks; +#X obj 214 160 t b p; +#X connect 0 0 5 0; +#X connect 1 0 13 0; +#X connect 2 0 3 0; +#X connect 2 0 4 1; +#X connect 3 0 2 1; +#X connect 4 0 14 1; +#X connect 5 0 4 0; +#X connect 5 2 7 0; +#X connect 5 3 2 1; +#X connect 6 0 10 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 10 0 15 0; +#X connect 10 2 1 1; +#X connect 11 0 12 0; +#X connect 11 1 12 1; +#X connect 11 2 12 2; +#X connect 11 3 12 3; +#X connect 12 0 2 0; +#X connect 13 0 10 0; +#X connect 14 0 9 0; +#X connect 15 0 1 0; +#X connect 15 1 11 0; +#X restore 278 623 pd save; +#N canvas 64 35 650 643 load 0; +#X obj 21 6 inlet; +#X obj 21 65 until; +#X obj 21 103 list append; +#X obj 120 148 bang; +#X obj 205 202 \$0; +#X obj 205 225 makefilename pd-%ddata; +#X obj 21 32 t b l b b; +#X obj 21 148 list split 4; +#X obj 152 78 \$0; +#X msg 205 246 traverse \$1 \, bang; +#X obj 205 269 pointer; +#X obj 21 381 append \$0rect w x0 y0 t x y; +#X msg 127 292 10; +#X obj 21 186 t l b; +#X obj 21 292 unpack f f f f; +#X msg 152 99 \; \$1clear bang \;; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 7 0; +#X connect 3 0 1 1; +#X connect 4 0 5 0; +#X connect 5 0 9 0; +#X connect 6 0 1 0; +#X connect 6 1 2 1; +#X connect 6 2 4 0; +#X connect 6 3 8 0; +#X connect 7 0 13 0; +#X connect 7 1 2 1; +#X connect 7 2 3 0; +#X connect 8 0 15 0; +#X connect 9 0 10 0; +#X connect 10 0 11 6; +#X connect 12 0 11 5; +#X connect 12 0 11 4; +#X connect 13 0 14 0; +#X connect 13 1 12 0; +#X connect 14 0 11 0; +#X connect 14 1 11 1; +#X connect 14 2 11 2; +#X connect 14 3 11 3; +#X restore 278 647 pd load; +#X obj 4 448 t f b f; +#N canvas 274 37 621 620 lookup 0; +#X obj 12 7 inlet; +#X obj 69 539 outlet; +#X obj 74 274 until; +#X msg 74 187 traverse \$1 \, next; +#X obj 74 143 \$0; +#X obj 74 166 makefilename pd-%ddata; +#X obj 74 210 pointer \$0rect; +#X obj 115 302 get \$0rect w x0 y0 t; +#X msg 162 262 next; +#X obj 74 235 t b p; +#X obj 349 189 f; +#X obj 294 374 &&; +#X obj 294 398 select 1; +#X obj 294 347 >=; +#X obj 364 346 <=; +#X obj 198 572 tabwrite \$0vals; +#X text 409 6 Temporary storage for values; +#X obj 412 28 table \$0vals 16; +#X obj 104 105 \$0; +#X msg 104 130 \; \$1vals const 0 \;; +#X obj 55 51 t b b b f; +#X obj 69 397 until; +#X obj 99 475 tabread \$0vals; +#X msg 69 375 16; +#X msg 99 375 0; +#X obj 69 419 f; +#X obj 97 419 + 1; +#X obj 55 337 t b b b; +#X obj 230 445 pack f f; +#X obj 207 475 list; +#X obj 207 500 unpack f f; +#X obj 224 548 f; +#X obj 207 522 t b f; +#X obj 69 448 t f f; +#X obj 69 507 pack f f; +#X connect 0 0 20 0; +#X connect 2 0 8 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 6 0 9 0; +#X connect 6 2 2 1; +#X connect 7 0 13 0; +#X connect 7 1 14 0; +#X connect 7 2 28 0; +#X connect 7 3 28 1; +#X connect 8 0 6 0; +#X connect 9 0 2 0; +#X connect 9 1 7 0; +#X connect 10 0 13 1; +#X connect 10 0 14 1; +#X connect 11 0 12 0; +#X connect 12 0 29 0; +#X connect 13 0 11 0; +#X connect 14 0 11 1; +#X connect 18 0 19 0; +#X connect 20 0 27 0; +#X connect 20 1 4 0; +#X connect 20 2 18 0; +#X connect 20 3 10 0; +#X connect 21 0 25 0; +#X connect 22 0 34 1; +#X connect 23 0 21 0; +#X connect 24 0 25 1; +#X connect 25 0 26 0; +#X connect 25 0 33 0; +#X connect 26 0 25 1; +#X connect 27 1 23 0; +#X connect 27 2 24 0; +#X connect 28 0 29 1; +#X connect 29 0 30 0; +#X connect 30 0 32 0; +#X connect 30 1 31 1; +#X connect 31 0 15 0; +#X connect 32 0 31 0; +#X connect 32 1 15 1; +#X connect 33 0 34 0; +#X connect 33 1 22 0; +#X connect 34 0 1 0; +#X restore 228 484 pd lookup; +#X obj 228 508 outlet; +#X obj 4 424 mod \$2; +#X text 694 653 inspired by FB's quantized sequencer demo!; +#X obj 279 508 s \$1/values; +#X connect 23 0 30 0; +#X connect 27 0 30 0; +#X connect 28 0 29 0; +#X connect 29 0 41 0; +#X connect 30 0 28 0; +#X connect 31 0 32 1; +#X connect 32 0 33 1; +#X connect 34 0 33 0; +#X connect 35 0 30 1; +#X connect 36 0 37 0; +#X connect 38 0 34 0; +#X connect 38 1 32 0; +#X connect 38 2 39 0; +#X connect 39 0 40 0; +#X connect 39 0 43 0; +#X connect 41 0 38 0; +#X coords 0 -1 796 220 796 220 1 0 0; diff --git a/s-autocompressor~.pd b/s-autocompressor~.pd new file mode 100644 index 0000000..64c3162 --- /dev/null +++ b/s-autocompressor~.pd @@ -0,0 +1,121 @@ +#N canvas 255 105 459 100 10; +#X obj 5 41 nbx 5 14 0 127 0 1 \$0/squelch \$1/squelch squelch 0 -8 +0 8 -260818 -1 -1 1 256; +#N canvas 177 92 646 523 fft-analysis 0; +#X obj 115 409 *~; +#X obj 75 409 *~; +#X obj 76 114 *~; +#X obj 77 88 inlet~; +#X obj 76 137 rfft~; +#X obj 75 466 *~; +#X obj 171 177 *~; +#X obj 75 432 rifft~; +#X obj 75 504 outlet~; +#X obj 137 177 *~; +#X obj 137 200 +~; +#X obj 461 85 block~ 1024 4; +#X obj 137 351 clip~; +#X obj 110 114 tabreceive~ \$0-hann; +#X obj 177 329 expr 0.01*$f1*$f1; +#X obj 137 381 *~ 0.00065; +#X obj 137 225 +~ 1e-20; +#X obj 136 262 q8_rsqrt~; +#X obj 109 466 tabreceive~ \$0-hann; +#X text 211 174 squared magnitude; +#X text 219 225 protect against divide-by-zero; +#X text 223 261 quick 8-bit-accurate reciprocal square root; +#X text 222 277 (done by table lookup - about 0.25% accurate); +#X text 193 351 limit the gain to squelch*squelch/100; +#X text 238 381 normalize for 1024-point \, overlap-4 Hann; +#X text 151 409 multiply gain by real and complex part; +#X text 152 429 of the amplitude; +#X text 130 137 outputs complex amplitudes; +#X text 31 5 This is Miller's compressor. Any mistakes are my own. +; +#X obj 177 306 r \$0/squelch; +#X msg 461 129 \; window-size 1024 \;; +#X obj 461 107 loadbang; +#X obj 75 485 *~ 32; +#X connect 0 0 7 1; +#X connect 1 0 7 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 9 0; +#X connect 4 0 9 1; +#X connect 4 0 1 0; +#X connect 4 1 6 0; +#X connect 4 1 6 1; +#X connect 4 1 0 0; +#X connect 5 0 32 0; +#X connect 6 0 10 1; +#X connect 7 0 5 0; +#X connect 9 0 10 0; +#X connect 10 0 16 0; +#X connect 12 0 15 0; +#X connect 13 0 2 1; +#X connect 14 0 12 2; +#X connect 15 0 0 1; +#X connect 15 0 1 1; +#X connect 16 0 17 0; +#X connect 17 0 12 0; +#X connect 18 0 5 1; +#X connect 29 0 14 0; +#X connect 31 0 30 0; +#X connect 32 0 8 0; +#X restore 92 22 pd fft-analysis; +#N canvas 0 110 565 454 hann-window 0; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0-hann 1024 float 0; +#X coords 0 1 1023 0 300 100 1; +#X restore 82 311 graph; +#X obj 378 165 osc~; +#X obj 378 190 *~ -0.5; +#X obj 378 214 +~ 0.5; +#X obj 331 247 tabwrite~ \$0-hann; +#X obj 37 88 r window-size; +#X obj 38 173 /; +#X obj 127 142 samplerate~; +#X obj 38 251 s window-sec; +#X obj 177 204 swap; +#X obj 177 228 /; +#X obj 177 252 s window-hz; +#X obj 49 201 * 1000; +#X obj 49 228 s window-msec; +#X obj 38 115 t f b f; +#X msg 173 92 resize \$1; +#X obj 173 116 s \$0-hann; +#X obj 330 105 r window-hz; +#X msg 382 130 0; +#X obj 330 131 t f b; +#X text 15 8 calculate Hann window table (variable window size) and +constants window-hz (fundamental frequency of analysis) \, window-sec +and window-msec (analysis window size in seconds and msec).; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 5 0 14 0; +#X connect 6 0 8 0; +#X connect 6 0 12 0; +#X connect 7 0 6 1; +#X connect 7 0 9 1; +#X connect 9 0 10 0; +#X connect 9 1 10 1; +#X connect 10 0 11 0; +#X connect 12 0 13 0; +#X connect 14 0 6 0; +#X connect 14 0 9 0; +#X connect 14 1 7 0; +#X connect 14 2 15 0; +#X connect 15 0 16 0; +#X connect 17 0 19 0; +#X connect 18 0 1 1; +#X connect 19 0 1 0; +#X connect 19 1 4 0; +#X connect 19 1 18 0; +#X restore 335 44 pd hann-window; +#X obj 92 1 inlet~; +#X obj 92 43 outlet~; +#X obj 209 22 sssad/auto \$0/squelch \$1/squelch; +#X connect 1 0 4 0; +#X connect 3 0 1 0; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/s-bassdrum~.pd b/s-bassdrum~.pd new file mode 100644 index 0000000..2ea0661 --- /dev/null +++ b/s-bassdrum~.pd @@ -0,0 +1,65 @@ +#N canvas 334 77 605 560 10; +#X obj 141 20 inlet; +#X msg 341 91 0; +#X msg 403 68 1; +#X obj 373 42 t b b; +#X obj 373 125 vcf~; +#X obj 373 267 outlet~; +#X obj 443 68 mtof~; +#X obj 178 85 s \$0-volume; +#X obj 26 47 nbx 3 14 0 127 0 1 \$0-note \$0-note note 0 -6 0 8 -260818 +-1 -1 40 256; +#X obj 75 47 bng 14 250 50 0 \$0-shot \$0-shot shot 0 -6 0 8 -260818 +-1 -1; +#X obj 443 43 r \$0-note; +#X obj 28 76 hsl 64 16 0 127 0 1 \$0-ring \$0-ring ring -2 -6 0 8 -260818 +-1 -1 4961 1; +#X obj 500 67 r \$0-ring; +#X obj 373 20 r \$0-shot; +#X obj 373 243 *~; +#X obj 418 125 r \$0-volume; +#X obj 418 146 / 64; +#X obj 171 106 s \$0-note; +#X obj 141 64 t b f; +#X obj 141 127 s \$0-shot; +#X obj 8 155 s-connect \$1-note \$0-note; +#X obj 8 176 s-connect \$1-shot \$0-shot; +#X obj 8 197 s-connect \$1-ring \$0-ring; +#X obj 8 218 s-connect \$1-volume \$0-volume; +#X obj 28 107 hsl 64 16 0 127 0 1 \$0-volume \$0-volume volume -2 -6 +0 8 -260818 -1 -1 3175 1; +#X obj 341 68 delay 10; +#X obj 418 210 *; +#X obj 455 146 r \$0-ring; +#X obj 430 169 t b f; +#X obj 141 42 unpack; +#X obj 120 317 sssad/auto \$0-ring \$1-ring; +#X obj 121 339 sssad/auto \$0-volume \$1-volume; +#X obj 121 363 sssad/auto \$0-note \$1-note; +#X obj 8 431 s-connect \$1/note \$0-note; +#X obj 8 452 s-connect \$1/shot \$0-shot; +#X obj 8 473 s-connect \$1/ring \$0-ring; +#X obj 8 494 s-connect \$1/volume \$0-volume; +#X connect 0 0 29 0; +#X connect 1 0 4 0; +#X connect 2 0 4 0; +#X connect 3 0 25 0; +#X connect 3 1 2 0; +#X connect 4 0 14 0; +#X connect 6 0 4 1; +#X connect 10 0 6 0; +#X connect 12 0 4 2; +#X connect 13 0 3 0; +#X connect 14 0 5 0; +#X connect 15 0 16 0; +#X connect 16 0 26 0; +#X connect 18 0 19 0; +#X connect 18 1 17 0; +#X connect 25 0 1 0; +#X connect 26 0 14 1; +#X connect 27 0 28 0; +#X connect 28 0 26 0; +#X connect 28 1 26 1; +#X connect 29 0 18 0; +#X connect 29 1 7 0; +#X coords 0 -1 1 1 85 108 1 20 20; diff --git a/s-beat-help.pd b/s-beat-help.pd new file mode 100644 index 0000000..c936101 --- /dev/null +++ b/s-beat-help.pd @@ -0,0 +1,32 @@ +#N struct 1318template float x array 1318arrayvals 1318arraytemplate +; +#N struct 1318arraytemplate float x; +#N canvas 14 21 450 300 10; +#X obj 33 175 s-beat nubeat; +#X floatatom 33 222 5 0 0 0 - - -; +#X floatatom 33 153 5 0 0 0 - - -; +#X obj 33 106 metro; +#X obj 33 130 f; +#X obj 70 131 + 1; +#X msg 33 61 600; +#X obj 33 85 t b f; +#X msg 226 153 nubeat/beatsize \$1; +#X text 30 12 add some points to the beat as per the instructions below +; +#X text 31 36 then bang here to start with 600ms beats; +#X msg 91 85 0; +#X text 124 84 reset beat to zero; +#X text 86 223 hold down the ctrl key to add/delete tick points; +#X obj 340 58 sssad/panel; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 0 2 0; +#X connect 5 0 4 1; +#X connect 6 0 7 0; +#X connect 7 0 3 0; +#X connect 7 1 3 1; +#X connect 7 1 8 0; +#X connect 8 0 0 1; +#X connect 11 0 4 1; diff --git a/s-beat.pd b/s-beat.pd new file mode 100644 index 0000000..a34980b --- /dev/null +++ b/s-beat.pd @@ -0,0 +1,280 @@ +#N struct 1287template float x array 1287arrayvals 1287arraytemplate +; +#N struct 1287arraytemplate float x; +#N canvas 260 24 721 668 10; +#N canvas 0 16 999 675 1287data 0; +#X scalar 1287template 0 \; 0 \; \;; +#X coords 0 0 192 16 192 16 1; +#X restore 4 18 pd \$0data; +#N canvas 183 252 599 314 1287template 0; +#X obj 17 53 struct \$0template float x array \$0arrayvals \$0arraytemplate +; +#X obj 17 74 print; +#X obj 17 30 plot -x x(0:189)(0:189) \$0arrayvals 0 0 0 0 0; +#X connect 0 0 1 0; +#X restore 236 36 pd \$0template; +#N canvas 435 201 450 300 1287arraytemplate 0; +#X obj 24 65 print; +#X obj 24 43 struct \$0arraytemplate float x; +#X obj 24 22 filledpolygon 333 333 1 0 2 2 2 2 6 0 6 0 14; +#X connect 1 0 0 0; +#X restore 236 13 pd \$0arraytemplate; +#N canvas 0 0 439 363 initarray 0; +#X obj 163 211 pointer; +#X text 186 35 click here to re-initialize; +#X msg 300 176 \; \$1 clear; +#X obj 163 96 \$0; +#X msg 163 188 traverse \$1 \, bang; +#X obj 163 119 makefilename pd-%ddata; +#X obj 35 251 append \$0template x; +#X msg 35 219 0; +#X obj 133 12 loadbang; +#X obj 133 72 t b b b; +#X obj 68 114 outlet; +#X obj 163 140 t s s; +#X obj 77 9 inlet; +#X connect 0 0 6 1; +#X connect 3 0 5 0; +#X connect 4 0 0 0; +#X connect 5 0 11 0; +#X connect 7 0 6 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 7 0; +#X connect 9 2 3 0; +#X connect 11 0 4 0; +#X connect 11 1 2 0; +#X connect 12 0 9 0; +#X restore 415 69 pd initarray; +#X obj 415 182 pointer; +#X obj 453 253 setsize \$0template \$0arrayvals; +#X msg 415 159 traverse \$1 \, next; +#X obj 415 115 \$0; +#X obj 415 138 makefilename pd-%ddata; +#X obj 415 91 delay 10; +#X obj 357 391 inlet; +#X text 20 391 this is how long you want the envelope to take.; +#X text 414 7 args: [name] [number of points]; +#X obj 415 391 t p p; +#X obj 453 229 1; +#N canvas 343 66 484 592 envgen 0; +#X obj 102 260 element \$0template \$0arrayvals; +#X obj 171 400 *; +#X obj 102 145 f; +#X obj 130 145 + 1; +#X msg 102 95 0; +#X obj 171 469 t b f; +#X obj 242 538 delay; +#X obj 242 559 s \$0-loop; +#X obj 23 102 r \$0-loop; +#X obj 102 238 spigot; +#X obj 171 358 - 3; +#X obj 171 378 / 186; +#X obj 171 422 t f f; +#X obj 171 446 -; +#X obj 175 154 getsize \$0template \$0arrayvals; +#X obj 102 3 inlet; +#X obj 307 235 inlet; +#X obj 102 30 t b f b; +#X obj 175 132 pointer; +#X msg 175 109 traverse \$1 \, next; +#X obj 175 65 \$0; +#X obj 175 88 makefilename pd-%ddata; +#X msg 222 421 0; +#X obj 168 239 select 0; +#X text 333 319 redraw; +#X obj 102 281 t p p; +#X obj 102 314 get \$0arraytemplate x; +#X obj 290 339 set \$0arraytemplate x; +#X obj 102 169 t f f f; +#X obj 171 492 f; +#X obj 170 576 outlet; +#X obj 170 536 - 1; +#X obj 111 487 *; +#X obj 175 175 t f f; +#X obj 132 213 <= 1; +#X obj 170 555 +; +#X obj 221 377 r \$0-beatsize; +#X obj 171 512 select 0; +#X connect 0 0 25 0; +#X connect 1 0 12 0; +#X connect 2 0 3 0; +#X connect 2 0 28 0; +#X connect 3 0 2 1; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 5 0 29 0; +#X connect 5 1 6 1; +#X connect 6 0 7 0; +#X connect 8 0 2 0; +#X connect 9 0 0 0; +#X connect 10 0 11 0; +#X connect 11 0 1 0; +#X connect 12 0 13 1; +#X connect 12 1 13 0; +#X connect 13 0 5 0; +#X connect 14 0 33 0; +#X connect 15 0 17 0; +#X connect 16 0 0 1; +#X connect 17 0 4 0; +#X connect 17 1 32 0; +#X connect 17 2 20 0; +#X connect 18 0 14 0; +#X connect 19 0 18 0; +#X connect 20 0 21 0; +#X connect 21 0 19 0; +#X connect 22 0 13 1; +#X connect 23 0 22 0; +#X connect 25 0 26 0; +#X connect 25 1 27 1; +#X connect 26 0 10 0; +#X connect 26 0 27 0; +#X connect 28 0 9 0; +#X connect 28 1 34 0; +#X connect 28 2 29 1; +#X connect 29 0 37 0; +#X connect 31 0 35 0; +#X connect 32 0 35 1; +#X connect 33 0 34 1; +#X connect 33 1 32 1; +#X connect 34 0 9 1; +#X connect 34 0 23 0; +#X connect 35 0 30 0; +#X connect 36 0 1 1; +#X connect 37 1 31 0; +#X restore 357 416 pd envgen; +#X obj 456 329 element \$0template \$0arrayvals; +#X msg 456 306 0; +#X obj 415 206 t p p b p; +#N canvas 212 221 507 438 save 0; +#X obj 7 394 sssad/sssad \$1; +#X obj 57 11 r SSSAD_SAVE; +#X obj 76 239 element \$0template \$0arrayvals; +#X obj 76 217 f; +#X obj 104 217 + 1; +#X obj 76 194 until; +#X msg 113 172 0; +#X obj 53 333 list prepend; +#X obj 146 333 t l; +#X obj 30 362 list; +#X obj 57 36 t b b b b; +#X obj 281 217 inlet; +#X obj 76 127 pointer; +#X msg 76 104 traverse \$1 \, next; +#X obj 76 60 \$0; +#X obj 76 83 makefilename pd-%ddata; +#X obj 76 148 getsize \$0template \$0arrayvals; +#X obj 7 415 outlet; +#X obj 76 260 get \$0arraytemplate x; +#X connect 0 0 17 0; +#X connect 1 0 10 0; +#X connect 2 0 18 0; +#X connect 3 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X connect 6 0 3 1; +#X connect 7 0 8 0; +#X connect 7 0 9 1; +#X connect 8 0 7 1; +#X connect 9 0 0 1; +#X connect 10 0 9 0; +#X connect 10 1 14 0; +#X connect 10 2 6 0; +#X connect 10 3 7 1; +#X connect 11 0 2 1; +#X connect 12 0 16 0; +#X connect 13 0 12 0; +#X connect 14 0 15 0; +#X connect 15 0 13 0; +#X connect 16 0 5 0; +#X connect 18 0 7 0; +#X restore 445 416 pd save; +#N canvas 64 35 650 643 load 0; +#X obj 21 6 inlet; +#X obj 21 65 until; +#X obj 21 103 list append; +#X obj 120 148 bang; +#X obj 361 235 pointer; +#X obj 156 305 setsize \$0template \$0arrayvals; +#X msg 361 212 traverse \$1 \, next; +#X obj 361 168 \$0; +#X obj 361 191 makefilename pd-%ddata; +#X msg 172 126 0; +#X obj 156 232 f; +#X obj 185 232 + 1; +#X obj 21 32 t b l b b; +#X obj 183 342 element \$0template \$0arrayvals; +#X obj 156 258 t f f; +#X obj 186 281 + 1; +#X obj 27 389 set \$0arraytemplate x; +#X obj 21 148 list split 1; +#X obj 49 174 t f b; +#X connect 0 0 12 0; +#X connect 1 0 2 0; +#X connect 2 0 17 0; +#X connect 3 0 1 1; +#X connect 4 0 5 1; +#X connect 4 0 13 1; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 9 0 10 1; +#X connect 10 0 11 0; +#X connect 10 0 14 0; +#X connect 11 0 10 1; +#X connect 12 0 1 0; +#X connect 12 1 2 1; +#X connect 12 2 9 0; +#X connect 12 3 7 0; +#X connect 13 0 16 1; +#X connect 14 0 13 0; +#X connect 14 1 15 0; +#X connect 15 0 5 0; +#X connect 17 0 18 0; +#X connect 17 1 2 1; +#X connect 17 2 3 0; +#X connect 18 0 16 0; +#X connect 18 1 10 0; +#X restore 445 440 pd load; +#X msg 415 48 bang; +#X msg 314 330 0; +#X obj 5 19 cnv 15 190 15 empty empty empty 20 12 0 14 -260818 -66577 +0; +#X obj 314 356 set \$0arraytemplate x; +#X obj 434 282 t b b p; +#X obj 357 440 outlet; +#X obj 285 441 s \$1/tick; +#X obj 107 2 nbx 4 14 0 20000 0 0 \$0-beatsize \$0-beatsize beatsize +42 8 0 8 -260818 -1 -1 4000 256; +#X obj 25 92 s-connect \$1/beatsize \$0-beatsize; +#X obj 597 44 inlet; +#X obj 597 67 list; +#X msg 597 89 \; \$1 \$2 \;; +#X connect 3 0 9 0; +#X connect 4 0 18 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 9 0 7 0; +#X connect 10 0 15 0; +#X connect 13 0 15 1; +#X connect 13 1 19 0; +#X connect 14 0 5 0; +#X connect 15 0 26 0; +#X connect 15 0 27 0; +#X connect 16 0 24 1; +#X connect 17 0 16 0; +#X connect 18 0 13 0; +#X connect 18 1 25 0; +#X connect 18 2 14 0; +#X connect 18 3 5 1; +#X connect 19 0 20 0; +#X connect 21 0 3 0; +#X connect 22 0 24 0; +#X connect 25 0 22 0; +#X connect 25 1 17 0; +#X connect 25 2 16 1; +#X connect 30 0 31 0; +#X connect 31 0 32 0; +#X coords 0 -1 1 1 200 40 1 0 0; diff --git a/s-bitcrusher~.pd b/s-bitcrusher~.pd new file mode 100644 index 0000000..1a93b1f --- /dev/null +++ b/s-bitcrusher~.pd @@ -0,0 +1,22 @@ +#N canvas 137 66 476 483 10; +#X obj 146 345 samphold~; +#X obj 204 321 phasor~; +#X obj 5 29 nbx 3 16 0 127 0 1 \$0/bits \$1/bits bits 0 -6 0 8 -260818 +-1 -1 77 256; +#X obj 139 298 inlet~; +#X obj 134 379 outlet~; +#X obj 54 286 noise~; +#X obj 56 310 *~ 0.001; +#X obj 44 29 hsl 50 16 0 127 0 0 \$0/bits \$1/bits empty -2 -6 0 8 +-260818 -1 -1 3900 1; +#X obj 204 296 mtof; +#X obj 204 267 r \$0/bits; +#X obj 222 413 sssad/auto \$0/bits \$1/bits; +#X connect 0 0 4 0; +#X connect 1 0 0 1; +#X connect 3 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 8 0 1 0; +#X connect 9 0 8 0; +#X coords 0 0 1 1 100 50 1 0 0; diff --git a/s-boomdrum~.pd b/s-boomdrum~.pd new file mode 100644 index 0000000..6223456 --- /dev/null +++ b/s-boomdrum~.pd @@ -0,0 +1,45 @@ +#N canvas 296 69 653 600 10; +#X obj 99 210 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 99 166 t b b; +#X obj 84 460 s-ezdac~ out4; +#X obj 15 321 line~; +#X msg 65 257 1; +#X obj 83 432 *~; +#X obj 127 190 delay 10; +#X obj 15 225 pack 0 500; +#X floatatom 52 167 5 0 0 0 - - -; +#X obj 15 369 expr~ -ln(1 - $v1); +#X obj 99 232 s-filter~ bass; +#X obj 15 392 clip~ -10 10; +#X obj 441 336 inlet; +#X obj 441 359 unpack f f; +#X obj 441 381 t b f; +#X obj 441 486 s \$0-shot; +#X msg 441 464 bang; +#X obj 506 381 / 12; +#X obj 506 404 s \$0-vol; +#X obj 471 435 s \$0-cutoff; +#X connect 0 0 10 0; +#X connect 1 0 0 0; +#X connect 1 0 7 0; +#X connect 1 1 4 0; +#X connect 1 1 6 0; +#X connect 3 0 9 0; +#X connect 4 0 3 0; +#X connect 5 0 2 0; +#X connect 5 0 2 1; +#X connect 6 0 0 0; +#X connect 7 0 3 0; +#X connect 8 0 7 1; +#X connect 9 0 11 0; +#X connect 10 0 5 1; +#X connect 11 0 5 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 13 1 17 0; +#X connect 14 0 16 0; +#X connect 14 1 19 0; +#X connect 16 0 15 0; +#X connect 17 0 18 0; +#X coords 0 -1 1 1 85 60 1 5 5; diff --git a/s-breaker~.pd b/s-breaker~.pd new file mode 100644 index 0000000..3b2c286 --- /dev/null +++ b/s-breaker~.pd @@ -0,0 +1,247 @@ +#N struct 1082-template float time float id; +#N canvas 228 22 766 664 10; +#X obj 8 428 loadbang; +#X msg 8 467 0; +#X obj 8 514 f; +#X obj 39 514 + 1; +#X obj 419 22 bng 14 250 50 0 \$0-add \$0-add add 18 12 0 8 -260818 +-1 -1; +#X obj 15 488 r \$0-add; +#X obj 368 22 bng 14 250 50 0 \$0-clear \$0-clear clear 18 12 0 8 -260818 +-1 -1; +#X msg 48 365 \; \$1 clear; +#X obj 48 302 \$0; +#X obj 48 281 r \$0-clear; +#X obj 8 617 pack f f; +#X obj 59 593 * 16; +#X obj 79 428 r \$0-clear; +#X obj 97 594 s \$0-count; +#N canvas 308 113 599 543 1082-template 0; +#X msg 181 264 traverse \$1 \, bang; +#X obj 181 286 pointer; +#X obj 4 150 inlet; +#X obj 181 220 \$0; +#X obj 181 242 makefilename pd-%d-data; +#X msg 4 286 1; +#X obj 4 25 drawpolygon 5312 1 time(1:507)(1:507) 1 time(1:507)(1:507) +200; +#X obj 4 4 struct \$0-template float time float id; +#X obj 4 308 append \$0-template time id; +#X obj 92 286 r \$0-count; +#X obj 4 172 t b b; +#X obj 4 59 drawpolygon 18 1 time(1:507)(1:507) 200 time(1:507)(3:510) +200 time(1:507)(3:510) 209 time(1:507)(1:507) 209 time(1:507)(1:507) +200; +#X obj 4 106 drawnumber id time(3:510) 0 18; +#X connect 0 0 1 0; +#X connect 1 0 8 2; +#X connect 2 0 10 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X connect 5 0 8 0; +#X connect 9 0 8 1; +#X connect 10 0 5 0; +#X connect 10 1 3 0; +#X restore 8 638 pd \$0-template; +#X obj 48 344 makefilename pd-%d-data; +#X obj 139 281 loadbang; +#X obj 139 302 s \$0-clear; +#N canvas 0 16 999 675 1082-data 0; +#X scalar 1082-template 65 1 \;; +#X coords 0 0 510 210 510 210 1; +#X restore 13 39 pd \$0-data; +#X msg 11 281 bang; +#X obj 238 643 outlet~; +#X text 8 262 clear all break points; +#X text 6 408 add a new thing; +#X text 282 264 takes in note pairs; +#N canvas 0 0 450 300 graph3 0; +#X array \$0-sample 170688 float 2; +#X coords 0 1 170688 -1 510 210 1; +#X restore 13 39 graph; +#X obj 14 40 cnv 15 508 208 empty empty empty 20 12 0 14 -166441 -66577 +0; +#N canvas 229 22 765 663 loadybits 0; +#X obj 176 594 outlet~; +#X obj 176 503 line~; +#X obj 176 461 pack f f; +#X obj 176 525 tabread4~ \$0-sample; +#X obj 192 10 r \$0-open; +#X obj 192 32 openpanel; +#X obj 192 126 soundfiler; +#X obj 192 79 pack s s; +#X obj 264 9 loadbang; +#X obj 264 32 \$0; +#X msg 192 101 read -resize \$1 \$2; +#X obj 176 372 f; +#X obj 109 123 t b b; +#X obj 54 159 r \$0-stop; +#X msg 359 9 bang; +#X msg 264 53 symbol \$1-sample; +#X obj 109 101 r \$0-shot; +#X obj 199 548 r \$0-vol; +#X obj 176 572 *~ 1; +#X obj 248 148 r \$0-freq; +#X obj 227 372 f; +#X obj 248 336 t b f; +#X obj 227 423 * 1; +#X obj 278 394 / 229.335; +#X obj 227 394 / 44.1; +#X obj 15 95 inlet; +#X obj 45 212 f; +#X obj 29 239 *; +#X obj 15 123 t f b; +#X obj 139 461 f; +#X obj 192 148 t f f f; +#X obj 227 307 -; +#X obj 227 279 t b f; +#X obj 29 262 t f f; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 18 0; +#X connect 4 0 5 0; +#X connect 5 0 7 0; +#X connect 6 0 30 0; +#X connect 7 0 10 0; +#X connect 8 0 9 0; +#X connect 9 0 15 0; +#X connect 10 0 6 0; +#X connect 11 0 2 0; +#X connect 12 0 11 0; +#X connect 12 1 29 0; +#X connect 13 0 29 0; +#X connect 14 0 9 0; +#X connect 15 0 7 1; +#X connect 16 0 12 0; +#X connect 17 0 18 1; +#X connect 18 0 0 0; +#X connect 19 0 21 0; +#X connect 20 0 24 0; +#X connect 21 0 20 0; +#X connect 21 1 23 0; +#X connect 22 0 2 1; +#X connect 23 0 22 1; +#X connect 24 0 22 0; +#X connect 25 0 28 0; +#X connect 26 0 27 1; +#X connect 27 0 33 0; +#X connect 28 0 27 0; +#X connect 28 1 26 0; +#X connect 29 0 1 0; +#X connect 30 0 31 0; +#X connect 30 1 11 1; +#X connect 30 2 26 1; +#X connect 31 0 20 1; +#X connect 32 0 31 0; +#X connect 32 1 31 1; +#X connect 33 0 29 1; +#X connect 33 1 32 0; +#X restore 238 620 pd loadybits; +#X obj 239 265 inlet; +#X obj 239 365 unpack f f; +#X obj 239 387 t b f; +#X obj 239 509 s \$0-shot; +#X msg 239 487 bang; +#X obj 304 412 s \$0-vol; +#X obj 304 389 / 127; +#X obj 269 461 s \$0-freq; +#X obj 269 412 mtof; +#X obj 269 437 expr 60000 / $f1; +#X obj 320 22 bng 14 250 50 0 \$0-open \$0-open open 18 10 0 8 -260818 +-1 -1; +#X obj 8 540 t f f f; +#X obj 460 22 nbx 3 14 0 32 0 0 \$0-start \$1-start start 34 12 0 8 +-260818 -1 -1 1 256; +#N canvas 234 44 715 636 lookup 0; +#X obj 14 475 outlet; +#X msg 116 296 next; +#X obj 269 329 pointer; +#X obj 269 222 \$0; +#X obj 65 217 until; +#X obj 65 249 f; +#X obj 93 249 + 1; +#X msg 150 200 0; +#X msg 269 271 traverse \$1; +#X obj 65 94 mod; +#X obj 81 44 r \$0-count; +#X obj 14 22 inlet; +#X obj 269 422 / 510; +#X obj 269 247 makefilename pd-%d-data; +#X obj 14 44 select 0; +#X msg 14 66 0; +#X obj 269 351 get \$0-template time id; +#X obj 269 401 spigot; +#X obj 425 372 ==; +#X obj 65 115 t b b b f; +#X obj 81 159 r \$0-count; +#X obj 65 185 f; +#X obj 428 450 print equal; +#X obj 81 69 + 1; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 13 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 0 1 0; +#X connect 6 0 5 1; +#X connect 7 0 5 0; +#X connect 8 0 2 0; +#X connect 9 0 19 0; +#X connect 10 0 23 0; +#X connect 11 0 14 0; +#X connect 12 0 0 0; +#X connect 13 0 8 0; +#X connect 14 0 15 0; +#X connect 14 1 9 0; +#X connect 15 0 0 0; +#X connect 16 0 17 0; +#X connect 16 1 18 0; +#X connect 17 0 12 0; +#X connect 18 0 17 1; +#X connect 18 0 22 0; +#X connect 19 0 21 0; +#X connect 19 1 7 0; +#X connect 19 2 3 0; +#X connect 19 3 18 1; +#X connect 20 0 21 1; +#X connect 21 0 4 0; +#X connect 23 0 9 1; +#X restore 476 445 pd lookup; +#X obj 239 286 t l b; +#X obj 269 310 f; +#X obj 285 286 r \$0-start; +#X obj 476 619 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 0 38 0; +#X connect 3 0 2 1; +#X connect 5 0 2 0; +#X connect 8 0 15 0; +#X connect 9 0 8 0; +#X connect 10 0 14 0; +#X connect 11 0 10 1; +#X connect 12 0 1 0; +#X connect 15 0 7 0; +#X connect 16 0 17 0; +#X connect 19 0 8 0; +#X connect 26 0 20 0; +#X connect 27 0 41 0; +#X connect 28 0 29 0; +#X connect 28 1 33 0; +#X connect 29 0 31 0; +#X connect 29 1 35 0; +#X connect 31 0 30 0; +#X connect 33 0 32 0; +#X connect 35 0 36 0; +#X connect 36 0 34 0; +#X connect 38 0 10 0; +#X connect 38 1 11 0; +#X connect 38 2 13 0; +#X connect 40 0 44 0; +#X connect 40 0 26 0; +#X connect 41 0 28 0; +#X connect 41 1 42 0; +#X connect 42 0 40 0; +#X connect 43 0 42 1; +#X coords 0 0 516 232 516 232 1 10 20; diff --git a/s-connect.pd b/s-connect.pd new file mode 100644 index 0000000..5ea016c --- /dev/null +++ b/s-connect.pd @@ -0,0 +1,4 @@ +#N canvas 128 97 309 173 10; +#X obj 7 7 r \$1; +#X obj 7 30 s \$2; +#X connect 0 0 1 0; diff --git a/s-controlsurface.pd b/s-controlsurface.pd new file mode 100644 index 0000000..226618e --- /dev/null +++ b/s-controlsurface.pd @@ -0,0 +1,111 @@ +#N canvas 239 16 721 668 10; +#N canvas 0 16 999 675 1075data 0; +#X coords 0 0 210 210 210 210 1; +#X restore 13 39 pd \$0data; +#N canvas 507 228 452 378 1075template 0; +#X obj 3 4 struct \$0template float x0 float y0 float id float c; +#X msg 195 257 traverse \$1 \, bang; +#X obj 195 279 pointer; +#X obj 4 107 inlet; +#X obj 3 48 filledpolygon c 0 1 x0(0:200)(0:200) y0(0:200)(0:200) x0(0:200)(10:210) +y0(0:200)(0:200) x0(0:200)(10:210) y0(0:200)(10:210) x0(0:200)(0:200) +y0(0:200)(10:210); +#X msg 4 282 100 100 \$1 \$2; +#X obj 4 304 append \$0template x0 y0 id c; +#X obj 195 235 makefilename pd-%ddata; +#X obj 195 213 \$0; +#X obj 4 131 t l b; +#X connect 1 0 2 0; +#X connect 2 0 6 4; +#X connect 3 0 9 0; +#X connect 5 0 6 0; +#X connect 7 0 1 0; +#X connect 8 0 7 0; +#X connect 9 0 5 0; +#X connect 9 1 8 0; +#X restore 8 602 pd \$0template; +#X obj 8 392 loadbang; +#X msg 8 431 0; +#X obj 8 478 f; +#X obj 39 478 + 1; +#X obj 187 22 bng 14 250 50 0 \$0-add \$0-add add 18 12 0 8 -260818 +-1 -1; +#X obj 15 452 r \$0-add; +#X obj 136 22 bng 14 250 50 0 \$0-clear \$0-clear clear 18 12 0 8 -260818 +-1 -1; +#X msg 526 85 \; \$1 clear; +#X obj 526 64 makefilename pd-%ddata; +#X obj 526 43 \$0; +#X obj 526 22 r \$0-clear; +#X obj 8 499 t f f; +#X obj 8 581 pack f f; +#X obj 59 557 * 16; +#X obj 69 392 r \$0-clear; +#X obj 261 177 inlet; +#X obj 465 564 outlet; +#X msg 312 451 next; +#X obj 465 484 pointer; +#X obj 465 377 \$0; +#X obj 465 402 makefilename pd-%ddata; +#X obj 261 372 until; +#X obj 291 331 > 0; +#X obj 261 310 t f f; +#X obj 261 352 spigot; +#X obj 261 404 f; +#X obj 289 404 + 1; +#X obj 261 424 t b f; +#X msg 336 355 0; +#X msg 465 426 traverse \$1; +#X obj 364 433 ==; +#X obj 261 270 t f b b f; +#X obj 465 516 spigot; +#X obj 465 540 get \$0template x0 y0 id c; +#X obj 521 564 outlet; +#X obj 14 40 cnv 15 208 208 empty empty empty 20 12 0 14 -260818 -66577 +0; +#X obj 57 498 s \$0-count; +#X obj 261 224 mod; +#X obj 277 202 r \$0-count; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 0 13 0; +#X connect 4 0 38 0; +#X connect 5 0 4 1; +#X connect 7 0 4 0; +#X connect 10 0 9 0; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 13 1 15 0; +#X connect 14 0 1 0; +#X connect 15 0 14 1; +#X connect 16 0 3 0; +#X connect 17 0 39 0; +#X connect 19 0 20 0; +#X connect 20 0 34 0; +#X connect 21 0 22 0; +#X connect 22 0 31 0; +#X connect 23 0 27 0; +#X connect 24 0 26 1; +#X connect 25 0 26 0; +#X connect 25 1 24 0; +#X connect 26 0 23 0; +#X connect 27 0 28 0; +#X connect 27 0 29 0; +#X connect 28 0 27 1; +#X connect 29 0 19 0; +#X connect 29 1 32 0; +#X connect 30 0 27 0; +#X connect 31 0 20 0; +#X connect 32 0 34 1; +#X connect 33 0 25 0; +#X connect 33 1 30 0; +#X connect 33 2 21 0; +#X connect 33 3 32 1; +#X connect 34 0 35 0; +#X connect 35 0 18 0; +#X connect 35 1 36 0; +#X connect 39 0 33 0; +#X connect 40 0 39 1; +#X coords 0 0 216 232 216 232 1 10 20; diff --git a/s-conway-help.pd b/s-conway-help.pd new file mode 100644 index 0000000..3a9ebc3 --- /dev/null +++ b/s-conway-help.pd @@ -0,0 +1,30 @@ +#N canvas 180 199 660 440 10; +#X obj 13 175 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 106 198 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 13 330 print; +#X text 34 174 Bang for a generation; +#X text 126 198 Bang to output the current CA state; +#X obj 530 376 sssad/datastore; +#N canvas 0 0 450 300 datastore 0; +#X obj 10 10 r SSSADDATA; +#X msg 10 30 \; SSSAD x/state 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 \; SSSAD_ADMIN set \;; +#X connect 0 0 1 0; +#X restore 530 355 pd datastore; +#X text 87 387 If you have [sssad] you can load the 'glider' configuration +here.; +#X text 10 8 This is an implementation of conway's game of life in +puredata. The arguments are [width] [height] and [name] - you probably +don't want to create one much bigger than 16x16 as it will slow yr +computer right down while creating it. Left inlet bangs will advance +the simulation one generation. Right inlet bangs will print out the +entire table of all values. You can save the current state of your +CA with the [sssad] abstractions by Frank Barknecht. See [sssad/datastore] +and [sssad/panel] for example.; +#X obj 13 221 s-conway 8 8 x; +#X connect 0 0 9 0; +#X connect 1 0 9 1; +#X connect 9 0 2 0; diff --git a/s-conway.pd b/s-conway.pd new file mode 100644 index 0000000..7a2f75d --- /dev/null +++ b/s-conway.pd @@ -0,0 +1,444 @@ +#N canvas 0 16 999 675 10; +#X obj 912 -2 table \$0tng; +#X obj 912 19 table \$0cur; +#X obj 873 61 loadbang; +#X msg 873 181 \; \$1tng resize \$2 \; \$1cur resize \$2 \;; +#X obj 873 159 pack f f; +#X obj 873 135 \$0; +#X obj 924 136 * \$2; +#X obj 873 93 t b b; +#X obj 924 114 \$1; +#X msg 935 61 bang; +#N canvas 17 168 979 522 make-grid 0; +#X obj 6 6 inlet; +#X text 128 6 bang me to make the grid; +#X obj 54 290 f; +#X obj 6 442 pack f f s f; +#X obj 329 244 \$0; +#X obj 329 222 loadbang; +#X obj 41 352 * 10; +#X obj 6 352 * 10; +#X msg 6 465 \; \$4grid obj \$1 \$2 tgl 8 0 \$3out \$3in empty 0 -6 +0 8 -262144 -1 -1 0 1 \;; +#X obj 291 335 * 20; +#X obj 226 361 +; +#X obj 242 335 * \$1; +#X obj 275 375 +; +#X obj 200 330 t f f; +#X obj 269 354 * 20; +#X obj 344 317 \$0; +#X obj 344 340 makefilename pd-%dgridrecs; +#X obj 6 30 t b b; +#X obj 599 460 pack f f f; +#X obj 599 437 \$0; +#X obj 599 374 t b f; +#X obj 664 435 * 10; +#X obj 631 435 * 10; +#X msg 599 480 \; \$1grid donecanvasdialog 1 -1 1 0 -1 0 0 \$2 \$3 +0 0; +#X obj 631 413 + 1; +#X obj 664 413 + 3; +#X obj 6 375 + 1; +#X obj 41 375 + 21; +#X msg 226 424 \; \$4 obj 10 \$3 cell-receive \$2out \$1 \$5; +#X obj 226 403 pack f s f s f; +#X obj 6 96 until; +#X obj 6 120 f; +#X obj 33 120 + 1; +#X msg 36 75 0; +#X obj 6 51 t b b; +#X obj 6 183 until; +#X obj 6 204 f; +#X obj 33 204 + 1; +#X msg 36 162 0; +#X obj 6 141 t b b f; +#X obj 6 162 \$1; +#X obj 6 75 \$2; +#X obj 110 229 f; +#X obj 6 227 f; +#X obj 6 250 t f b b f; +#X obj 33 316 \$0; +#N canvas 0 0 521 310 makename 0; +#X obj 21 16 inlet; +#X obj 140 15 inlet; +#X obj 288 17 inlet; +#X obj 289 166 outlet; +#X obj 289 142 makefilename; +#X obj 289 101 makefilename; +#X msg 289 80 set \$1; +#X msg 289 122 set \$1; +#X obj 289 59 makefilename %%%%dx%%dy%d; +#X connect 0 0 4 0; +#X connect 1 0 5 0; +#X connect 2 0 8 0; +#X connect 4 0 3 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 7 0 4 0; +#X connect 8 0 6 0; +#X restore 96 359 pd makename; +#X connect 0 0 17 0; +#X connect 2 0 46 1; +#X connect 3 0 8 0; +#X connect 4 0 3 3; +#X connect 5 0 4 0; +#X connect 6 0 27 0; +#X connect 7 0 26 0; +#X connect 9 0 12 1; +#X connect 10 0 29 0; +#X connect 11 0 10 1; +#X connect 12 0 29 2; +#X connect 13 0 10 0; +#X connect 13 1 14 0; +#X connect 14 0 12 0; +#X connect 15 0 16 0; +#X connect 15 0 29 4; +#X connect 16 0 29 3; +#X connect 17 0 34 0; +#X connect 17 1 15 0; +#X connect 18 0 23 0; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 20 1 24 0; +#X connect 21 0 18 2; +#X connect 22 0 18 1; +#X connect 24 0 22 0; +#X connect 25 0 21 0; +#X connect 26 0 3 0; +#X connect 27 0 3 1; +#X connect 29 0 28 0; +#X connect 30 0 31 0; +#X connect 31 0 32 0; +#X connect 31 0 39 0; +#X connect 32 0 31 1; +#X connect 33 0 31 1; +#X connect 34 0 41 0; +#X connect 34 1 33 0; +#X connect 35 0 36 0; +#X connect 36 0 37 0; +#X connect 36 0 43 0; +#X connect 37 0 36 1; +#X connect 38 0 36 1; +#X connect 39 0 40 0; +#X connect 39 1 38 0; +#X connect 39 2 42 0; +#X connect 40 0 35 0; +#X connect 41 0 30 0; +#X connect 42 0 2 1; +#X connect 42 0 6 0; +#X connect 42 0 9 0; +#X connect 42 0 11 0; +#X connect 42 0 25 0; +#X connect 43 0 20 0; +#X connect 43 0 44 0; +#X connect 44 0 7 0; +#X connect 44 0 13 0; +#X connect 44 1 45 0; +#X connect 44 2 2 0; +#X connect 44 3 46 2; +#X connect 45 0 46 0; +#X connect 46 0 3 2; +#X connect 46 0 29 1; +#X restore 865 581 pd make-grid; +#X obj 865 541 loadbang; +#X msg 930 541 bang; +#X obj 865 611 namecanvas \$0grid; +#N canvas 41 31 444 615 2082gridrecs 0; +#X restore 865 634 pd \$0gridrecs; +#X obj 352 354 inlet; +#X obj 725 351 inlet; +#X obj 720 591 outlet; +#X text 525 262 args: [width] [height]; +#N canvas 0 0 867 691 life-iteration 0; +#X msg 67 78 0; +#X obj 41 140 f; +#X obj 73 140 + 1; +#X obj 5 2 inlet; +#X obj 41 120 until; +#X obj 41 78 \$1; +#X obj 41 99 * \$2; +#X msg 10 613 0; +#X msg 61 613 1; +#X obj 12 528 pack f f; +#X obj 12 505 f; +#X obj 12 459 t b f; +#X obj 12 552 route 0 1; +#X text 86 554 live cell or dead cell?; +#X obj 12 579 select 3; +#X obj 75 579 select 0 1 2 3; +#X obj 28 482 tabread \$0cur; +#X text 104 612 What to do \, depending on neighbours; +#X obj 10 669 tabwrite \$0tng; +#X msg 108 105 \; \$1tng const 0 \;; +#X obj 108 78 \$0; +#X obj 124 245 until; +#X obj 124 266 f; +#X obj 152 266 + 1; +#X obj 186 397 0; +#X obj 243 331 * -1; +#X obj 378 235 \$1; +#X obj 254 397 0; +#X obj 202 373 - 1; +#X obj 224 397 0; +#X obj 381 398 0; +#X obj 449 398 0; +#X obj 465 375 + 1; +#X obj 396 373 - 1; +#X obj 419 398 0; +#X obj 378 212 loadbang; +#X obj 124 306 select 0 1 2 3 4 5 6 7; +#X msg 340 212 bang; +#X obj 417 266 * \$2; +#X obj 352 453 +; +#X obj 352 551 f; +#X obj 352 505 tabread \$0cur; +#X obj 41 168 t b f f f; +#X obj 383 551 + 1; +#X obj 593 371 pack f s; +#X msg 593 394 \; \$2 \$1 \;; +#X obj 5 23 t b b b b; +#X obj 5 50 s \$0redraw; +#X obj 593 21 r \$0redraw; +#X msg 623 68 0; +#X obj 593 130 f; +#X obj 625 130 + 1; +#X obj 593 110 until; +#X obj 593 68 \$1; +#X obj 593 89 * \$2; +#X obj 593 45 t b b; +#X obj 593 174 tabread \$0tng; +#X obj 643 220 mod \$1; +#X obj 691 220 / \$1; +#X obj 691 241 int; +#X obj 691 262 change; +#X obj 336 580 f; +#X obj 102 200 t b b b; +#X obj 352 484 mod; +#X obj 272 372 + 1; +#X msg 342 397 1; +#X msg 307 397 -1; +#X obj 352 528 select 1; +#X msg 154 223 0; +#X obj 124 286 - 1; +#X msg 124 223 9; +#X obj 593 153 t f b f f; +#N canvas 0 0 521 310 makename 0; +#X obj 21 16 inlet; +#X obj 140 15 inlet; +#X obj 288 17 inlet; +#X obj 289 166 outlet; +#X obj 289 142 makefilename; +#X obj 289 101 makefilename; +#X msg 289 80 set \$1; +#X msg 289 122 set \$1; +#X obj 289 59 makefilename %%%%dx%dy%%din; +#X connect 0 0 4 0; +#X connect 1 0 5 0; +#X connect 2 0 8 0; +#X connect 4 0 3 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 7 0 4 0; +#X connect 8 0 6 0; +#X restore 644 313 pd makename; +#X obj 612 256 \$0; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 0 42 0; +#X connect 2 0 1 1; +#X connect 3 0 46 0; +#X connect 4 0 1 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 18 0; +#X connect 8 0 18 0; +#X connect 9 0 12 0; +#X connect 10 0 9 0; +#X connect 11 0 10 0; +#X connect 11 1 9 1; +#X connect 12 0 14 0; +#X connect 12 1 15 0; +#X connect 14 0 8 0; +#X connect 15 0 7 0; +#X connect 15 1 7 0; +#X connect 15 2 8 0; +#X connect 15 3 8 0; +#X connect 15 4 7 0; +#X connect 16 0 10 1; +#X connect 20 0 19 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 22 0 69 0; +#X connect 23 0 22 1; +#X connect 24 0 39 0; +#X connect 25 0 28 0; +#X connect 25 0 29 1; +#X connect 25 0 64 0; +#X connect 26 0 25 0; +#X connect 26 0 33 0; +#X connect 26 0 34 1; +#X connect 26 0 32 0; +#X connect 26 0 38 0; +#X connect 27 0 39 0; +#X connect 28 0 24 1; +#X connect 29 0 39 0; +#X connect 30 0 39 0; +#X connect 31 0 39 0; +#X connect 32 0 31 1; +#X connect 33 0 30 1; +#X connect 34 0 39 0; +#X connect 35 0 26 0; +#X connect 36 0 24 0; +#X connect 36 1 29 0; +#X connect 36 2 27 0; +#X connect 36 3 66 0; +#X connect 36 4 65 0; +#X connect 36 5 30 0; +#X connect 36 6 34 0; +#X connect 36 7 31 0; +#X connect 37 0 26 0; +#X connect 38 0 63 1; +#X connect 39 0 63 0; +#X connect 40 0 43 0; +#X connect 41 0 67 0; +#X connect 42 0 62 0; +#X connect 42 1 16 0; +#X connect 42 2 18 1; +#X connect 42 3 39 1; +#X connect 43 0 40 1; +#X connect 43 0 61 1; +#X connect 44 0 45 0; +#X connect 46 0 47 0; +#X connect 46 1 5 0; +#X connect 46 2 0 0; +#X connect 46 3 20 0; +#X connect 48 0 55 0; +#X connect 49 0 50 1; +#X connect 50 0 51 0; +#X connect 50 0 71 0; +#X connect 51 0 50 1; +#X connect 52 0 50 0; +#X connect 53 0 54 0; +#X connect 54 0 52 0; +#X connect 55 0 53 0; +#X connect 55 1 49 0; +#X connect 56 0 44 0; +#X connect 57 0 72 1; +#X connect 58 0 59 0; +#X connect 59 0 60 0; +#X connect 60 0 72 2; +#X connect 61 0 11 0; +#X connect 62 0 61 0; +#X connect 62 1 70 0; +#X connect 62 2 68 0; +#X connect 63 0 41 0; +#X connect 64 0 27 1; +#X connect 65 0 39 0; +#X connect 66 0 39 0; +#X connect 67 0 40 0; +#X connect 68 0 22 1; +#X connect 68 0 40 1; +#X connect 68 0 61 1; +#X connect 69 0 36 0; +#X connect 70 0 21 0; +#X connect 71 0 56 0; +#X connect 71 1 73 0; +#X connect 71 2 57 0; +#X connect 71 3 58 0; +#X connect 72 0 44 1; +#X connect 73 0 72 0; +#X restore 352 385 pd life-iteration; +#X text 723 333 Bang me to output all values; +#X text 352 332 Bang me to do proceed one generation; +#X obj 747 442 until; +#X obj 747 396 \$1; +#X obj 747 418 * \$2; +#X obj 747 464 f; +#X obj 774 464 + 1; +#X msg 776 396 0; +#X obj 747 485 tabread \$0cur; +#X obj 720 565 list; +#X obj 725 372 t b b b; +#X obj 743 514 list prepend; +#X obj 834 514 t l; +#N canvas 212 221 507 438 save 0; +#X obj 58 10 r SSSAD_SAVE; +#X obj 53 250 outlet; +#X obj 80 103 until; +#X obj 80 57 \$1; +#X obj 80 79 * \$2; +#X obj 80 125 f; +#X obj 107 125 + 1; +#X msg 109 57 0; +#X obj 80 146 tabread \$0cur; +#X obj 53 226 list; +#X obj 58 33 t b b b; +#X obj 76 175 list prepend; +#X obj 167 175 t l; +#X connect 0 0 10 0; +#X connect 2 0 5 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 5 0 8 0; +#X connect 6 0 5 1; +#X connect 7 0 5 1; +#X connect 8 0 11 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X connect 10 0 11 1; +#X connect 10 1 3 0; +#X connect 10 2 7 0; +#X connect 11 0 12 0; +#X connect 11 0 9 1; +#X connect 12 0 11 1; +#X restore 527 560 pd save; +#N canvas 64 35 650 643 load 0; +#X obj 40 6 inlet; +#X obj 62 168 s \$0tng; +#X obj 40 193 s \$0redraw; +#X obj 62 145 list prepend; +#X obj 40 74 t b l b; +#X msg 91 97 0; +#X connect 0 0 4 0; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 4 1 3 0; +#X connect 4 2 5 0; +#X connect 5 0 3 1; +#X restore 392 606 pd load; +#X text 389 546 Save with [sssad]; +#X obj 392 582 sssad/sssad \$3/state; +#X obj 920 360 inlet; +#X connect 2 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 4 1; +#X connect 7 0 5 0; +#X connect 7 1 8 0; +#X connect 8 0 6 0; +#X connect 9 0 7 0; +#X connect 11 0 10 0; +#X connect 12 0 10 0; +#X connect 15 0 19 0; +#X connect 16 0 30 0; +#X connect 22 0 25 0; +#X connect 23 0 24 0; +#X connect 24 0 22 0; +#X connect 25 0 26 0; +#X connect 25 0 28 0; +#X connect 26 0 25 1; +#X connect 27 0 25 1; +#X connect 28 0 31 0; +#X connect 29 0 17 0; +#X connect 30 0 29 0; +#X connect 30 0 31 1; +#X connect 30 1 23 0; +#X connect 30 2 27 0; +#X connect 31 0 32 0; +#X connect 31 0 29 1; +#X connect 32 0 31 1; +#X connect 33 0 36 1; +#X connect 36 0 34 0; +#X connect 37 0 34 0; +#X coords 0 -1 1 0 80 100 1 0 0; diff --git a/s-default.pd b/s-default.pd new file mode 100644 index 0000000..de3983b --- /dev/null +++ b/s-default.pd @@ -0,0 +1,13 @@ +#N canvas 366 303 450 300 10; +#X obj 8 60 select 0; +#X obj 8 36 \$1; +#X obj 8 83 \$2; +#X obj 8 12 loadbang; +#X obj 8 128 outlet; +#X obj 71 12 inlet; +#X connect 0 0 2 0; +#X connect 0 1 4 0; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; +#X connect 5 0 1 0; diff --git a/s-delayunit~.pd b/s-delayunit~.pd new file mode 100644 index 0000000..485589d --- /dev/null +++ b/s-delayunit~.pd @@ -0,0 +1,40 @@ +#N canvas 497 297 455 342 10; +#X obj 140 11 inlet~; +#X obj 169 271 outlet~; +#X obj 210 188 +~; +#X obj 225 160 *~; +#X obj 8 28 hsl 64 16 0 127 0 1 \$0/length \$1/length length -2 -6 +0 8 -260818 -1 -1 1143 1; +#X obj 8 59 hsl 64 16 0 127 0 1 \$0/feedback \$1/feedback feedback +-2 -6 0 8 -260818 -1 -1 681 1; +#X obj 341 143 / 100; +#X obj 225 85 mtof; +#X obj 370 30 block~ 1; +#X obj 225 132 delread~ \$0-del; +#X obj 211 213 s-jail; +#X obj 316 189 table \$0-del 2000; +#X obj 211 242 delwrite~ \$0-del 2000; +#X obj 319 18 inlet; +#X msg 319 59 \; \$1 \$2 \;; +#X obj 319 96 print; +#X obj 319 38 list; +#X obj 225 107 expr 8000 / $f1; +#X obj 341 121 r \$0/feedback; +#X obj 225 42 r \$0/length; +#X obj 2 322 sssad/auto \$0/feedback \$1/feedback; +#X obj 3 300 sssad/auto \$0/length \$1/length; +#X connect 0 0 2 0; +#X connect 2 0 10 0; +#X connect 3 0 2 1; +#X connect 6 0 3 1; +#X connect 7 0 17 0; +#X connect 9 0 3 0; +#X connect 10 0 1 0; +#X connect 10 0 12 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 16 0 14 0; +#X connect 17 0 9 0; +#X connect 18 0 6 0; +#X connect 19 0 7 0; +#X coords 0 0 1 1 120 80 1 0 0; diff --git a/s-env-help.pd b/s-env-help.pd new file mode 100644 index 0000000..2d42332 --- /dev/null +++ b/s-env-help.pd @@ -0,0 +1,24 @@ +#N struct 1218cursor float x; +#N struct 1218lines float x; +#N struct 1218template float x float y array 1218arrayvals 1218arraytemplate +; +#N struct 1218arraytemplate float x float y; +#N canvas 173 102 743 471 10; +#X obj 60 271 print; +#X text 91 8 This is a control rate envelope. The first argument is +it's sssad state saving name (make it up) and the second argument is +how many units long you want to make it. Numbers sent to the left inlet +will be used to do an interpolated lookup.; +#X floatatom 60 86 5 0 0 0 - - -; +#N canvas 0 0 450 300 datastore 0; +#X obj 10 10 r SSSADDATA; +#X msg 10 30 \; SSSAD control/envelope 2 2 127 88.6486 167 79.5799 +208 113.839 270 31.2136 281 48.3433 288 31.2136 295 49.3509 304 32.2212 +312 49.3509 320 32.2212 352 82.6027 375 123.916 383 94.6943 400 104.771 +432 84.618 514 97.7172 \; SSSAD_ADMIN set \;; +#X connect 0 0 1 0; +#X restore 616 243 pd datastore; +#X obj 616 177 sssad/datastore; +#X obj 60 108 s-env control 512; +#X connect 2 0 5 0; +#X connect 5 0 0 0; diff --git a/s-env.pd b/s-env.pd new file mode 100644 index 0000000..c0c9f66 --- /dev/null +++ b/s-env.pd @@ -0,0 +1,486 @@ +#N canvas 13 16 946 669 10; +#N canvas 343 320 599 314 1185template 0; +#X obj 17 51 struct \$0template float x float y array \$0arrayvals +\$0arraytemplate; +#X obj 17 86 outlet; +#X connect 0 0 1 0; +#X restore 791 274 pd \$0template; +#N canvas 435 201 450 300 1185arraytemplate 0; +#X obj 24 43 struct \$0arraytemplate float x float y; +#X obj 24 65 print; +#X obj 24 88 filledpolygon 333 333 1 -2 -2 2 -2 2 2 -2 2 -2 -2; +#X connect 0 0 1 0; +#X restore 791 251 pd \$0arraytemplate; +#N canvas 0 0 439 363 initarray 0; +#X obj 163 211 pointer; +#X msg 133 47 bang; +#X text 186 35 click here to re-initialize; +#X msg 300 176 \; \$1 clear; +#X obj 163 96 \$0; +#X msg 163 188 traverse \$1 \, bang; +#X obj 163 119 makefilename pd-%ddata; +#X obj 35 251 append \$0template x; +#X msg 35 219 0; +#X obj 133 72 t b b b; +#X obj 68 114 outlet; +#X obj 163 140 t s s; +#X obj 133 12 inlet; +#X connect 0 0 7 1; +#X connect 1 0 9 0; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 11 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 9 1 8 0; +#X connect 9 2 4 0; +#X connect 11 0 5 0; +#X connect 11 1 3 0; +#X connect 12 0 1 0; +#X restore 132 225 pd initarray; +#X obj 170 438 setsize \$0template \$0arrayvals; +#X msg 132 344 traverse \$1 \, next; +#X obj 132 300 \$0; +#X obj 132 323 makefilename pd-%ddata; +#X msg 132 249 bang; +#X obj 132 276 delay 10; +#X obj 62 568 inlet; +#X obj 132 594 t p p; +#X obj 170 414 1; +#N canvas 427 10 552 678 envgen 0; +#X obj 102 241 element \$0template \$0arrayvals; +#X obj 102 291 get \$0arraytemplate x y; +#X obj 121 147 getsize \$0template \$0arrayvals; +#X obj 102 3 inlet; +#X obj 307 216 inlet; +#X msg 121 101 traverse \$1 \, next; +#X obj 121 53 \$0; +#X obj 121 77 makefilename pd-%ddata; +#X obj 295 309 set \$0arraytemplate x y; +#X text 372 258 redraw; +#X obj 121 170 until; +#X obj 121 192 f; +#X obj 151 192 + 1; +#X obj 148 53 0; +#X obj 121 124 pointer \$0template; +#X msg 257 124 next; +#X obj 76 400 f; +#X obj 229 394 f; +#X obj 207 417 0; +#X obj 171 500 <; +#X obj 295 286 get \$0arraytemplate x y; +#X obj 295 263 t p p; +#X obj 178 53 s \$0lookup; +#X obj 92 359 r \$0lookup; +#X obj 102 321 t b f b; +#X obj 229 368 0; +#X obj 102 30 t b b b f b; +#X obj 92 380 + 2; +#X obj 108 500 >=; +#X obj 138 528 &&; +#X obj 138 550 select 1; +#X obj 191 576 f; +#X obj 392 479 f; +#X obj 365 509 0; +#X obj 405 445 0; +#X obj 216 450 -; +#X obj 245 450 -; +#X obj 76 420 t f f f; +#X obj 216 478 /; +#X obj 360 445 t f b; +#X obj 256 53 s \$0startlookup; +#X obj 158 321 r \$0startlookup; +#X obj 405 423 r \$0startlookup; +#X obj 319 611 +; +#X obj 383 540 -; +#X obj 316 580 *; +#X obj 319 656 outlet; +#X obj 319 635 expr 127 - ($f1 - 2); +#X connect 0 0 21 0; +#X connect 0 0 1 0; +#X connect 1 0 24 0; +#X connect 1 1 39 0; +#X connect 2 0 10 0; +#X connect 3 0 26 0; +#X connect 4 0 0 1; +#X connect 5 0 14 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 11 0 0 0; +#X connect 12 0 11 1; +#X connect 13 0 11 1; +#X connect 14 0 2 0; +#X connect 14 1 15 0; +#X connect 15 0 14 0; +#X connect 16 0 37 0; +#X connect 17 0 18 1; +#X connect 17 0 19 1; +#X connect 17 0 36 0; +#X connect 18 0 28 1; +#X connect 18 0 35 1; +#X connect 18 0 36 1; +#X connect 19 0 29 1; +#X connect 20 0 8 0; +#X connect 20 1 8 1; +#X connect 21 0 20 0; +#X connect 21 1 8 2; +#X connect 23 0 27 0; +#X connect 24 0 16 0; +#X connect 24 1 17 0; +#X connect 24 2 18 0; +#X connect 25 0 17 0; +#X connect 26 1 6 0; +#X connect 26 2 13 0; +#X connect 26 3 22 0; +#X connect 26 4 40 0; +#X connect 27 0 16 1; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 30 0 31 0; +#X connect 31 0 45 0; +#X connect 32 0 33 1; +#X connect 32 0 44 0; +#X connect 33 0 44 1; +#X connect 33 0 43 1; +#X connect 34 0 32 0; +#X connect 35 0 38 0; +#X connect 36 0 38 1; +#X connect 37 0 28 0; +#X connect 37 1 19 0; +#X connect 37 2 35 0; +#X connect 38 0 31 1; +#X connect 39 0 32 0; +#X connect 39 1 33 0; +#X connect 41 0 25 0; +#X connect 42 0 34 0; +#X connect 43 0 47 0; +#X connect 44 0 45 1; +#X connect 45 0 43 0; +#X connect 47 0 46 0; +#X restore 74 619 pd envgen; +#X obj 23 541 set \$0arraytemplate x y; +#X obj 179 513 element \$0template \$0arrayvals; +#X msg 101 514 3; +#X msg 23 515 3; +#X obj 151 467 t b b b p; +#X msg 179 491 0; +#X obj 132 391 t p p b p; +#N canvas 212 221 507 438 save 0; +#X obj 167 14 r SSSAD_SAVE; +#X obj 186 242 element \$0template \$0arrayvals; +#X obj 186 263 get \$0arraytemplate x y; +#X obj 186 220 f; +#X obj 214 220 + 1; +#X obj 186 289 list append; +#X obj 186 197 until; +#X msg 230 197 0; +#X obj 186 333 list prepend; +#X obj 279 333 t l; +#X obj 163 364 list; +#X obj 167 39 t b b b b; +#X obj 391 220 inlet; +#X msg 186 107 traverse \$1 \, next; +#X obj 186 63 \$0; +#X obj 186 86 makefilename pd-%ddata; +#X obj 186 151 getsize \$0template \$0arrayvals; +#X obj 7 415 outlet; +#X obj 7 394 sssad/sssad \$1/envelope; +#X obj 186 130 pointer \$0template; +#X msg 320 130 next; +#X connect 0 0 11 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 5 1; +#X connect 3 0 4 0; +#X connect 3 0 1 0; +#X connect 4 0 3 1; +#X connect 5 0 8 0; +#X connect 6 0 3 0; +#X connect 7 0 3 1; +#X connect 8 0 9 0; +#X connect 8 0 10 1; +#X connect 9 0 8 1; +#X connect 10 0 18 1; +#X connect 11 0 10 0; +#X connect 11 1 14 0; +#X connect 11 2 7 0; +#X connect 11 3 8 1; +#X connect 12 0 1 1; +#X connect 13 0 19 0; +#X connect 14 0 15 0; +#X connect 15 0 13 0; +#X connect 16 0 6 0; +#X connect 18 0 17 0; +#X connect 19 0 16 0; +#X connect 19 1 20 0; +#X connect 20 0 19 0; +#X restore 162 619 pd save; +#N canvas 64 35 650 643 load 0; +#X obj 21 6 inlet; +#X obj 21 65 until; +#X obj 21 103 list append; +#X obj 120 148 bang; +#X obj 21 148 list split 2; +#X obj 21 229 list split 1; +#X obj 156 305 setsize \$0template \$0arrayvals; +#X msg 361 212 traverse \$1 \, next; +#X obj 361 168 \$0; +#X obj 361 191 makefilename pd-%ddata; +#X msg 172 126 0; +#X obj 156 232 f; +#X obj 185 232 + 1; +#X obj 21 178 t l b; +#X obj 21 32 t b l b b; +#X obj 177 342 element \$0template \$0arrayvals; +#X obj 21 389 set \$0arraytemplate x y; +#X obj 156 258 t f f; +#X obj 186 281 + 1; +#X obj 361 235 pointer \$0template; +#X msg 494 235 next; +#X connect 0 0 14 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 1 1; +#X connect 4 0 13 0; +#X connect 4 1 2 1; +#X connect 4 2 3 0; +#X connect 5 0 16 0; +#X connect 5 1 16 1; +#X connect 7 0 19 0; +#X connect 8 0 9 0; +#X connect 9 0 7 0; +#X connect 10 0 11 1; +#X connect 11 0 12 0; +#X connect 11 0 17 0; +#X connect 12 0 11 1; +#X connect 13 0 5 0; +#X connect 13 1 11 0; +#X connect 14 0 1 0; +#X connect 14 1 2 1; +#X connect 14 2 10 0; +#X connect 14 3 8 0; +#X connect 15 0 16 2; +#X connect 17 0 15 0; +#X connect 17 1 18 0; +#X connect 18 0 6 0; +#X connect 19 0 6 1; +#X connect 19 0 15 1; +#X connect 19 1 20 0; +#X connect 20 0 19 0; +#X restore 162 643 pd load; +#X obj 670 275 namecanvas \$0env; +#X text 626 159 Interpolates between points at control rate.; +#X obj 110 165 loadbang; +#X text 409 207 resize the canvasses etc. first; +#X obj 411 416 \$0; +#X msg 411 228 bang; +#X obj 463 374 \$2; +#X obj 463 516 + 16; +#X obj 411 250 t b b; +#X obj 496 516 + 4; +#X obj 411 438 t f f; +#X obj 441 490 makefilename pd-%d; +#X obj 411 543 pack f s f f f s; +#X obj 523 516 + 2; +#X msg 411 566 \; \$1env donecanvasdialog 1 -1 1 0 -1 \$3 153 \$3 153 +0 0 \; \$2data donecanvasdialog 1 -1 1 0 -1 \$4 131 \$4 131 0 0 \; +\$1env obj 7 17 cnv 15 \$5 129 empty empty empty 20 12 0 14 -260818 +-66577 0 \; \$2template obj 17 9 plot -x \$6 -y y(2:129)(2:129) \$1arrayvals +333 0.1 0 0 0 \;; +#N canvas 0 16 999 675 1185data 0; +#X coords 0 -1 516 131 516 131 1; +#X restore 6 16 pd \$0data; +#X obj 463 394 t f f f f f; +#X msg 594 490 set \$1; +#X obj 594 514 makefilename not-set-yet; +#X obj 594 468 makefilename x(2:%%d)(2:%d); +#X obj 74 643 outlet; +#X obj 594 446 + 2; +#X obj 517 416 + 2; +#N canvas 301 188 450 300 cursor 0; +#X obj 59 38 inlet; +#X obj 37 230 outlet; +#X obj 89 230 set \$0cursor x; +#X obj 119 134 \$0; +#X obj 119 157 makefilename pd-%ddata; +#X msg 253 201 next; +#X obj 119 201 pointer \$0cursor; +#X obj 89 108 t f b; +#X obj 59 84 t f f; +#X msg 119 178 traverse \$1 \, bang; +#X obj 59 61 mod \$2; +#X connect 0 0 10 0; +#X connect 3 0 4 0; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 6 0 2 1; +#X connect 6 1 5 0; +#X connect 7 0 2 0; +#X connect 7 1 3 0; +#X connect 8 0 1 0; +#X connect 8 1 7 0; +#X connect 9 0 6 0; +#X connect 10 0 8 0; +#X restore 62 590 pd cursor; +#N canvas 67 68 640 606 1185cursor 0; +#X obj 7 7 struct \$0cursor float x; +#X obj 7 29 drawpolygon 900 0 0 1 0 131; +#X restore 791 227 pd \$0cursor; +#N canvas 84 62 640 606 1185lines 0; +#X obj 7 7 struct \$0lines float x; +#X obj 53 308 r \$0redraw; +#X obj 7 30 drawpolygon 333 0 0 1 0 131; +#X obj 53 333 \$0; +#X obj 53 355 makefilename pd-%ddata; +#X msg 53 381 traverse \$1 \, bang; +#X obj 53 490 pointer \$0cursor \$0lines; +#X obj 114 438 until; +#X msg 114 462 next; +#X obj 53 409 t b a; +#X obj 53 545 get \$0cursor x; +#X obj 157 545 get \$0lines x; +#X text 51 291 Execute a redraw; +#X obj 157 571 set \$0lines x; +#X obj 53 515 t p p; +#X obj 157 515 t p p; +#X obj 53 571 set \$0cursor x; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 9 0; +#X connect 6 0 14 0; +#X connect 6 1 15 0; +#X connect 6 3 7 1; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 9 0 7 0; +#X connect 9 1 6 0; +#X connect 10 0 16 0; +#X connect 11 0 13 0; +#X connect 14 0 10 0; +#X connect 14 1 16 1; +#X connect 15 0 11 0; +#X connect 15 1 13 1; +#X restore 791 204 pd \$0lines; +#X text 625 175 args: [name] [length] [line separation]; +#N canvas 0 0 730 605 lines 0; +#X obj 401 373 pointer; +#X obj 265 104 t b b; +#X obj 295 126 \$0; +#X obj 295 148 makefilename pd-%ddata; +#X msg 401 350 traverse \$1 \, bang; +#X obj 265 308 until; +#X obj 265 329 f; +#X obj 296 329 + 1; +#X obj 265 196 t b b; +#X obj 295 219 0; +#X obj 265 398 append \$0lines x; +#X obj 134 196 pointer; +#X obj 20 101 t b b; +#X obj 50 123 \$0; +#X obj 50 145 makefilename pd-%ddata; +#X msg 134 173 traverse \$1 \, bang; +#X obj 20 219 append \$0cursor x; +#X msg 20 174 0; +#X text 17 67 create the cursor; +#X obj 243 47 t b b b; +#X text 269 85 create the lines; +#X obj 265 219 \$2; +#X obj 265 285 / \$3; +#X obj 265 372 * \$3; +#X obj 20 242 s \$0cursorp; +#X obj 243 8 inlet; +#X obj 288 260 s-default \$3 16; +#X obj 288 350 s-default \$3 16; +#X connect 0 0 10 1; +#X connect 1 0 8 0; +#X connect 1 1 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 6 0 23 0; +#X connect 7 0 6 1; +#X connect 8 0 21 0; +#X connect 8 1 9 0; +#X connect 9 0 6 1; +#X connect 11 0 16 1; +#X connect 12 0 17 0; +#X connect 12 1 13 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 11 0; +#X connect 16 0 24 0; +#X connect 17 0 16 0; +#X connect 19 0 12 0; +#X connect 19 1 1 0; +#X connect 19 2 26 0; +#X connect 19 2 27 0; +#X connect 21 0 22 0; +#X connect 22 0 5 0; +#X connect 23 0 10 0; +#X connect 25 0 19 0; +#X connect 26 0 22 1; +#X connect 27 0 23 1; +#X restore 68 225 pd lines; +#X obj 110 188 t b b b; +#X obj 132 367 pointer \$0template; +#X msg 266 367 next; +#X connect 2 0 7 0; +#X connect 4 0 51 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; +#X connect 9 0 45 0; +#X connect 10 0 12 1; +#X connect 10 1 20 0; +#X connect 11 0 3 0; +#X connect 12 0 42 0; +#X connect 14 0 13 2; +#X connect 15 0 13 1; +#X connect 16 0 13 0; +#X connect 17 0 16 0; +#X connect 17 1 15 0; +#X connect 17 2 18 0; +#X connect 17 3 14 1; +#X connect 18 0 14 0; +#X connect 19 0 10 0; +#X connect 19 1 17 0; +#X connect 19 2 11 0; +#X connect 19 3 3 1; +#X connect 20 0 21 0; +#X connect 24 0 50 0; +#X connect 26 0 32 0; +#X connect 27 0 30 0; +#X connect 28 0 38 0; +#X connect 29 0 34 2; +#X connect 30 0 26 0; +#X connect 30 1 28 0; +#X connect 31 0 34 3; +#X connect 32 0 34 0; +#X connect 32 1 33 0; +#X connect 33 0 34 1; +#X connect 34 0 36 0; +#X connect 35 0 34 4; +#X connect 38 0 29 0; +#X connect 38 1 31 0; +#X connect 38 2 35 0; +#X connect 38 3 44 0; +#X connect 38 4 43 0; +#X connect 39 0 40 0; +#X connect 40 0 34 5; +#X connect 41 0 39 0; +#X connect 43 0 41 0; +#X connect 44 0 40 0; +#X connect 45 0 12 0; +#X connect 50 0 49 0; +#X connect 50 1 2 0; +#X connect 50 2 27 0; +#X connect 51 0 19 0; +#X connect 51 1 52 0; +#X connect 52 0 51 0; +#X coords 0 -1 528 153 528 153 1 0 0; diff --git a/s-env~-help.pd b/s-env~-help.pd new file mode 100644 index 0000000..e5d1d86 --- /dev/null +++ b/s-env~-help.pd @@ -0,0 +1,573 @@ +#N struct 1049template float x float y array 1049arrayvals 1049arraytemplate +; +#N struct 1049arraytemplate float x float y; +#N canvas 20 311 481 339 10; +#X msg 73 35 100; +#X msg 11 108 bang; +#N canvas 0 0 450 300 graph5 0; +#X array show 4410 float 1; +#A 0 1 0.998398 0.996797 0.995195 0.993594 0.991992 0.990391 0.988789 +0.987188 0.985586 0.983984 0.982383 0.980781 0.97918 0.977578 0.975977 +0.974375 0.972773 0.971172 0.96957 0.967969 0.966367 0.964766 0.963164 +0.961563 0.959961 0.958359 0.956758 0.955156 0.953555 0.951953 0.950352 +0.94875 0.947148 0.945547 0.943945 0.942344 0.940742 0.939141 0.937539 +0.935938 0.934336 0.932734 0.931133 0.929531 0.92793 0.926328 0.924727 +0.923125 0.921523 0.919922 0.91832 0.916719 0.915117 0.913516 0.911914 +0.910312 0.908711 0.907109 0.905508 0.903906 0.902305 0.900703 0.899102 +0.8975 0.895898 0.894297 0.892695 0.891094 0.889492 0.887891 0.886289 +0.884687 0.883086 0.881484 0.879883 0.878281 0.87668 0.875078 0.873477 +0.871875 0.870273 0.868672 0.86707 0.865469 0.863867 0.862266 0.860664 +0.859062 0.857461 0.855859 0.854258 0.852656 0.851055 0.849453 0.847852 +0.84625 0.844648 0.843047 0.841445 0.839844 0.838242 0.836641 0.835039 +0.833438 0.831836 0.830234 0.828633 0.827031 0.82543 0.823828 0.822227 +0.820625 0.819023 0.817422 0.81582 0.814219 0.812617 0.811016 0.809414 +0.807812 0.806211 0.804609 0.803008 0.801406 0.799805 0.798203 0.796602 +0.795 0.793398 0.791797 0.790195 0.788594 0.786992 0.785391 0.783789 +0.782187 0.780586 0.778984 0.777383 0.775781 0.77418 0.772578 0.770977 +0.769375 0.767773 0.766172 0.76457 0.762969 0.761367 0.759766 0.758164 +0.756562 0.754961 0.753359 0.751758 0.750156 0.748555 0.746953 0.745351 +0.74375 0.742148 0.740547 0.738945 0.737344 0.735742 0.734141 0.732539 +0.730937 0.729336 0.727734 0.726133 0.724531 0.72293 0.721328 0.719727 +0.718125 0.716523 0.714922 0.71332 0.711719 0.710117 0.708516 0.706914 +0.705312 0.703711 0.702109 0.700508 0.698906 0.697305 0.695703 0.694102 +0.6925 0.690898 0.689297 0.687695 0.686094 0.684492 0.682891 0.681289 +0.679687 0.678086 0.676484 0.674883 0.673281 0.67168 0.670078 0.668477 +0.666875 0.665273 0.663672 0.66207 0.660469 0.658867 0.657266 0.655664 +0.654062 0.652461 0.650859 0.649258 0.647656 0.646055 0.644453 0.642851 +0.64125 0.639648 0.638047 0.636445 0.634844 0.633242 0.631641 0.630039 +0.628437 0.626836 0.625234 0.623633 0.622031 0.62043 0.618828 0.617226 +0.615625 0.614023 0.612422 0.61082 0.609219 0.607617 0.606016 0.604414 +0.602812 0.601211 0.599609 0.598008 0.596406 0.594805 0.593203 0.591601 +0.59 0.588398 0.586797 0.585195 0.583594 0.581992 0.580391 0.578789 +0.577187 0.575586 0.573984 0.572383 0.570781 0.56918 0.567578 0.565977 +0.564375 0.562773 0.561172 0.55957 0.557969 0.556367 0.554766 0.553164 +0.551562 0.549961 0.548359 0.546758 0.545156 0.543555 0.541953 0.540351 +0.53875 0.537148 0.535547 0.533945 0.532344 0.530742 0.529141 0.527539 +0.525937 0.524336 0.522734 0.521133 0.519531 0.51793 0.516328 0.514726 +0.513125 0.511523 0.509922 0.50832 0.506719 0.505117 0.503516 0.501914 +0.500312 0.498711 0.497109 0.495508 0.493906 0.492305 0.490703 0.489101 +0.4875 0.48689 0.486279 0.485669 0.485059 0.484448 0.483838 0.483227 +0.482617 0.482007 0.481396 0.480786 0.480176 0.479565 0.478955 0.478345 +0.477734 0.477124 0.476514 0.475903 0.475293 0.474683 0.474072 0.473462 +0.472851 0.472241 0.471631 0.47102 0.47041 0.4698 0.469189 0.468579 +0.467969 0.467358 0.466748 0.466138 0.465527 0.464917 0.464307 0.463696 +0.463086 0.462476 0.461865 0.461255 0.460644 0.460034 0.459424 0.458813 +0.458203 0.457593 0.456982 0.456372 0.455762 0.455151 0.454541 0.453931 +0.45332 0.45271 0.4521 0.451489 0.450879 0.450268 0.449658 0.449048 +0.448437 0.447827 0.447217 0.446606 0.445996 0.445386 0.444775 0.444165 +0.443555 0.442944 0.442334 0.441724 0.441113 0.440503 0.439893 0.439282 +0.438672 0.438061 0.437451 0.436841 0.43623 0.43562 0.43501 0.434399 +0.433789 0.433179 0.432568 0.431958 0.431348 0.430737 0.430127 0.429517 +0.428906 0.428296 0.427685 0.427075 0.426465 0.425854 0.425244 0.424634 +0.424023 0.423413 0.422803 0.422192 0.421582 0.420972 0.420361 0.419751 +0.419141 0.41853 0.41792 0.417309 0.416699 0.416089 0.415478 0.414868 +0.414258 0.413647 0.413037 0.412427 0.411816 0.411206 0.410596 0.409985 +0.409375 0.408765 0.408154 0.407544 0.406934 0.406323 0.405713 0.405102 +0.404492 0.403882 0.403271 0.402661 0.402051 0.40144 0.40083 0.40022 +0.399609 0.398999 0.398389 0.397778 0.397168 0.396558 0.395947 0.395337 +0.394726 0.394116 0.393506 0.392895 0.392285 0.391675 0.391064 0.390454 +0.389844 0.389233 0.388623 0.388013 0.387402 0.386792 0.386182 0.385571 +0.384961 0.384351 0.38374 0.38313 0.382519 0.381909 0.381299 0.380688 +0.380078 0.379468 0.378857 0.378247 0.377637 0.377026 0.376416 0.375806 +0.375195 0.374585 0.373975 0.373364 0.372754 0.372143 0.371533 0.370923 +0.370312 0.369702 0.369092 0.368481 0.367871 0.367261 0.36665 0.36604 +0.36543 0.364819 0.364209 0.363599 0.362988 0.362378 0.361768 0.361157 +0.360547 0.359936 0.359326 0.358716 0.358105 0.357495 0.356885 0.356274 +0.355664 0.355054 0.354443 0.353833 0.353223 0.352612 0.352002 0.351392 +0.350781 0.350171 0.34956 0.34895 0.34834 0.347729 0.347119 0.346509 +0.345898 0.345288 0.344678 0.344067 0.343457 0.342847 0.342236 0.341626 +0.341016 0.340405 0.339795 0.339184 0.338574 0.337964 0.337353 0.336743 +0.336133 0.335522 0.334912 0.334302 0.333691 0.333081 0.332471 0.33186 +0.33125 0.33064 0.330029 0.329419 0.328809 0.328198 0.327588 0.326977 +0.326367 0.325757 0.325146 0.324536 0.323926 0.323315 0.322705 0.322095 +0.321484 0.320874 0.320264 0.319653 0.319043 0.318433 0.317822 0.317212 +0.316601 0.315991 0.315381 0.31477 0.31416 0.31355 0.312939 0.312329 +0.311719 0.311108 0.310498 0.309888 0.309277 0.308667 0.308057 0.307446 +0.306836 0.306226 0.305615 0.305005 0.304394 0.303784 0.303174 0.302563 +0.301953 0.301343 0.300732 0.300122 0.299512 0.298901 0.298291 0.297681 +0.29707 0.29646 0.29585 0.295239 0.294629 0.294018 0.293408 0.292798 +0.292187 0.291577 0.290967 0.290356 0.289746 0.289136 0.288525 0.287915 +0.287305 0.286694 0.286084 0.285474 0.284863 0.284253 0.283643 0.283032 +0.282422 0.281811 0.281201 0.280591 0.27998 0.27937 0.27876 0.278149 +0.277539 0.276929 0.276318 0.275708 0.275098 0.274487 0.273877 0.273267 +0.272656 0.272046 0.271435 0.270825 0.270215 0.269604 0.268994 0.268384 +0.267773 0.267163 0.266553 0.265942 0.265332 0.264722 0.264111 0.263501 +0.262891 0.26228 0.26167 0.261059 0.260449 0.259839 0.259228 0.258618 +0.258008 0.257397 0.256787 0.256177 0.255566 0.254956 0.254346 0.253735 +0.253125 0.252515 0.251904 0.251294 0.250684 0.250073 0.249463 0.248852 +0.248242 0.247632 0.247021 0.246411 0.245801 0.24519 0.24458 0.24397 +0.243359 0.242749 0.242139 0.241528 0.240918 0.240308 0.239697 0.239087 +0.238476 0.237866 0.237256 0.236645 0.236035 0.235425 0.234814 0.234204 +0.233594 0.232983 0.232373 0.231763 0.231152 0.230542 0.229932 0.229321 +0.228711 0.228101 0.22749 0.22688 0.226269 0.225659 0.225049 0.224438 +0.223828 0.223218 0.222607 0.221997 0.221387 0.220776 0.220166 0.219556 +0.218945 0.218335 0.217725 0.217114 0.216504 0.215893 0.215283 0.214673 +0.214062 0.213452 0.212842 0.212231 0.211621 0.211011 0.2104 0.20979 +0.20918 0.208569 0.207959 0.207349 0.206738 0.206128 0.205518 0.204907 +0.204297 0.203686 0.203076 0.202466 0.201855 0.201245 0.200635 0.200024 +0.199414 0.198804 0.198193 0.197583 0.196973 0.196362 0.195752 0.195142 +0.194531 0.193921 0.19331 0.1927 0.19209 0.191479 0.190869 0.190259 +0.189648 0.189038 0.188428 0.187817 0.187207 0.186597 0.185986 0.185376 +0.184766 0.184155 0.183545 0.182935 0.182324 0.181714 0.181103 0.180493 +0.179883 0.179272 0.178662 0.178052 0.177441 0.176831 0.176221 0.17561 +0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 +0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 +0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 +0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 +0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 +0.175 0.175 0.175 0.175 0.175 0.174772 0.174544 0.174316 0.174089 0.173861 +0.173633 0.173405 0.173177 0.172949 0.172721 0.172494 0.172266 0.172038 +0.17181 0.171582 0.171354 0.171126 0.170898 0.170671 0.170443 0.170215 +0.169987 0.169759 0.169531 0.169303 0.169076 0.168848 0.16862 0.168392 +0.168164 0.167936 0.167708 0.16748 0.167253 0.167025 0.166797 0.166569 +0.166341 0.166113 0.165885 0.165658 0.16543 0.165202 0.164974 0.164746 +0.164518 0.16429 0.164063 0.163835 0.163607 0.163379 0.163151 0.162923 +0.162695 0.162467 0.16224 0.162012 0.161784 0.161556 0.161328 0.1611 +0.160872 0.160645 0.160417 0.160189 0.159961 0.159733 0.159505 0.159277 +0.159049 0.158822 0.158594 0.158366 0.158138 0.15791 0.157682 0.157454 +0.157227 0.156999 0.156771 0.156543 0.156315 0.156087 0.155859 0.155632 +0.155404 0.155176 0.154948 0.15472 0.154492 0.154264 0.154036 0.153809 +0.153581 0.153353 0.153125 0.152897 0.152669 0.152441 0.152214 0.151986 +0.151758 0.15153; +#A 1000 0.151302 0.151074 0.150846 0.150618 0.150391 0.150163 0.149935 +0.149707 0.149479 0.149251 0.149023 0.148796 0.148568 0.14834 0.148112 +0.147884 0.147656 0.147428 0.147201 0.146973 0.146745 0.146517 0.146289 +0.146061 0.145833 0.145605 0.145378 0.14515 0.144922 0.144694 0.144466 +0.144238 0.14401 0.143783 0.143555 0.143327 0.143099 0.142871 0.142643 +0.142415 0.142188 0.14196 0.141732 0.141504 0.141276 0.141048 0.14082 +0.140592 0.140365 0.140137 0.139909 0.139681 0.139453 0.139225 0.138997 +0.13877 0.138542 0.138314 0.138086 0.137858 0.13763 0.137402 0.137174 +0.136947 0.136719 0.136491 0.136263 0.136035 0.135807 0.135579 0.135352 +0.135124 0.134896 0.134668 0.13444 0.134212 0.133984 0.133757 0.133529 +0.133301 0.133073 0.132845 0.132617 0.132389 0.132161 0.131934 0.131706 +0.131478 0.13125 0.131022 0.130794 0.130566 0.130339 0.130111 0.129883 +0.129655 0.129427 0.129199 0.128971 0.128743 0.128516 0.128288 0.12806 +0.127832 0.127604 0.127376 0.127148 0.126921 0.126693 0.126465 0.126237 +0.126009 0.125781 0.125553 0.125326 0.125098 0.12487 0.124642 0.124414 +0.124186 0.123958 0.12373 0.123503 0.123275 0.123047 0.122819 0.122591 +0.122363 0.122135 0.121908 0.12168 0.121452 0.121224 0.120996 0.120768 +0.12054 0.120313 0.120085 0.119857 0.119629 0.119401 0.119173 0.118945 +0.118717 0.11849 0.118262 0.118034 0.117806 0.117578 0.11735 0.117122 +0.116895 0.116667 0.116439 0.116211 0.115983 0.115755 0.115527 0.115299 +0.115072 0.114844 0.114616 0.114388 0.11416 0.113932 0.113704 0.113477 +0.113249 0.113021 0.112793 0.112565 0.112337 0.112109 0.111882 0.111654 +0.111426 0.111198 0.11097 0.110742 0.110514 0.110286 0.110059 0.109831 +0.109603 0.109375 0.109147 0.108919 0.108691 0.108464 0.108236 0.108008 +0.10778 0.107552 0.107324 0.107096 0.106868 0.106641 0.106413 0.106185 +0.105957 0.105729 0.105501 0.105273 0.105046 0.104818 0.10459 0.104362 +0.104134 0.103906 0.103678 0.103451 0.103223 0.102995 0.102767 0.102539 +0.102311 0.102083 0.101855 0.101628 0.1014 0.101172 0.100944 0.100716 +0.100488 0.10026 0.100033 0.0998047 0.0995768 0.099349 0.0991211 0.0988932 +0.0986654 0.0984375 0.0982096 0.0979818 0.0977539 0.0975261 0.0972982 +0.0970703 0.0968425 0.0966146 0.0963867 0.0961589 0.095931 0.0957031 +0.0954753 0.0952474 0.0950195 0.0947917 0.0945638 0.0943359 0.0941081 +0.0938802 0.0936524 0.0934245 0.0931966 0.0929688 0.0927409 0.092513 +0.0922852 0.0920573 0.0918294 0.0916016 0.0913737 0.0911458 0.090918 +0.0906901 0.0904622 0.0902344 0.0900065 0.0897787 0.0895508 0.0893229 +0.0890951 0.0888672 0.0886393 0.0884115 0.0881836 0.0879557 0.0877279 +0.0875 0.0872721 0.0870443 0.0868164 0.0865885 0.0863607 0.0861328 +0.085905 0.0856771 0.0854492 0.0852214 0.0849935 0.0847656 0.0845378 +0.0843099 0.084082 0.0838542 0.0836263 0.0833984 0.0831706 0.0829427 +0.0827148 0.082487 0.0822591 0.0820313 0.0818034 0.0815755 0.0813477 +0.0811198 0.0808919 0.0806641 0.0804362 0.0802083 0.0799805 0.0797526 +0.0795247 0.0792969 0.079069 0.0788411 0.0786133 0.0783854 0.0781576 +0.0779297 0.0777018 0.077474 0.0772461 0.0770182 0.0767904 0.0765625 +0.0763346 0.0761068 0.0758789 0.075651 0.0754232 0.0751953 0.0749675 +0.0747396 0.0745117 0.0742839 0.074056 0.0738281 0.0736003 0.0733724 +0.0731445 0.0729167 0.0726888 0.0724609 0.0722331 0.0720052 0.0717774 +0.0715495 0.0713216 0.0710938 0.0708659 0.070638 0.0704102 0.0701823 +0.0699544 0.0697266 0.0694987 0.0692708 0.069043 0.0688151 0.0685872 +0.0683594 0.0681315 0.0679037 0.0676758 0.0674479 0.0672201 0.0669922 +0.0667643 0.0665365 0.0663086 0.0660807 0.0658529 0.065625 0.0653971 +0.0651693 0.0649414 0.0647135 0.0644857 0.0642578 0.06403 0.0638021 +0.0635742 0.0633464 0.0631185 0.0628906 0.0626628 0.0624349 0.062207 +0.0619792 0.0617513 0.0615234 0.0612956 0.0610677 0.0608398 0.060612 +0.0603841 0.0601563 0.0599284 0.0597005 0.0594727 0.0592448 0.0590169 +0.0587891 0.0585612 0.0583333 0.0581055 0.0578776 0.0576497 0.0574219 +0.057194 0.0569661 0.0567383 0.0565104 0.0562826 0.0560547 0.0558268 +0.055599 0.0553711 0.0551432 0.0549154 0.0546875 0.0544596 0.0542318 +0.0540039 0.053776 0.0535482 0.0533203 0.0530924 0.0528646 0.0526367 +0.0524089 0.052181 0.0519531 0.0517253 0.0514974 0.0512695 0.0510417 +0.0508138 0.0505859 0.0503581 0.0501302 0.0499023 0.0496745 0.0494466 +0.0492188 0.0489909 0.048763 0.0485352 0.0483073 0.0480794 0.0478516 +0.0476237 0.0473958 0.047168 0.0469401 0.0467122 0.0464844 0.0462565 +0.0460286 0.0458008 0.0455729 0.0453451 0.0451172 0.0448893 0.0446615 +0.0444336 0.0442057 0.0439779 0.04375 0.0435221 0.0432943 0.0430664 +0.0428385 0.0426107 0.0423828 0.0421549 0.0419271 0.0416992 0.0414714 +0.0412435 0.0410156 0.0407878 0.0405599 0.040332 0.0401042 0.0398763 +0.0396484 0.0394206 0.0391927 0.0389648 0.038737 0.0385091 0.0382813 +0.0380534 0.0378255 0.0375977 0.0373698 0.0371419 0.0369141 0.0366862 +0.0364583 0.0362305 0.0360026 0.0357747 0.0355469 0.035319 0.0350911 +0.0348633 0.0346354 0.0344076 0.0341797 0.0339518 0.033724 0.0334961 +0.0332682 0.0330404 0.0328125 0.0325846 0.0323568 0.0321289 0.031901 +0.0316732 0.0314453 0.0312175 0.0309896 0.0307617 0.0305339 0.030306 +0.0300781 0.0298503 0.0296224 0.0293945 0.0291667 0.0289388 0.0287109 +0.0284831 0.0282552 0.0280273 0.0277995 0.0275716 0.0273438 0.0271159 +0.026888 0.0266602 0.0264323 0.0262044 0.0259766 0.0257487 0.0255208 +0.025293 0.0250651 0.0248372 0.0246094 0.0243815 0.0241536 0.0239258 +0.0236979 0.0234701 0.0232422 0.0230143 0.0227865 0.0225586 0.0223307 +0.0221029 0.021875 0.0216471 0.0214193 0.0211914 0.0209635 0.0207357 +0.0205078 0.0202799 0.0200521 0.0198242 0.0195964 0.0193685 0.0191406 +0.0189128 0.0186849 0.018457 0.0182292 0.0180013 0.0177734 0.0175456 +0.0173177 0.0170898 0.016862 0.0166341 0.0164063 0.0161784 0.0159505 +0.0157227 0.0154948 0.0152669 0.0150391 0.0148112 0.0145833 0.0143555 +0.0141276 0.0138997 0.0136719 0.013444 0.0132161 0.0129883 0.0127604 +0.0125326 0.0123047 0.0120768 0.011849 0.0116211 0.0113932 0.0111654 +0.0109375 0.0107096 0.0104818 0.0102539 0.010026 0.00979818 0.00957031 +0.00934245 0.00911458 0.00888672 0.00865885 0.00843099 0.00820313 0.00797526 +0.0077474 0.00751953 0.00729167 0.0070638 0.00683594 0.00660807 0.00638021 +0.00615234 0.00592448 0.00569662 0.00546875 0.00524089 0.00501302 0.00478516 +0.00455729 0.00432943 0.00410156 0.0038737 0.00364583 0.00341797 0.0031901 +0.00296224 0.00273438 0.00250651 0.00227865 0.00205078 0.00182292 0.00159505 +0.00136719 0.00113932 0.000911458 0.000683594 0.000455729 0.000227865 +0 0.0078125 0.015625 0.0234375 0.03125 0.0390625 0.046875 0.0546875 +0.0625 0.0703125 0.078125 0.0859375 0.09375 0.101562 0.109375 0.117188 +0.125 0.132812 0.140625 0.148438 0.15625 0.164062 0.171875 0.179688 +0.1875 0.195312 0.203125 0.210938 0.21875 0.226562 0.234375 0.242188 +0.25 0.257812 0.265625 0.273438 0.28125 0.289062 0.296875 0.304688 +0.3125 0.320312 0.328125 0.335938 0.34375 0.351562 0.359375 0.367188 +0.375 0.382812 0.390625 0.398438 0.40625 0.414062 0.421875 0.429688 +0.4375 0.445312 0.453125 0.460938 0.46875 0.476562 0.484375 0.492188 +0.5 0.507812 0.515625 0.523438 0.53125 0.539062 0.546875 0.554688 0.5625 +0.570312 0.578125 0.585938 0.59375 0.601562 0.609375 0.617188 0.625 +0.632812 0.640625 0.648438 0.65625 0.664062 0.671875 0.679688 0.6875 +0.695312 0.703125 0.710938 0.71875 0.726562 0.734375 0.742188 0.75 +0.757812 0.765625 0.773438 0.78125 0.789062 0.796875 0.804688 0.8125 +0.820312 0.828125 0.835938 0.84375 0.851562 0.859375 0.867188 0.875 +0.882812 0.890625 0.898438 0.90625 0.914062 0.921875 0.929688 0.9375 +0.945312 0.953125 0.960938 0.96875 0.976562 0.984375 0.992188 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.999574 0.999148 +0.998722 0.998295 0.997869 0.997443 0.997017 0.996591 0.996165 0.995739 +0.995313 0.994886 0.99446 0.994034 0.993608 0.993182 0.992756 0.99233 +0.991903 0.991477 0.991051 0.990625 0.990199 0.989773 0.989347 0.98892 +0.988494 0.988068 0.987642 0.987216 0.98679 0.986364 0.985937 0.985511 +0.985085 0.984659 0.984233 0.983807 0.983381 0.982955 0.982528 0.982102 +0.981676 0.98125 0.980824 0.980398 0.979972 0.979545 0.979119 0.978693 +0.978267 0.977841 0.977415 0.976989 0.976562 0.976136 0.97571 0.975284 +0.974858 0.974432 0.974006 0.97358 0.973153 0.972727 0.972301 0.971875 +0.971449 0.971023 0.970597 0.97017 0.969744 0.969318 0.968892 0.968466 +0.96804 0.967614 0.967188 0.966761 0.966335 0.965909 0.965483 0.965057 +0.964631 0.964205 0.963778 0.963352 0.962926 0.9625 0.962074 0.961648 +0.961222 0.960795 0.960369 0.959943 0.959517 0.959091 0.958665 0.958239 +0.957813 0.957386 0.95696 0.956534 0.956108 0.955682 0.955256 0.95483 +0.954403 0.953977 0.953551 0.953125 0.952699 0.952273 0.951847 0.95142 +0.950994 0.950568 0.950142 0.949716 0.94929 0.948864 0.948438 0.948011 +0.947585 0.947159 0.946733 0.946307 0.945881 0.945455 0.945028 0.944602 +0.944176 0.94375 0.943324 0.942898 0.942472 0.942046 0.941619 0.941193 +0.940767 0.940341 0.939915 0.939489 0.939063; +#A 2000 0.938636 0.93821 0.937784 0.937358 0.936932 0.936506 0.93608 +0.935653 0.935227 0.934801 0.934375 0.933949 0.933523 0.933097 0.932671 +0.932244 0.931818 0.931392 0.930966 0.93054 0.930114 0.929688 0.929261 +0.928835 0.928409 0.927983 0.927557 0.927131 0.926705 0.926278 0.925852 +0.925426 0.925 0.924574 0.924148 0.923722 0.923295 0.922869 0.922443 +0.922017 0.921591 0.921165 0.920739 0.920313 0.919886 0.91946 0.919034 +0.918608 0.918182 0.917756 0.91733 0.916903 0.916477 0.916051 0.915625 +0.915199 0.914773 0.914347 0.913921 0.913494 0.913068 0.912642 0.912216 +0.91179 0.911364 0.910938 0.910511 0.910085 0.909659 0.909233 0.908807 +0.908381 0.907955 0.907528 0.907102 0.906676 0.90625 0.905824 0.905398 +0.904972 0.904546 0.904119 0.903693 0.903267 0.902841 0.902415 0.901989 +0.901563 0.901136 0.90071 0.900284 0.899858 0.899432 0.899006 0.89858 +0.898153 0.897727 0.897301 0.896875 0.896449 0.896023 0.895597 0.895171 +0.894744 0.894318 0.893892 0.893466 0.89304 0.892614 0.892188 0.891761 +0.891335 0.890909 0.890483 0.890057 0.889631 0.889205 0.888779 0.888352 +0.887926 0.8875 0.887074 0.886648 0.886222 0.885796 0.885369 0.884943 +0.884517 0.884091 0.883665 0.883239 0.882813 0.882386 0.88196 0.881534 +0.881108 0.880682 0.880256 0.87983 0.879404 0.878977 0.878551 0.878125 +0.877699 0.877273 0.876847 0.876421 0.875994 0.875568 0.875142 0.874716 +0.87429 0.873864 0.873438 0.873011 0.872585 0.872159 0.871733 0.871307 +0.870881 0.870455 0.870028 0.869602 0.869176 0.86875 0.868324 0.867898 +0.867472 0.867046 0.866619 0.866193 0.865767 0.865341 0.864915 0.864489 +0.864063 0.863636 0.86321 0.862784 0.862358 0.861932 0.861506 0.86108 +0.860654 0.860227 0.859801 0.859375 0.858949 0.858523 0.858097 0.857671 +0.857244 0.856818 0.856392 0.855966 0.85554 0.855114 0.854688 0.854262 +0.853835 0.853409 0.852983 0.852557 0.852131 0.851705 0.851279 0.850852 +0.850426 0.85 0.849574 0.849148 0.848722 0.848296 0.847869 0.847443 +0.847017 0.846591 0.846165 0.845739 0.845313 0.844886 0.84446 0.844034 +0.843608 0.843182 0.842756 0.84233 0.841904 0.841477 0.841051 0.840625 +0.840199 0.839773 0.839347 0.838921 0.838494 0.838068 0.837642 0.837216 +0.83679 0.836364 0.835938 0.835512 0.835085 0.834659 0.834233 0.833807 +0.833381 0.832955 0.832529 0.832102 0.831676 0.83125 0.830824 0.830398 +0.829972 0.829546 0.82912 0.828693 0.828267 0.827841 0.827415 0.826989 +0.826563 0.826137 0.82571 0.825284 0.824858 0.824432 0.824006 0.82358 +0.823154 0.822727 0.822301 0.821875 0.821449 0.821023 0.820597 0.820171 +0.819744 0.819318 0.818892 0.818466 0.81804 0.817614 0.817188 0.816761 +0.816335 0.815909 0.815483 0.815057 0.814631 0.814205 0.813779 0.813352 +0.812926 0.8125 0.812074 0.811648 0.811222 0.810796 0.810369 0.809943 +0.809517 0.809091 0.808665 0.808239 0.807813 0.807387 0.80696 0.806534 +0.806108 0.805682 0.805256 0.80483 0.804404 0.803977 0.803551 0.803125 +0.802699 0.802273 0.801847 0.801421 0.800995 0.800568 0.800142 0.799716 +0.79929 0.798864 0.798438 0.798012 0.797585 0.797159 0.796733 0.796307 +0.795881 0.795455 0.795029 0.794602 0.794176 0.79375 0.793324 0.792898 +0.792472 0.792046 0.791619 0.791193 0.790767 0.790341 0.789915 0.789489 +0.789063 0.788637 0.78821 0.787784 0.787358 0.786932 0.786506 0.78608 +0.785654 0.785227 0.784801 0.784375 0.783949 0.783523 0.783097 0.782671 +0.782245 0.781818 0.781392 0.780966 0.78054 0.780114 0.779688 0.779262 +0.778835 0.778409 0.777983 0.777557 0.777131 0.776705 0.776279 0.775853 +0.775426 0.775 0.774574 0.774148 0.773722 0.773296 0.77287 0.772443 +0.772017 0.771591 0.771165 0.770739 0.770313 0.769887 0.76946 0.769034 +0.768608 0.768182 0.767756 0.76733 0.766904 0.766477 0.766051 0.765625 +0.765199 0.764773 0.764347 0.763921 0.763495 0.763068 0.762642 0.762216 +0.76179 0.761364 0.760938 0.760512 0.760085 0.759659 0.759233 0.758807 +0.758381 0.757955 0.757529 0.757102 0.756676 0.75625 0.755824 0.755398 +0.754972 0.754546 0.75412 0.753693 0.753267 0.752841 0.752415 0.751989 +0.751563 0.751137 0.75071 0.750284 0.749858 0.749432 0.749006 0.74858 +0.748154 0.747728 0.747301 0.746875 0.746449 0.746023 0.745597 0.745171 +0.744745 0.744318 0.743892 0.743466 0.74304 0.742614 0.742188 0.741762 +0.741335 0.740909 0.740483 0.740057 0.739631 0.739205 0.738779 0.738352 +0.737926 0.7375 0.737074 0.736648 0.736222 0.735796 0.73537 0.734943 +0.734517 0.734091 0.733665 0.733239 0.732813 0.732387 0.73196 0.731534 +0.731108 0.730682 0.730256 0.72983 0.729404 0.728978 0.728551 0.728125 +0.727699 0.727273 0.726847 0.726421 0.725995 0.725568 0.725142 0.724716 +0.72429 0.723864 0.723438 0.723012 0.722585 0.722159 0.721733 0.721307 +0.720881 0.720455 0.720029 0.719603 0.719176 0.71875 0.718324 0.717898 +0.717472 0.717046 0.71662 0.716193 0.715767 0.715341 0.714915 0.714489 +0.714063 0.713637 0.71321 0.712784 0.712358 0.711932 0.711506 0.71108 +0.710654 0.710228 0.709801 0.709375 0.708949 0.708523 0.708097 0.707671 +0.707245 0.706818 0.706392 0.705966 0.70554 0.705114 0.704688 0.704262 +0.703835 0.703409 0.702983 0.702557 0.702131 0.701705 0.701279 0.700853 +0.700426 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 +0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 +0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 +0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.692383 +0.684766 0.677148 0.669531 0.661914 0.654297 0.64668 0.639062 0.631445 +0.623828 0.616211 0.608594 0.600977 0.593359 0.585742 0.578125 0.570508 +0.562891 0.555273 0.547656 0.540039 0.532422 0.524805 0.517187 0.50957 +0.501953 0.494336 0.486719 0.479102 0.471484 0.463867 0.45625 0.448633 +0.441016 0.433398 0.425781 0.418164 0.410547 0.40293 0.395312 0.387695 +0.380078 0.372461 0.364844 0.357227 0.349609 0.341992 0.334375 0.326758 +0.319141 0.311523 0.303906 0.296289 0.288672 0.281055 0.273437 0.26582 +0.258203 0.250586 0.242969 0.235352 0.227734 0.220117 0.2125 0.212347 +0.212193 0.21204 0.211886 0.211733 0.211579 0.211426 0.211272 0.211119 +0.210965 0.210812 0.210658 0.210505 0.210352 0.210198 0.210045 0.209891 +0.209738 0.209584 0.209431 0.209277 0.209124 0.20897 0.208817 0.208663 +0.20851 0.208357 0.208203 0.20805 0.207896 0.207743 0.207589 0.207436 +0.207282 0.207129 0.206975 0.206822 0.206668 0.206515 0.206362 0.206208 +0.206055 0.205901 0.205748 0.205594 0.205441 0.205287 0.205134 0.20498 +0.204827 0.204674 0.20452 0.204367 0.204213 0.20406 0.203906 0.203753 +0.203599 0.203446 0.203292 0.203139 0.202985 0.202832 0.202679 0.202525 +0.202372 0.202218 0.202065 0.201911 0.201758 0.201604 0.201451 0.201297 +0.201144 0.20099 0.200837 0.200684 0.20053 0.200377 0.200223 0.20007 +0.199916 0.199763 0.199609 0.199456 0.199302 0.199149 0.198996 0.198842 +0.198689 0.198535 0.198382 0.198228 0.198075 0.197921 0.197768 0.197614 +0.197461 0.197307 0.197154 0.197001 0.196847 0.196694 0.19654 0.196387 +0.196233 0.19608 0.195926 0.195773 0.195619 0.195466 0.195312 0.195159 +0.195006 0.194852 0.194699 0.194545 0.194392 0.194238 0.194085 0.193931 +0.193778 0.193624 0.193471 0.193318 0.193164 0.193011 0.192857 0.192704 +0.19255 0.192397 0.192243 0.19209 0.191936 0.191783 0.191629 0.191476 +0.191323 0.191169 0.191016 0.190862 0.190709 0.190555 0.190402 0.190248 +0.190095 0.189941 0.189788 0.189634 0.189481 0.189328 0.189174 0.189021 +0.188867 0.188714 0.18856 0.188407 0.188253 0.1881 0.187946 0.187793 +0.187639 0.187486 0.187333 0.187179 0.187026 0.186872 0.186719 0.186565 +0.186412 0.186258 0.186105 0.185951 0.185798 0.185645 0.185491 0.185338 +0.185184 0.185031 0.184877 0.184724 0.18457 0.184417 0.184263 0.18411 +0.183956 0.183803 0.18365 0.183496 0.183343 0.183189 0.183036 0.182882 +0.182729 0.182575 0.182422 0.182268 0.182115 0.181961 0.181808 0.181655 +0.181501 0.181348 0.181194 0.181041 0.180887 0.180734 0.18058 0.180427 +0.180273 0.18012 0.179966 0.179813 0.17966 0.179506 0.179353 0.179199 +0.179046 0.178892 0.178739 0.178585 0.178432 0.178278 0.178125 0.177972 +0.177818 0.177665 0.177511 0.177358 0.177204 0.177051 0.176897 0.176744 +0.17659 0.176437 0.176283 0.17613 0.175977 0.175823 0.17567 0.175516 +0.175363 0.175209 0.175056 0.174902 0.174749 0.174595 0.174442 0.174288 +0.174135 0.173982 0.173828 0.173675 0.173521 0.173368 0.173214 0.173061 +0.172907 0.172754 0.1726 0.172447 0.172293 0.17214 0.171987 0.171833 +0.17168 0.171526 0.171373 0.171219 0.171066 0.170912 0.170759 0.170605 +0.170452 0.170299 0.170145 0.169992 0.169838 0.169685 0.169531 0.169378 +0.169224 0.169071 0.168917 0.168764 0.16861 0.168457 0.168304 0.16815 +0.167997 0.167843 0.16769 0.167536 0.167383 0.167229 0.167076 0.166922 +0.166769 0.166615 0.166462 0.166309 0.166155 0.166002 0.165848 0.165695 +0.165541 0.165388 0.165234 0.165081 0.164927 0.164774; +#A 3000 0.164621 0.164467 0.164314 0.16416 0.164007 0.163853 0.1637 +0.163546 0.163393 0.163239 0.163086 0.162932 0.162779 0.162626 0.162472 +0.162319 0.162165 0.162012 0.161858 0.161705 0.161551 0.161398 0.161244 +0.161091 0.160937 0.160784 0.160631 0.160477 0.160324 0.16017 0.160017 +0.159863 0.15971 0.159556 0.159403 0.159249 0.159096 0.158942 0.158789 +0.158636 0.158482 0.158329 0.158175 0.158022 0.157868 0.157715 0.157561 +0.157408 0.157254 0.157101 0.156948 0.156794 0.156641 0.156487 0.156334 +0.15618 0.156027 0.155873 0.15572 0.155566 0.155413 0.155259 0.155106 +0.154953 0.154799 0.154646 0.154492 0.154339 0.154185 0.154032 0.153878 +0.153725 0.153571 0.153418 0.153264 0.153111 0.152958 0.152804 0.152651 +0.152497 0.152344 0.15219 0.152037 0.151883 0.15173 0.151576 0.151423 +0.151269 0.151116 0.150963 0.150809 0.150656 0.150502 0.150349 0.150195 +0.150042 0.149888 0.149735 0.149581 0.149428 0.149275 0.149121 0.148968 +0.148814 0.148661 0.148507 0.148354 0.1482 0.148047 0.147893 0.14774 +0.147586 0.147433 0.14728 0.147126 0.146973 0.146819 0.146666 0.146512 +0.146359 0.146205 0.146052 0.145898 0.145745 0.145591 0.145438 0.145285 +0.145131 0.144978 0.144824 0.144671 0.144517 0.144364 0.14421 0.144057 +0.143903 0.14375 0.143597 0.143443 0.14329 0.143136 0.142983 0.142829 +0.142676 0.142522 0.142369 0.142215 0.142062 0.141908 0.141755 0.141602 +0.141448 0.141295 0.141141 0.140988 0.140834 0.140681 0.140527 0.140374 +0.14022 0.140067 0.139913 0.13976 0.139607 0.139453 0.1393 0.139146 +0.138993 0.138839 0.138686 0.138532 0.138379 0.138225 0.138072 0.137918 +0.137765 0.137612 0.137458 0.137305 0.137151 0.136998 0.136844 0.136691 +0.136537 0.136384 0.13623 0.136077 0.135924 0.13577 0.135617 0.135463 +0.13531 0.135156 0.135003 0.134849 0.134696 0.134542 0.134389 0.134235 +0.134082 0.133929 0.133775 0.133622 0.133468 0.133315 0.133161 0.133008 +0.132854 0.132701 0.132547 0.132394 0.13224 0.132087 0.131934 0.13178 +0.131627 0.131473 0.13132 0.131166 0.131013 0.130859 0.130706 0.130552 +0.130399 0.130246 0.130092 0.129939 0.129785 0.129632 0.129478 0.129325 +0.129171 0.129018 0.128864 0.128711 0.128557 0.128404 0.128251 0.128097 +0.127944 0.12779 0.127637 0.127483 0.12733 0.127176 0.127023 0.126869 +0.126716 0.126562 0.126409 0.126256 0.126102 0.125949 0.125795 0.125642 +0.125488 0.125335 0.125181 0.125028 0.124874 0.124721 0.124567 0.124414 +0.124261 0.124107 0.123954 0.1238 0.123647 0.123493 0.12334 0.123186 +0.123033 0.122879 0.122726 0.122573 0.122419 0.122266 0.122112 0.121959 +0.121805 0.121652 0.121498 0.121345 0.121191 0.121038 0.120884 0.120731 +0.120578 0.120424 0.120271 0.120117 0.119964 0.11981 0.119657 0.119503 +0.11935 0.119196 0.119043 0.118889 0.118736 0.118583 0.118429 0.118276 +0.118122 0.117969 0.117815 0.117662 0.117508 0.117355 0.117201 0.117048 +0.116894 0.116741 0.116588 0.116434 0.116281 0.116127 0.115974 0.11582 +0.115667 0.115513 0.11536 0.115206 0.115053 0.1149 0.114746 0.114593 +0.114439 0.114286 0.114132 0.113979 0.113825 0.113672 0.113518 0.113365 +0.113211 0.113058 0.112905 0.112751 0.112598 0.112444 0.112291 0.112137 +0.111984 0.11183 0.111677 0.111523 0.11137 0.111216 0.111063 0.11091 +0.110756 0.110603 0.110449 0.110296 0.110142 0.109989 0.109835 0.109682 +0.109528 0.109375 0.109222 0.109068 0.108915 0.108761 0.108608 0.108454 +0.108301 0.108147 0.107994 0.10784 0.107687 0.107533 0.10738 0.107227 +0.107073 0.10692 0.106766 0.106613 0.106459 0.106306 0.106152 0.105999 +0.105845 0.105692 0.105538 0.105385 0.105232 0.105078 0.104925 0.104771 +0.104618 0.104464 0.104311 0.104157 0.104004 0.10385 0.103697 0.103543 +0.10339 0.103237 0.103083 0.10293 0.102776 0.102623 0.102469 0.102316 +0.102162 0.102009 0.101855 0.101702 0.101549 0.101395 0.101242 0.101088 +0.100935 0.100781 0.100628 0.100474 0.100321 0.100167 0.100014 0.0998605 +0.099707 0.0995535 0.0994001 0.0992466 0.0990932 0.0989397 0.0987862 +0.0986328 0.0984793 0.0983259 0.0981724 0.0980189 0.0978655 0.097712 +0.0975586 0.0974051 0.0972516 0.0970982 0.0969447 0.0967913 0.0966378 +0.0964843 0.0963309 0.0961774 0.096024 0.0958705 0.095717 0.0955636 +0.0954101 0.0952567 0.0951032 0.0949497 0.0947963 0.0946428 0.0944894 +0.0943359 0.0941824 0.094029 0.0938755 0.0937221 0.0935686 0.0934151 +0.0932617 0.0931082 0.0929548 0.0928013 0.0926478 0.0924944 0.0923409 +0.0921875 0.092034 0.0918805 0.0917271 0.0915736 0.0914202 0.0912667 +0.0911132 0.0909598 0.0908063 0.0906529 0.0904994 0.0903459 0.0901925 +0.090039 0.0898856 0.0897321 0.0895786 0.0894252 0.0892717 0.0891183 +0.0889648 0.0888113 0.0886579 0.0885044 0.088351 0.0881975 0.088044 +0.0878906 0.0877371 0.0875837 0.0874302 0.0872767 0.0871233 0.0869698 +0.0868164 0.0866629 0.0865095 0.086356 0.0862025 0.0860491 0.0858956 +0.0857421 0.0855887 0.0854352 0.0852818 0.0851283 0.0849748 0.0848214 +0.0846679 0.0845145 0.084361 0.0842075 0.0840541 0.0839006 0.0837472 +0.0835937 0.0834403 0.0832868 0.0831333 0.0829799 0.0828264 0.082673 +0.0825195 0.082366 0.0822126 0.0820591 0.0819056 0.0817522 0.0815987 +0.0814453 0.0812918 0.0811384 0.0809849 0.0808314 0.080678 0.0805245 +0.0803711 0.0802176 0.0800641 0.0799107 0.0797572 0.0796038 0.0794503 +0.0792968 0.0791434 0.0789899 0.0788365 0.078683 0.0785295 0.0783761 +0.0782226 0.0780692 0.0779157 0.0777622 0.0776088 0.0774553 0.0773019 +0.0771484 0.0769949 0.0768415 0.076688 0.0765346 0.0763811 0.0762276 +0.0760742 0.0759207 0.0757673 0.0756138 0.0754603 0.0753069 0.0751534 +0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 +0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 +0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 +0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 +0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 0.075 +0.075 0.075 0.075 0.075 0.075 0.0758056 0.0766113 0.077417 0.0782226 +0.0790283 0.079834 0.0806396 0.0814453 0.082251 0.0830566 0.0838623 +0.084668 0.0854736 0.0862793 0.0870849 0.0878906 0.0886963 0.0895019 +0.0903076 0.0911133 0.0919189 0.0927246 0.0935303 0.0943359 0.0951416 +0.0959473 0.0967529 0.0975586 0.0983642 0.0991699 0.0999756 0.100781 +0.101587 0.102393 0.103198 0.104004 0.10481 0.105615 0.106421 0.107227 +0.108032 0.108838 0.109644 0.110449 0.111255 0.112061 0.112866 0.113672 +0.114478 0.115283 0.116089 0.116895 0.1177 0.118506 0.119312 0.120117 +0.120923 0.121729 0.122534 0.12334 0.124146 0.124951 0.125757 0.126562 +0.127368 0.128174 0.128979 0.129785 0.130591 0.131396 0.132202 0.133008 +0.133813 0.134619 0.135425 0.13623 0.137036 0.137842 0.138647 0.139453 +0.140259 0.141064 0.14187 0.142676 0.143481 0.144287 0.145093 0.145898 +0.146704 0.14751 0.148315 0.149121 0.149927 0.150732 0.151538 0.152344 +0.153149 0.153955 0.154761 0.155566 0.156372 0.157178 0.157983 0.158789 +0.159595 0.1604 0.161206 0.162012 0.162817 0.163623 0.164429 0.165234 +0.16604 0.166846 0.167651 0.168457 0.169263 0.170068 0.170874 0.17168 +0.172485 0.173291 0.174097 0.174902 0.175708 0.176514 0.177319 0.178125 +0.178931 0.179736 0.180542 0.181348 0.182153 0.182959 0.183765 0.18457 +0.185376 0.186182 0.186987 0.187793 0.188599 0.189404 0.19021 0.191016 +0.191821 0.192627 0.193433 0.194238 0.195044 0.19585 0.196655 0.197461 +0.198267 0.199072 0.199878 0.200684 0.201489 0.202295 0.203101 0.203906 +0.204712 0.205518 0.206323 0.207129 0.207935 0.20874 0.209546 0.210352 +0.211157 0.211963 0.212769 0.213574 0.21438 0.215186 0.215991 0.216797 +0.217603 0.218408 0.219214 0.22002 0.220825 0.221631 0.222437 0.223242 +0.224048 0.224854 0.225659 0.226465 0.22727 0.228076 0.228882 0.229687 +0.230493 0.231299 0.232104 0.23291 0.233716 0.234521 0.235327 0.236133 +0.236938 0.237744 0.23855 0.239355 0.240161 0.240967 0.241772 0.242578 +0.243384 0.244189 0.244995 0.245801 0.246606 0.247412 0.248218 0.249023 +0.249829 0.250635 0.25144 0.252246 0.253052 0.253857 0.254663 0.255469 +0.256274 0.25708 0.257886 0.258691 0.259497 0.260303 0.261108 0.261914 +0.26272 0.263525 0.264331 0.265137 0.265942 0.266748 0.267554 0.268359 +0.269165 0.269971 0.270776 0.271582 0.272388 0.273193 0.273999 0.274805 +0.27561 0.276416 0.277222 0.278027 0.278833 0.279639 0.280444 0.28125 +0.282056 0.282861 0.283667 0.284473 0.285278 0.286084 0.28689 0.287695 +0.288501 0.289307 0.290112 0.290918 0.291724 0.292529 0.293335 0.294141 +0.294946 0.295752 0.296558 0.297363 0.298169 0.298975 0.29978 0.300586 +0.301392 0.302197 0.303003 0.303809 0.304614 0.30542 0.306226 0.307031 +0.307837 0.308643 0.309448 0.310254 0.31106 0.311865 0.312671 0.313477 +0.314282 0.315088 0.315894 0.316699 0.317505 0.318311 0.319116 0.319922 +0.320728 0.321533 0.322339 0.323145 0.32395 0.324756 0.325562 0.326367 +0.327173 0.327979 0.328784 0.32959 0.330396 0.331201 0.332007 0.332812 +0.333618 0.334424 0.335229 0.336035 0.336841 0.337646 0.338452 0.339258 +0.340063 0.340869 0.341675 0.34248 0.343286 0.344092 0.344897 0.345703 +0.346509 0.347314 0.34812 0.348926 0.349731 0.350537 0.351343 0.352148 +0.352954 0.35376 0.354565 0.355371 0.356177 0.356982 0.357788; +#A 4000 0.358594 0.359399 0.360205 0.361011 0.361816 0.362622 0.363428 +0.364233 0.365039 0.365845 0.36665 0.367456 0.368262 0.369067 0.369873 +0.370679 0.371484 0.37229 0.373096 0.373901 0.374707 0.375513 0.376318 +0.377124 0.37793 0.378735 0.379541 0.380347 0.381152 0.381958 0.382764 +0.383569 0.384375 0.385181 0.385986 0.386792 0.387598 0.388403 0.389209 +0.390015 0.39082 0.391626 0.392432 0.393237 0.394043 0.394849 0.395654 +0.39646 0.397266 0.398071 0.398877 0.399683 0.400488 0.401294 0.4021 +0.402905 0.403711 0.404517 0.405322 0.406128 0.406934 0.407739 0.408545 +0.409351 0.410156 0.410962 0.411768 0.412573 0.413379 0.414185 0.41499 +0.415796 0.416602 0.417407 0.418213 0.419019 0.419824 0.42063 0.421436 +0.422241 0.423047 0.423853 0.424658 0.425464 0.42627 0.427075 0.427881 +0.428686 0.429492 0.430298 0.431103 0.431909 0.432715 0.43352 0.434326 +0.435132 0.435937 0.436743 0.437549 0.438354 0.43916 0.439966 0.440771 +0.441577 0.442383 0.443188 0.443994 0.4448 0.445605 0.446411 0.447217 +0.448022 0.448828 0.449634 0.450439 0.451245 0.452051 0.452856 0.453662 +0.454468 0.455273 0.456079 0.456885 0.45769 0.458496 0.459302 0.460107 +0.460913 0.461719 0.462524 0.46333 0.464136 0.464941 0.465747 0.466553 +0.467358 0.468164 0.46897 0.469775 0.470581 0.471387 0.472192 0.472998 +0.473804 0.474609 0.475415 0.476221 0.477026 0.477832 0.478638 0.479443 +0.480249 0.481055 0.48186 0.482666 0.483472 0.484277 0.485083 0.485889 +0.486694 0.4875 0.487044 0.486589 0.486133 0.485677 0.485221 0.484766 +0.48431 0.483854 0.483398 0.482943 0.482487 0.482031 0.481575 0.48112 +0.480664 0.480208 0.479753 0.479297 0.478841 0.478385 0.47793 0.477474 +0.477018 0.476562 0.476107 0.475651 0.475195 0.47474 0.474284 0.473828 +0.473372 0.472917 0.472461 0.472005 0.471549 0.471094 0.470638 0.470182 +0.469727 0.469271 0.468815 0.468359 0.467904 0.467448 0.466992 0.466536 +0.466081 0.465625 0.465169 0.464714 0.464258 0.463802 0.463346 0.462891 +0.462435 0.461979 0.461523 0.461068 0.460612 0.460156 0.4597 0.459245 +0.458789 0.458333 0.457878 0.457422 0.456966 0.45651 0.456055 0.455599 +0.455143 0.454687 0.454232 0.453776 0.45332 0.452865 0.452409 0.451953 +0.451497 0.451042 0.450586 0.45013 0.449674 0.449219 0.448763 0.448307 +0.447852 0.447396 0.44694 0.446484 0.446029 0.445573 0.445117 0.444661 +0.444206 0.44375 0.443294 0.442838 0.442383 0.441927 0.441471 0.441016 +0.44056 0.440104 0.439648 0.439193 0.438737 0.438281 0.437825 0.43737 +0.436914 0.436458 0.436003 0.435547 0.435091 0.434635 0.43418 0.433724 +0.433268 0.432812 0.432357 0.431901 0.431445 0.43099 0.430534 0.430078 +0.429622 0.429167 0.428711 0.428255 0.427799 0.427344 0.426888 0.426432 +0.425977 0.425521 0.425065 0.424609 0.424154 0.423698 0.423242 0.422786 +0.422331 0.421875 0.421419 0.420963 0.420508 0.420052 0.419596 0.419141 +0.418685 0.418229 0.417773 0.417318 0.416862 0.416406 0.41595 0.415495 +0.415039 0.414583 0.414128 0.413672 0.413216 0.41276 0.412305 0.411849 +0.411393 0.410937 0.410482 0.410026 0.40957 0.409115 0.408659 0.408203 +0.407747 0.407292 0.406836 0.40638 0.405924 0.405469 0.405013 0.404557 +0.404102 0.403646 0.40319 0.402734 0.402279 0.401823 0.401367 0.400911 +0.400456 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 +0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 +0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 +0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4; +#X coords 0 1 4409 0 200 140 1; +#X restore 271 194 graph; +#X obj 73 187 tabwrite~ show; +#X text 121 37 hold down control to add/remove points; +#X msg 73 9 bang; +#X obj 73 63 s-env~ t; +#N canvas 0 0 450 300 datastore 0; +#X obj 10 10 r SSSADDATA; +#X msg 10 30 \; SSSAD t/envelope 3 3 19 44 44 69 78 83 86 3 119 27 +121 66 162 77 186 44 195 51 \; SSSAD test/envelope 3 3 \; SSSAD_ADMIN +set \;; +#X connect 0 0 1 0; +#X restore 349 63 pd datastore; +#X obj 349 86 sssad/datastore; +#X text 307 154 Click load to load one.; +#X connect 0 0 1 0; +#X connect 0 0 6 0; +#X connect 1 0 3 0; +#X connect 5 0 0 0; +#X connect 6 0 3 0; diff --git a/s-env~.pd b/s-env~.pd new file mode 100644 index 0000000..3f8102c --- /dev/null +++ b/s-env~.pd @@ -0,0 +1,281 @@ +#N canvas 9 15 721 668 10; +#N canvas 0 16 999 675 1125data 0; +#X coords 0 0 198 86 198 86 1; +#X restore 4 18 pd \$0data; +#N canvas 183 252 599 314 1125template 0; +#X obj 17 51 struct \$0template float x float y array \$0arrayvals +\$0arraytemplate; +#X obj 17 86 outlet; +#X obj 17 17 plot -x x(3:195)(3:195) -y y(3:83)(3:83) \$0arrayvals +333 1 0 0 0; +#X connect 0 0 1 0; +#X restore 236 36 pd \$0template; +#N canvas 435 201 450 300 1125arraytemplate 0; +#X obj 24 43 struct \$0arraytemplate float x float y; +#X obj 24 87 filledpolygon 333 333 1 -2 -2 2 -2 2 2 -2 2 -2 -2; +#X obj 24 65 print; +#X connect 0 0 2 0; +#X restore 236 13 pd \$0arraytemplate; +#N canvas 0 0 439 363 initarray 0; +#X obj 163 211 pointer; +#X msg 133 47 bang; +#X text 186 35 click here to re-initialize; +#X msg 300 176 \; \$1 clear; +#X obj 163 96 \$0; +#X msg 163 188 traverse \$1 \, bang; +#X obj 163 119 makefilename pd-%ddata; +#X obj 35 251 append \$0template x; +#X msg 35 219 0; +#X obj 133 12 loadbang; +#X obj 133 72 t b b b; +#X obj 68 114 outlet; +#X obj 163 140 t s s; +#X connect 0 0 7 1; +#X connect 1 0 10 0; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 12 0; +#X connect 8 0 7 0; +#X connect 9 0 1 0; +#X connect 10 0 11 0; +#X connect 10 1 8 0; +#X connect 10 2 4 0; +#X connect 12 0 5 0; +#X connect 12 1 3 0; +#X restore 415 174 pd initarray; +#X obj 236 58 print; +#X obj 415 316 pointer; +#X obj 453 387 setsize \$0template \$0arrayvals; +#X msg 415 293 traverse \$1 \, next; +#X obj 415 249 \$0; +#X obj 415 272 makefilename pd-%ddata; +#X msg 415 198 bang; +#X obj 415 225 delay 10; +#X obj 357 543 inlet; +#X text 12 519 this is how long you want the envelope to take.; +#X obj 357 592 outlet~; +#X obj 415 543 t p p; +#X obj 453 363 1; +#N canvas 37 101 484 592 envgen 0; +#X obj 102 241 element \$0template \$0arrayvals; +#X obj 102 316 get \$0arraytemplate x y; +#X obj 171 545 line~; +#X obj 171 402 *; +#X obj 102 145 f; +#X obj 130 145 + 1; +#X msg 102 116 0; +#X obj 171 501 f; +#X obj 171 471 t b f; +#X obj 171 523 pack f f; +#X obj 242 523 delay; +#X obj 242 544 s \$0-loop; +#X obj 23 102 r \$0-loop; +#X obj 102 169 t f f; +#X obj 102 216 spigot; +#X obj 171 360 - 3; +#X obj 171 424 t f f; +#X obj 171 448 -; +#X obj 258 411 expr 1 - $f1; +#X obj 148 172 getsize \$0template \$0arrayvals; +#X obj 132 194 < 1; +#X obj 102 3 inlet; +#X obj 307 216 inlet; +#X obj 171 567 outlet~; +#X obj 102 30 t b f b; +#X obj 175 132 pointer; +#X msg 175 109 traverse \$1 \, next; +#X obj 175 65 \$0; +#X obj 175 88 makefilename pd-%ddata; +#X msg 222 423 0; +#X obj 168 217 select 0; +#X obj 258 361 - 3; +#X obj 307 344 set \$0arraytemplate x y; +#X text 350 324 redraw; +#X obj 102 262 t p p; +#X obj 270 498 s \$1/ticksize; +#X obj 258 389 / 80; +#X obj 171 380 / 192; +#X connect 0 0 34 0; +#X connect 1 0 15 0; +#X connect 1 0 32 0; +#X connect 1 1 31 0; +#X connect 1 1 32 1; +#X connect 2 0 23 0; +#X connect 3 0 16 0; +#X connect 4 0 5 0; +#X connect 4 0 13 0; +#X connect 5 0 4 1; +#X connect 6 0 4 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 8 0 10 0; +#X connect 8 1 9 1; +#X connect 8 1 10 1; +#X connect 8 1 35 0; +#X connect 9 0 2 0; +#X connect 10 0 11 0; +#X connect 12 0 4 0; +#X connect 13 0 14 0; +#X connect 13 1 20 0; +#X connect 14 0 0 0; +#X connect 15 0 37 0; +#X connect 16 0 17 1; +#X connect 16 1 17 0; +#X connect 17 0 8 0; +#X connect 18 0 7 1; +#X connect 19 0 20 1; +#X connect 20 0 14 1; +#X connect 20 0 30 0; +#X connect 21 0 24 0; +#X connect 22 0 0 1; +#X connect 24 0 6 0; +#X connect 24 1 3 1; +#X connect 24 2 27 0; +#X connect 25 0 19 0; +#X connect 26 0 25 0; +#X connect 27 0 28 0; +#X connect 28 0 26 0; +#X connect 29 0 17 1; +#X connect 30 0 29 0; +#X connect 31 0 36 0; +#X connect 34 0 1 0; +#X connect 34 1 32 2; +#X connect 36 0 18 0; +#X connect 37 0 3 0; +#X restore 357 568 pd envgen; +#X obj 306 490 set \$0arraytemplate x y; +#X obj 462 462 element \$0template \$0arrayvals; +#X msg 384 463 3; +#X msg 306 464 3; +#X obj 434 416 t b b b p; +#X msg 462 440 0; +#X obj 415 340 t p p b p; +#N canvas 212 221 507 438 save 0; +#X obj 57 11 r SSSAD_SAVE; +#X obj 74 239 element \$0template \$0arrayvals; +#X obj 74 260 get \$0arraytemplate x y; +#X obj 74 217 f; +#X obj 102 217 + 1; +#X obj 74 286 list append; +#X obj 74 194 until; +#X msg 111 172 0; +#X obj 53 333 list prepend; +#X obj 146 333 t l; +#X obj 30 362 list; +#X obj 57 36 t b b b b; +#X obj 279 217 inlet; +#X obj 72 127 pointer; +#X msg 72 104 traverse \$1 \, next; +#X obj 72 60 \$0; +#X obj 72 83 makefilename pd-%ddata; +#X obj 72 148 getsize \$0template \$0arrayvals; +#X obj 7 415 outlet; +#X obj 7 394 sssad/sssad \$1/envelope; +#X connect 0 0 11 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 5 1; +#X connect 3 0 4 0; +#X connect 3 0 1 0; +#X connect 4 0 3 1; +#X connect 5 0 8 0; +#X connect 6 0 3 0; +#X connect 7 0 3 1; +#X connect 8 0 9 0; +#X connect 8 0 10 1; +#X connect 9 0 8 1; +#X connect 10 0 19 1; +#X connect 11 0 10 0; +#X connect 11 1 15 0; +#X connect 11 2 7 0; +#X connect 11 3 8 1; +#X connect 12 0 1 1; +#X connect 13 0 17 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 16 0 14 0; +#X connect 17 0 6 0; +#X connect 19 0 18 0; +#X restore 445 568 pd save; +#N canvas 64 35 650 643 load 0; +#X obj 21 6 inlet; +#X obj 21 65 until; +#X obj 21 103 list append; +#X obj 120 148 bang; +#X obj 21 148 list split 2; +#X obj 21 229 list split 1; +#X obj 361 235 pointer; +#X obj 156 305 setsize \$0template \$0arrayvals; +#X msg 361 212 traverse \$1 \, next; +#X obj 361 168 \$0; +#X obj 361 191 makefilename pd-%ddata; +#X msg 172 126 0; +#X obj 156 232 f; +#X obj 185 232 + 1; +#X obj 49 174 t l b; +#X obj 21 32 t b l b b; +#X obj 183 342 element \$0template \$0arrayvals; +#X obj 27 389 set \$0arraytemplate x y; +#X obj 156 258 t f f; +#X obj 186 281 + 1; +#X connect 0 0 15 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 1 1; +#X connect 4 0 14 0; +#X connect 4 1 2 1; +#X connect 4 2 3 0; +#X connect 5 0 17 0; +#X connect 5 1 17 1; +#X connect 6 0 7 1; +#X connect 6 0 16 1; +#X connect 8 0 6 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X connect 11 0 12 1; +#X connect 12 0 13 0; +#X connect 12 0 18 0; +#X connect 13 0 12 1; +#X connect 14 0 5 0; +#X connect 14 1 12 0; +#X connect 15 0 1 0; +#X connect 15 1 2 1; +#X connect 15 2 11 0; +#X connect 15 3 9 0; +#X connect 16 0 17 2; +#X connect 18 0 16 0; +#X connect 18 1 19 0; +#X connect 19 0 7 0; +#X restore 445 592 pd load; +#X text 414 7 args: [name]; +#X obj 284 537 r \$1/shot; +#X obj 5 19 cnv 15 196 84 empty empty empty 20 12 0 14 -260818 -66577 +0; +#X connect 1 0 4 0; +#X connect 3 0 10 0; +#X connect 5 0 24 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 9 0 7 0; +#X connect 10 0 11 0; +#X connect 11 0 8 0; +#X connect 12 0 17 0; +#X connect 15 0 17 1; +#X connect 15 1 25 0; +#X connect 16 0 6 0; +#X connect 17 0 14 0; +#X connect 19 0 18 2; +#X connect 20 0 18 1; +#X connect 21 0 18 0; +#X connect 22 0 21 0; +#X connect 22 1 20 0; +#X connect 22 2 23 0; +#X connect 22 3 19 1; +#X connect 23 0 19 0; +#X connect 24 0 15 0; +#X connect 24 1 22 0; +#X connect 24 2 16 0; +#X connect 24 3 6 1; +#X connect 25 0 26 0; +#X connect 28 0 17 0; +#X coords 0 -1 1 1 206 108 1 0 0; diff --git a/s-ezdac~.pd b/s-ezdac~.pd new file mode 100644 index 0000000..725d2f7 --- /dev/null +++ b/s-ezdac~.pd @@ -0,0 +1,66 @@ +#N canvas 75 180 480 349 10; +#X obj 224 205 dac~; +#X obj 226 24 inlet~; +#X obj 260 50 inlet~; +#X obj 262 206 outlet~; +#X obj 166 206 outlet~; +#X obj 269 155 line~; +#X msg 269 132 \$1 10; +#X obj 259 180 *~; +#X obj 224 180 *~; +#X obj 270 112 / 127; +#X obj 144 237 throw~ mainout-l; +#X obj 264 237 throw~ mainout-r; +#X obj 323 63 expr 1 - $f1; +#X obj 225 73 *~; +#X obj 260 72 *~; +#X obj 323 39 / 127; +#X obj 323 16 r \$0-pan; +#X obj 269 93 r \$0-volume; +#X obj 353 213 s~ \$1-r; +#X obj 102 211 s~ \$1-l; +#X obj 11 58 hsl 64 16 0 127 0 1 \$0-volume \$0-volume volume -2 -6 +0 8 -260818 -1 -1 300 1; +#X obj 11 29 hsl 64 16 0 127 0 1 \$0-pan \$0-pan pan -2 -6 0 8 -260818 +-1 -1 3075 1; +#X obj 0 106 sssad/sssad \$1/pan; +#X obj 0 174 sssad/sssad \$1/volume; +#X obj 416 93 inlet; +#X msg 416 134 \; \$1 \$2 \;; +#X obj 3 303 s-connect \$1/pan \$0-pan; +#X obj 3 324 s-connect \$1/volume \$0-volume; +#X obj 416 171 print; +#X obj 416 113 list; +#X obj 0 194 s \$0-volume; +#X obj 142 153 r \$0-volume; +#X obj 121 85 r \$0-pan; +#X obj 0 126 s \$0-pan; +#X connect 1 0 13 0; +#X connect 2 0 14 0; +#X connect 5 0 7 1; +#X connect 5 0 8 1; +#X connect 6 0 5 0; +#X connect 7 0 0 1; +#X connect 7 0 3 0; +#X connect 7 0 11 0; +#X connect 7 0 18 0; +#X connect 8 0 0 0; +#X connect 8 0 4 0; +#X connect 8 0 10 0; +#X connect 8 0 19 0; +#X connect 9 0 6 0; +#X connect 12 0 13 1; +#X connect 13 0 8 0; +#X connect 14 0 7 0; +#X connect 15 0 12 0; +#X connect 15 0 14 1; +#X connect 16 0 15 0; +#X connect 17 0 9 0; +#X connect 22 0 33 0; +#X connect 23 0 30 0; +#X connect 24 0 29 0; +#X connect 25 0 28 0; +#X connect 29 0 25 0; +#X connect 31 0 23 1; +#X connect 32 0 22 1; +#X coords 0 0 1 1 100 80 1 0 0; diff --git a/s-filtdelay~.pd b/s-filtdelay~.pd new file mode 100644 index 0000000..8cd83a9 --- /dev/null +++ b/s-filtdelay~.pd @@ -0,0 +1,48 @@ +#N canvas 497 297 455 342 10; +#X obj 140 11 inlet~; +#X obj 169 271 outlet~; +#X obj 210 188 +~; +#X obj 225 160 *~; +#X obj 8 28 hsl 64 16 0 127 0 1 \$0/length \$1/length length -2 -6 +0 8 -260818 -1 -1 843 1; +#X obj 8 89 hsl 64 16 0 127 0 1 \$0/cutoff \$1/cutoff cutoff -2 -6 +0 8 -260818 -1 -1 5600 1; +#X obj 341 143 / 100; +#X obj 225 85 mtof; +#X obj 370 30 block~ 1; +#X obj 225 132 delread~ \$0-del; +#X obj 211 213 s-jail; +#X obj 316 173 table \$0-del 2000; +#X obj 264 270 delwrite~ \$0-del 2000; +#X obj 319 18 inlet; +#X msg 319 59 \; \$1 \$2 \;; +#X obj 319 96 print; +#X obj 319 38 list; +#X obj 225 107 expr 8000 / $f1; +#X obj 341 121 r \$0/feedback; +#X obj 225 42 r \$0/length; +#X obj 2 322 sssad/auto \$0/feedback \$1/feedback; +#X obj 3 300 sssad/auto \$0/length \$1/length; +#X obj 8 59 hsl 64 16 0 127 0 1 \$0/feedback \$1/feedback feedback +-2 -6 0 8 -260818 -1 -1 981 1; +#X obj 264 248 lop~; +#X obj 287 204 r \$0/cutoff; +#X obj 287 226 mtof; +#X connect 0 0 2 0; +#X connect 2 0 10 0; +#X connect 3 0 2 1; +#X connect 6 0 3 1; +#X connect 7 0 17 0; +#X connect 9 0 3 0; +#X connect 10 0 1 0; +#X connect 10 0 23 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 16 0 14 0; +#X connect 17 0 9 0; +#X connect 18 0 6 0; +#X connect 19 0 7 0; +#X connect 23 0 12 0; +#X connect 24 0 25 0; +#X connect 25 0 23 1; +#X coords 0 0 1 1 120 110 1 0 0; diff --git a/s-filter~.pd b/s-filter~.pd new file mode 100644 index 0000000..19c4275 --- /dev/null +++ b/s-filter~.pd @@ -0,0 +1,37 @@ +#N canvas 259 315 374 347 10; +#X obj 168 23 inlet~; +#X obj 168 248 outlet~; +#X obj 8 59 hsl 64 16 0 127 0 1 \$0/cutoff \$1/cutoff cutoff -2 -6 +0 8 -260818 -1 -1 3363 1; +#X obj 168 163 vcf~; +#X obj 8 29 hsl 64 16 0 127 0 1 \$0/resonance \$1/resonance resonance +-2 -6 0 8 -260818 -1 -1 1400 1; +#X obj 168 199 *~; +#X obj 168 224 s-jail; +#X obj 180 89 +~; +#X obj 197 67 inlet~; +#X obj 180 109 mtof~; +#X obj 292 7 inlet; +#X obj 292 29 list; +#X msg 292 51 \; \$1 \$2 \;; +#X obj 13 90 sssad/sssad \$1/resonance; +#X obj 11 121 sssad/sssad \$1/cutoff; +#X obj 273 105 r \$0/resonance; +#X obj 180 46 r \$0/cutoff; +#X connect 0 0 3 0; +#X connect 2 0 14 1; +#X connect 3 0 5 0; +#X connect 4 0 13 1; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 7 0 9 0; +#X connect 8 0 7 1; +#X connect 9 0 3 1; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 13 0 4 0; +#X connect 14 0 2 0; +#X connect 15 0 3 2; +#X connect 15 0 5 1; +#X connect 16 0 7 0; +#X coords 0 0 1 1 100 80 1 0 0; diff --git a/s-freqnoise~-help.pd b/s-freqnoise~-help.pd new file mode 100644 index 0000000..363366f --- /dev/null +++ b/s-freqnoise~-help.pd @@ -0,0 +1,8 @@ +#N canvas 275 219 606 444 10; +#X obj 94 14 phasor~ 440; +#X obj 475 14 sssad/panel; +#X obj 95 337 s-ezdac~ x; +#X obj 94 42 s-freqnoise~ mytest; +#X connect 0 0 3 0; +#X connect 3 0 2 0; +#X connect 3 0 2 1; diff --git a/s-freqnoise~.pd b/s-freqnoise~.pd new file mode 100644 index 0000000..d5ef4a6 --- /dev/null +++ b/s-freqnoise~.pd @@ -0,0 +1,192 @@ +#N canvas 62 67 878 612 10; +#N canvas 265 48 643 640 fft-analysis 0; +#X obj 15 164 *~; +#X obj 14 99 inlet~; +#X obj 15 218 rfft~; +#X obj 36 140 tabreceive~ \$0-hann; +#X obj 14 353 *~; +#X obj 56 353 *~; +#X obj 15 8 block~ 512 4; +#X text 85 88 The inlet~ now re-uses 3/4 of the previous block \, along +with the 128 new samples.; +#X text 221 141 window function as before.; +#X obj 76 196 tabreceive~ \$0-gain; +#X obj 77 225 *~; +#X obj 16 506 *~; +#X obj 37 481 tabreceive~ \$0-hann; +#X obj 77 283 /~ 768; +#X text 98 301 divide by 3N/2 (factor of N because rfft and rifft aren't +normalized \, and 3/2 is the gain of overlap-4 reconstruction when +Hann window function is applied twice.); +#X text 120 216 Just to show we're doing something \, we multiply each +channel by a gain controlled by an array in the main window. The control +is quartic-scaled for easy editing.; +#X obj 78 251 *~; +#X text 92 357 Multiply the (complex-valued) spectrum amplitudes by +the (real-valued) gain-and-normalization-factor; +#X obj 15 399 rifft~; +#X text 89 396 Real-valued inverse Fourier transform. This uses only +the first N/@ points of its inputs \, supplying the rest by symmerty +(so it's OK that rfft~ obly puts out those N/2 points.) There's only +one outlet because the output is real-valued.; +#X obj 16 566 outlet~; +#X text 88 499 Multiply by the Hann window function again \, necessary +because the operation we performed might result in a signal that doesn't +go smoothly to zero at both ends.; +#X text 89 566 This repackages the output into 64-sample chunks for +the parent window. Since we're operating with an overlap \, the outlet~ +object performs an overlapped sum of the blocks computed in this window. +; +#X text 129 8 block~ object specifies vector size of 512 and overlap +four. This window now computes blocks of 512 samples at intervals of +128 samples computed on the parent patch.; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 2 1 5 0; +#X connect 3 0 0 1; +#X connect 4 0 18 0; +#X connect 5 0 18 1; +#X connect 9 0 10 0; +#X connect 9 0 10 1; +#X connect 10 0 16 0; +#X connect 10 0 16 1; +#X connect 11 0 20 0; +#X connect 12 0 11 1; +#X connect 13 0 4 1; +#X connect 13 0 5 1; +#X connect 16 0 13 0; +#X connect 18 0 11 0; +#X restore 26 383 pd fft-analysis; +#N canvas 35 66 592 433 Hann-window 0; +#N canvas 0 0 450 300 graph1 0; +#X array \$0-hann 512 float 0; +#X coords 0 1 511 0 200 120 1; +#X restore 293 249 graph; +#X msg 171 263 0; +#X obj 65 312 osc~; +#X obj 65 264 samplerate~; +#X obj 65 335 *~ -0.5; +#X obj 65 358 +~ 0.5; +#X obj 57 383 tabwrite~ \$0-hann; +#X text 279 241 1; +#X text 272 359 0; +#X text 288 372 0; +#X obj 65 288 / 512; +#X obj 57 241 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 336 221 Hann window; +#X text 113 310 period 512; +#X text 90 215 recalculate Hann; +#X text 125 230 window table; +#X obj 57 146 loadbang; +#X msg 79 179 \; pd dsp 1; +#X text 40 27 The Hann window is now recomputed on 'loadbang' to make +the file smaller (it doesn't have to be saved with the array.); +#X text 474 375 511; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 10 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 10 0 2 0; +#X connect 11 0 3 0; +#X connect 11 0 1 0; +#X connect 11 0 6 0; +#X connect 16 0 11 0; +#X connect 16 0 17 0; +#X restore 224 359 pd Hann-window; +#X obj 25 264 noise~; +#N canvas 0 0 450 300 graph1 0; +#X array \$0-gain 257 float 2; +#X coords 0 5 256 -0.01 256 60 1; +#X restore 59 34 graph; +#X obj 27 411 outlet~; +#X obj 92 349 *~; +#X obj 8 40 tgl 14 1 \$0-noise \$0-noise noise 0 -6 0 8 -260818 -1 +-1 1 1; +#X obj 24 348 *~; +#X obj 93 264 inlet~; +#X obj 76 290 r \$0-noise; +#X obj 114 316 expr 1 - $f1; +#X obj 60 35 cnv 15 254 58 empty empty empty 20 12 0 14 -260818 -66577 +0; +#X obj 247 226 loadbang; +#X msg 247 254 const 0; +#X obj 247 283 s \$0-gain; +#X obj 580 90 r SSSAD_SAVE; +#X obj 602 265 list prepend; +#X obj 736 265 t l; +#X obj 580 294 list; +#X obj 602 208 f; +#X obj 602 180 until; +#X msg 647 156 0; +#X obj 648 208 + 1; +#X obj 602 237 tabread \$0-gain; +#X obj 580 116 t b b b; +#X obj 431 319 sssad/sssad \$1/fourier; +#X obj 431 365 until; +#X obj 431 450 list append; +#X obj 530 472 bang; +#X obj 431 472 list split 1; +#X obj 461 413 f; +#X obj 431 386 t b b; +#X msg 477 384 0; +#X obj 488 413 + 1; +#X obj 431 512 tabwrite \$0-gain; +#X obj 431 340 t b b l; +#X obj 626 430 sssad/sssad \$1/noise; +#X obj 761 408 r \$0-noise; +#X obj 626 452 s \$0-noise; +#X msg 602 156 256; +#X text 339 6 This is an almost exact copy of Miller's "Fourier Resynthesis" +example patch \, but GOPified and with some state saving ability using +Frank B's sssad. All the hard work was his \, all the mistakes are +mine. I just think it's the coolest sounding thing ever.; +#X msg 681 192 bang; +#X connect 0 0 4 0; +#X connect 2 0 7 0; +#X connect 5 0 0 0; +#X connect 7 0 0 0; +#X connect 8 0 5 0; +#X connect 9 0 10 0; +#X connect 9 0 7 1; +#X connect 10 0 5 1; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 15 0 24 0; +#X connect 16 0 17 0; +#X connect 16 0 18 1; +#X connect 17 0 16 1; +#X connect 18 0 25 1; +#X connect 19 0 22 0; +#X connect 19 0 23 0; +#X connect 20 0 19 0; +#X connect 21 0 19 1; +#X connect 21 0 41 0; +#X connect 22 0 19 1; +#X connect 23 0 16 0; +#X connect 24 0 18 0; +#X connect 24 1 39 0; +#X connect 24 2 21 0; +#X connect 25 0 35 0; +#X connect 26 0 31 0; +#X connect 27 0 29 0; +#X connect 28 0 26 1; +#X connect 29 0 34 0; +#X connect 29 1 27 1; +#X connect 29 2 28 0; +#X connect 30 0 33 0; +#X connect 30 0 34 1; +#X connect 31 0 27 0; +#X connect 31 1 30 0; +#X connect 32 0 30 1; +#X connect 33 0 30 1; +#X connect 35 0 26 0; +#X connect 35 1 32 0; +#X connect 35 2 27 1; +#X connect 36 0 38 0; +#X connect 37 0 36 1; +#X connect 39 0 20 0; +#X connect 41 0 16 1; +#X coords 0 -1 1 1 320 100 1 0 0; diff --git a/s-ftoms.pd b/s-ftoms.pd new file mode 100644 index 0000000..c1983b5 --- /dev/null +++ b/s-ftoms.pd @@ -0,0 +1,6 @@ +#N canvas 214 203 150 125 10; +#X obj 13 10 inlet; +#X obj 13 63 outlet; +#X obj 13 37 expr 44100 / $f1; +#X connect 0 0 2 0; +#X connect 2 0 1 0; diff --git a/s-fuzz~.pd b/s-fuzz~.pd new file mode 100644 index 0000000..e74693c --- /dev/null +++ b/s-fuzz~.pd @@ -0,0 +1,25 @@ +#N canvas 334 177 478 445 10; +#X obj 179 173 -~; +#X obj 200 135 wrap~; +#X obj 179 79 inlet~; +#X obj 178 249 outlet~; +#X obj 179 199 /~ 30; +#X obj 179 105 *~ 30; +#X obj 10 33 hsl 64 16 127 0 0 0 \$0/fuxx \$1/fuxx fuxx -2 -6 0 8 -260818 +-1 -1 0 1; +#X obj 266 65 * 100; +#X obj 178 222 s-jail; +#X obj 266 44 / 127; +#X obj 266 19 r \$0/fuxx; +#X connect 0 0 4 0; +#X connect 1 0 0 1; +#X connect 2 0 5 0; +#X connect 4 0 8 0; +#X connect 5 0 0 0; +#X connect 5 0 1 0; +#X connect 7 0 5 1; +#X connect 7 0 4 1; +#X connect 8 0 3 0; +#X connect 9 0 7 0; +#X connect 10 0 9 0; +#X coords 0 0 1 1 100 55 1 0 0; diff --git a/s-gain~.pd b/s-gain~.pd new file mode 100644 index 0000000..b266d6b --- /dev/null +++ b/s-gain~.pd @@ -0,0 +1,22 @@ +#N canvas 514 165 293 375 10; +#X obj 148 78 inlet~; +#X obj 148 277 outlet~; +#X obj 8 34 hsl 64 16 0 127 0 0 \$0/gain \$1/gain gain -2 -6 0 8 -260818 +-1 -1 0 1; +#X msg 171 173 \$1 10; +#X obj 171 198 line~; +#X obj 148 221 *~; +#X obj 148 250 s-jail; +#X obj 171 131 / 127; +#X obj 171 153 * 3; +#X obj 6 350 sssad/auto \$0/gain \$1/gain; +#X obj 171 109 r \$0/gain; +#X connect 0 0 5 0; +#X connect 3 0 4 0; +#X connect 4 0 5 1; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 7 0 8 0; +#X connect 8 0 3 0; +#X connect 10 0 7 0; +#X coords 0 0 1 1 90 55 1 0 0; diff --git a/s-hex.pd b/s-hex.pd new file mode 100644 index 0000000..6ed0b4e --- /dev/null +++ b/s-hex.pd @@ -0,0 +1,57 @@ +#N canvas 491 180 504 459 10; +#X obj 394 169 t b f; +#X obj 394 235 list split 1; +#X obj 394 291 list split 1; +#X obj 343 101 mod 16; +#X obj 394 315 symbol; +#X obj 394 147 - 10; +#X msg 394 195 a b c d e f; +#X obj 269 235 makefilename %d; +#X obj 343 124 moses 10; +#X obj 141 169 t b f; +#X obj 141 235 list split 1; +#X obj 141 291 list split 1; +#X obj 90 101 mod 16; +#X obj 141 315 symbol; +#X obj 141 147 - 10; +#X msg 141 195 a b c d e f; +#X obj 16 235 makefilename %d; +#X obj 90 124 moses 10; +#X obj 191 29 t f f; +#X obj 191 49 / 16; +#X obj 191 71 int; +#X msg 338 368 set \$1; +#X obj 269 396 makefilename not-set-yet; +#X obj 338 344 makefilename %%s%s; +#X obj 191 7 inlet; +#X obj 269 418 outlet; +#X connect 0 0 6 0; +#X connect 0 1 1 1; +#X connect 1 1 2 0; +#X connect 2 0 4 0; +#X connect 3 0 8 0; +#X connect 4 0 23 0; +#X connect 5 0 0 0; +#X connect 6 0 1 0; +#X connect 7 0 4 0; +#X connect 8 0 7 0; +#X connect 8 1 5 0; +#X connect 9 0 15 0; +#X connect 9 1 10 1; +#X connect 10 1 11 0; +#X connect 11 0 13 0; +#X connect 12 0 17 0; +#X connect 13 0 22 0; +#X connect 14 0 9 0; +#X connect 15 0 10 0; +#X connect 16 0 13 0; +#X connect 17 0 16 0; +#X connect 17 1 14 0; +#X connect 18 0 19 0; +#X connect 18 1 3 0; +#X connect 19 0 20 0; +#X connect 20 0 12 0; +#X connect 21 0 22 0; +#X connect 22 0 25 0; +#X connect 23 0 21 0; +#X connect 24 0 18 0; diff --git a/s-jail.pd b/s-jail.pd new file mode 100644 index 0000000..6b02165 --- /dev/null +++ b/s-jail.pd @@ -0,0 +1,8 @@ +#N canvas 0 0 433 249 10; +#X obj 10 33 hip~ 5; +#X obj 10 53 clip~ -0.5 0.5; +#X obj 10 11 inlet~; +#X obj 10 77 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 0 0; diff --git a/s-krafty~.pd b/s-krafty~.pd new file mode 100644 index 0000000..d2ebb69 --- /dev/null +++ b/s-krafty~.pd @@ -0,0 +1,42 @@ +#N canvas 215 94 492 414 10; +#X obj 282 223 osc~; +#X obj 282 173 line~; +#X obj 282 198 mtof~; +#X obj 283 323 *~; +#X obj 239 31 s-miditrigger; +#X obj 239 7 inlet; +#X obj 282 347 outlet~; +#X obj 325 293 line~; +#X obj 325 271 pack f 3; +#X obj 239 114 pack 0 f; +#X obj 10 37 hsl 64 16 0 127 0 1 \$0/length \$0/length length -2 -6 +0 8 -260818 -1 -1 2943 1; +#X obj 290 85 * 10; +#X obj 420 5 inlet; +#X obj 420 26 list; +#X msg 420 48 \; \$1 \$2 \;; +#X obj 80 137 r \$1/length; +#X obj 80 157 s \$0/length; +#X obj 15 217 sssad/sssad \$1/length; +#X obj 157 193 r \$0/length; +#X obj 15 241 s \$0/length; +#X obj 290 62 r \$0/length; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 6 0; +#X connect 4 0 9 0; +#X connect 4 1 1 0; +#X connect 4 2 8 0; +#X connect 5 0 4 0; +#X connect 7 0 3 1; +#X connect 8 0 7 0; +#X connect 9 0 1 0; +#X connect 11 0 9 1; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 15 0 16 0; +#X connect 17 0 19 0; +#X connect 18 0 17 1; +#X connect 20 0 11 0; +#X coords 0 -1 1 1 100 60 1 0 0; diff --git a/s-loader.pd b/s-loader.pd new file mode 100644 index 0000000..26acde9 --- /dev/null +++ b/s-loader.pd @@ -0,0 +1,28 @@ +#N canvas 395 117 487 522 10; +#X obj 31 469 soundfiler; +#X obj 31 362 openpanel; +#X obj 5 27 bng 15 250 50 0 \$0-open \$0-open open 0 -6 0 8 -260818 +-1 -1; +#X symbolatom 32 29 16 0 0 2 tablename - #0/tablename; +#X obj 31 407 pack s s; +#X obj 202 397 symbol; +#X obj 31 333 t b b; +#X obj 31 304 r \$0-open; +#X obj 239 373 r \$0/tablename; +#X obj 82 384 r \$0/tablename; +#X msg 202 426 \; pd-arrays obj 10 10 s-array \$1 \;; +#X msg 17 439 read -resize \$1 \$2; +#X obj 32 50 nbx 10 14 -1e+37 1e+37 0 0 empty \$0/size size -30 4 0 +8 -262144 -1 -1 0 256; +#X obj 30 491 s \$0/size; +#X connect 0 0 13 0; +#X connect 1 0 4 0; +#X connect 4 0 11 0; +#X connect 5 0 10 0; +#X connect 6 0 1 0; +#X connect 6 1 5 0; +#X connect 7 0 6 0; +#X connect 8 0 5 1; +#X connect 9 0 4 1; +#X connect 11 0 0 0; +#X coords 0 0 1 1 150 70 1 0 0; diff --git a/s-lookup.pd b/s-lookup.pd new file mode 100644 index 0000000..7e6e9a6 --- /dev/null +++ b/s-lookup.pd @@ -0,0 +1,17 @@ +#N canvas 71 209 450 300 10; +#X obj 13 88 list append; +#X msg 13 66 bang; +#X obj 13 114 list split 0; +#X obj 13 142 list split 1; +#X obj 13 40 t b f; +#X obj 108 13 inlet list-or-bang-to-clear; +#X obj 13 13 inlet lookup; +#X obj 13 169 outlet; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 2 1 3 0; +#X connect 3 0 7 0; +#X connect 4 0 1 0; +#X connect 4 1 2 1; +#X connect 5 0 0 1; +#X connect 6 0 4 0; diff --git a/s-metro.pd b/s-metro.pd new file mode 100644 index 0000000..d176139 --- /dev/null +++ b/s-metro.pd @@ -0,0 +1,78 @@ +#N canvas 108 75 628 435 10; +#X obj 55 230 metro; +#X obj 5 68 tgl 16 0 \$0/startstop \$1/startstop startstop 0 -6 0 8 +-260818 -1 -1 0 127; +#X obj 55 257 f; +#X obj 92 257 + 1; +#X obj 85 36 nbx 3 16 1 500 0 1 \$0/bpm \$1/bpm bpm 0 -6 0 8 -260818 +-1 -1 180 256; +#X obj 123 123 expr 60000 / $f1; +#X obj 123 206 / 4; +#X obj 5 36 nbx 3 16 1 256 0 1 \$0/ticksperbeat \$1/ticksperbeat ticksperbeat +0 -6 0 8 -260818 -1 -1 4 256; +#X obj 467 323 / 4; +#X obj 467 346 int; +#X obj 467 370 change; +#X obj 86 68 bng 16 250 50 0 \$0/reset \$1/reset reset 0 -6 0 8 -260818 +-1 -1; +#X msg 17 166 0; +#X obj 520 172 *; +#X obj 520 133 t b f; +#X obj 507 82 s \$1/beatlength; +#X obj 507 37 s \$1/ticklength; +#X obj 467 400 s \$1/beat; +#X obj 540 400 outlet; +#X obj 6 283 outlet; +#X obj 99 230 r \$1/pos; +#X obj 55 283 s \$1/tick; +#X obj 397 112 r \$0/ticksperbeat; +#X obj 507 16 r \$1/ticksize; +#X obj 507 61 r \$1/beatsize; +#X obj 520 197 s \$1/beatsize; +#X obj 483 300 r \$0/ticksperbeat; +#X obj 18 99 r \$0/startstop; +#X obj 123 99 r \$0/bpm; +#X obj 17 144 r \$0/reset; +#X obj 139 144 r \$0/ticksperbeat; +#X obj 467 278 r \$1/tick; +#X obj 202 255 s \$1/ticksize; +#X obj 520 112 r \$1/ticksize; +#X obj 139 164 t b f; +#X obj 202 232 f; +#X msg 202 210 bang; +#X obj 202 190 r \$1/beat; +#X obj 3 389 sssad/auto \$0/bpm \$1/bpm; +#X obj 3 410 sssad/auto \$0/ticksperbeat \$1/ticksperbeat; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 2 0 19 0; +#X connect 2 0 21 0; +#X connect 3 0 2 1; +#X connect 5 0 6 0; +#X connect 6 0 0 1; +#X connect 6 0 35 1; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 17 0; +#X connect 10 0 18 0; +#X connect 12 0 2 0; +#X connect 13 0 25 0; +#X connect 14 0 13 0; +#X connect 14 1 13 1; +#X connect 20 0 2 1; +#X connect 22 0 13 0; +#X connect 23 0 16 0; +#X connect 24 0 15 0; +#X connect 26 0 8 1; +#X connect 27 0 0 0; +#X connect 28 0 5 0; +#X connect 29 0 12 0; +#X connect 30 0 34 0; +#X connect 31 0 8 0; +#X connect 33 0 14 0; +#X connect 34 0 6 0; +#X connect 34 1 6 1; +#X connect 35 0 32 0; +#X connect 36 0 35 0; +#X connect 37 0 36 0; +#X coords 0 0 1 1 120 90 1 0 0; diff --git a/s-microenv.pd b/s-microenv.pd new file mode 100644 index 0000000..ab0b0bb --- /dev/null +++ b/s-microenv.pd @@ -0,0 +1,297 @@ +#N struct 1141template float x float y array 1141arrayvals 1141arraytemplate +; +#N struct 1141arraytemplate float x float y; +#N canvas 239 16 721 668 10; +#N canvas 0 16 999 675 1141data 0; +#X scalar 1141template 0 0 \; 0 50 \; 60 50 \; 120 50 \; 180 50 \; +\;; +#X coords 0 0 200 114 200 114 1; +#X restore 10 6 pd \$0data; +#N canvas 287 289 599 314 1141template 0; +#X obj 15 61 struct \$0template float x float y array \$0arrayvals +\$0arraytemplate; +#X obj 15 96 outlet; +#X obj 15 39 drawpolygon 0 0 10 35 190 35 190 110 10 110 10 35; +#X obj 15 17 plot \$0arrayvals 0 2 10 15 20; +#X obj 16 120 drawpolygon 0 0 1 30 200 30; +#X connect 0 0 1 0; +#X restore 236 36 pd \$0template; +#N canvas 435 201 450 300 1141arraytemplate 0; +#X obj 24 43 struct \$0arraytemplate float x float y; +#X obj 24 72 filledpolygon 0 0 0 -3 0 0 3 3 0 0 -3; +#X restore 236 13 pd \$0arraytemplate; +#N canvas 0 0 925 648 initarray 0; +#X obj 163 219 pointer; +#X msg 133 47 bang; +#X text 186 35 click here to re-initialize; +#X msg 305 198 \; \$1 clear; +#X obj 163 96 \$0; +#X msg 163 196 traverse \$1 \, bang; +#X obj 163 119 makefilename pd-%ddata; +#X obj 35 259 append \$0template x; +#X msg 35 227 0; +#X obj 133 12 loadbang; +#X obj 163 140 t s s s; +#X obj 133 72 t b b b; +#X obj 41 98 s \$0-entries; +#X obj 648 164 pointer; +#X obj 670 245 setsize \$0template \$0arrayvals; +#X obj 522 568 set \$0arraytemplate x y; +#X obj 578 400 element \$0template \$0arrayvals; +#X obj 648 188 t p b p; +#X msg 648 141 traverse \$1 \, next; +#X obj 648 97 \$0; +#X obj 648 120 makefilename pd-%ddata; +#X msg 648 46 bang; +#X obj 648 21 r \$0-entries; +#X obj 670 217 4; +#X obj 534 323 until; +#X obj 564 282 > 0; +#X obj 534 261 t f f; +#X obj 534 303 spigot; +#X obj 534 348 f; +#X obj 562 348 + 1; +#X msg 645 318 0; +#X obj 648 276 t b b p; +#X obj 534 368 t f f f; +#X obj 648 73 delay 10; +#X msg 556 465 50; +#X obj 534 236 3; +#X obj 522 465 * 60; +#X connect 0 0 7 1; +#X connect 1 0 11 0; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 10 0; +#X connect 8 0 7 0; +#X connect 9 0 1 0; +#X connect 10 1 5 0; +#X connect 10 2 3 0; +#X connect 11 0 12 0; +#X connect 11 1 8 0; +#X connect 11 2 4 0; +#X connect 13 0 17 0; +#X connect 16 0 15 2; +#X connect 17 0 31 0; +#X connect 17 1 23 0; +#X connect 17 2 14 1; +#X connect 18 0 13 0; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 21 0 33 0; +#X connect 22 0 21 0; +#X connect 23 0 14 0; +#X connect 24 0 28 0; +#X connect 25 0 27 1; +#X connect 26 0 27 0; +#X connect 26 1 25 0; +#X connect 27 0 24 0; +#X connect 28 0 29 0; +#X connect 28 0 32 0; +#X connect 29 0 28 1; +#X connect 30 0 28 0; +#X connect 31 0 35 0; +#X connect 31 1 30 0; +#X connect 31 2 16 1; +#X connect 32 0 36 0; +#X connect 32 1 34 0; +#X connect 32 2 16 0; +#X connect 33 0 19 0; +#X connect 34 0 15 1; +#X connect 35 0 26 0; +#X connect 36 0 15 0; +#X restore 103 129 pd initarray; +#X obj 236 58 print; +#N canvas 0 16 999 675 processpoints 0; +#X obj 313 153 pointer; +#X obj 335 234 setsize \$0template \$0arrayvals; +#X obj 313 177 t p b p; +#X msg 313 130 traverse \$1 \, next; +#X obj 313 86 \$0; +#X obj 313 109 makefilename pd-%ddata; +#X msg 313 35 bang; +#X obj 313 10 r \$0-entries; +#X obj 335 206 4; +#X obj 12 444 set \$0arraytemplate x y; +#X obj 90 232 element \$0template \$0arrayvals; +#X obj 46 155 until; +#X obj 76 114 > 0; +#X obj 46 93 t f f; +#X obj 46 135 spigot; +#X obj 46 180 f; +#X obj 74 180 + 1; +#X msg 157 150 0; +#X obj 46 68 3; +#X obj 160 108 t b b p p; +#X obj 313 60 metro 100; +#X obj 250 324 get \$0arraytemplate x y; +#X obj 208 407 > 180; +#X obj 208 428 select 1; +#X msg 208 448 180; +#X obj 272 428 select 1; +#X obj 272 407 < 0; +#X msg 272 448 0; +#X obj 375 404 select 1; +#X obj 439 402 select 1; +#X obj 394 511 pack f f; +#X obj 250 348 t f f f; +#X obj 394 535 s \$0xy; +#X obj 406 344 t f f f; +#X obj 12 411 unpack f f; +#X obj 12 380 r \$0xy; +#X obj 105 263 t p p; +#X obj 375 383 > 95; +#X obj 439 379 < 20; +#X msg 439 422 20; +#X msg 375 424 95; +#X obj 59 208 t f f; +#X msg 80 333 180; +#X msg 17 333 0; +#X obj 80 291 select 3; +#X obj 17 291 select 0; +#X text 533 28 every 100 milliseconds this loops through the entire +array and makes sure the points are in range. this is a kludge because +[struct] doesn't tell us when things have been clicked.; +#X connect 0 0 2 0; +#X connect 2 0 19 0; +#X connect 2 1 8 0; +#X connect 2 2 1 1; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 6 0 20 0; +#X connect 7 0 6 0; +#X connect 8 0 1 0; +#X connect 10 0 36 0; +#X connect 11 0 15 0; +#X connect 12 0 14 1; +#X connect 13 0 14 0; +#X connect 13 1 12 0; +#X connect 14 0 11 0; +#X connect 15 0 16 0; +#X connect 15 0 41 0; +#X connect 16 0 15 1; +#X connect 17 0 15 0; +#X connect 18 0 13 0; +#X connect 19 0 18 0; +#X connect 19 1 17 0; +#X connect 19 2 10 1; +#X connect 20 0 4 0; +#X connect 21 0 31 0; +#X connect 21 1 33 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 24 0 30 0; +#X connect 25 0 27 0; +#X connect 26 0 25 0; +#X connect 27 0 30 0; +#X connect 28 0 40 0; +#X connect 29 0 39 0; +#X connect 30 0 32 0; +#X connect 31 0 22 0; +#X connect 31 1 26 0; +#X connect 31 2 30 0; +#X connect 33 0 37 0; +#X connect 33 1 38 0; +#X connect 33 2 30 1; +#X connect 34 0 9 0; +#X connect 34 1 9 1; +#X connect 35 0 34 0; +#X connect 36 0 21 0; +#X connect 36 1 9 2; +#X connect 37 0 28 0; +#X connect 38 0 29 0; +#X connect 39 0 30 1; +#X connect 40 0 30 1; +#X connect 41 0 44 0; +#X connect 41 0 45 0; +#X connect 41 1 10 0; +#X connect 42 0 9 0; +#X connect 43 0 9 0; +#X connect 44 0 42 0; +#X connect 45 0 43 0; +#X restore 103 156 pd processpoints; +#X obj 377 244 pointer; +#X obj 399 325 setsize \$0template \$0arrayvals; +#X obj 216 387 element \$0template \$0arrayvals; +#X obj 377 268 t p b p; +#X msg 377 221 traverse \$1 \, next; +#X obj 377 177 \$0; +#X obj 377 200 makefilename pd-%ddata; +#X msg 377 126 bang; +#X obj 377 101 r \$0-entries; +#X obj 399 297 4; +#X obj 377 356 t b b p; +#X obj 377 153 delay 10; +#X obj 216 411 get \$0arraytemplate x y; +#X obj 178 206 inlet; +#X obj 285 609 line~; +#X text 24 187 this is how long you want the envelope to take.; +#X obj 178 230 t b f; +#X obj 285 444 / 180; +#X obj 285 466 *; +#X obj 174 291 f; +#X obj 202 291 + 1; +#X obj 285 630 outlet~; +#X obj 372 436 expr 95 - $f1; +#X obj 372 459 / 75; +#X msg 174 262 0; +#X obj 285 565 f; +#X obj 285 535 t b f; +#X obj 285 587 pack f f; +#X obj 356 587 delay; +#X obj 356 608 s \$0-loop; +#X obj 79 246 r \$0-loop; +#X obj 204 340 < 4; +#X obj 174 315 t f f; +#X obj 174 362 spigot; +#X obj 285 511 -; +#X obj 285 488 t f f; +#X obj 11 37 cnv 15 198 82 empty empty empty 20 12 0 14 -260818 -66577 +0; +#X obj 21 42 cnv 15 178 73 empty empty empty 20 12 0 14 -166441 -66577 +0; +#X connect 1 0 4 0; +#X connect 6 0 9 0; +#X connect 8 0 18 0; +#X connect 9 0 16 0; +#X connect 9 1 15 0; +#X connect 9 2 7 1; +#X connect 10 0 6 0; +#X connect 11 0 12 0; +#X connect 12 0 10 0; +#X connect 13 0 17 0; +#X connect 14 0 13 0; +#X connect 15 0 7 0; +#X connect 16 2 8 1; +#X connect 17 0 11 0; +#X connect 18 0 23 0; +#X connect 18 1 28 0; +#X connect 19 0 22 0; +#X connect 20 0 27 0; +#X connect 22 0 30 0; +#X connect 22 1 24 1; +#X connect 23 0 24 0; +#X connect 24 0 41 0; +#X connect 25 0 26 0; +#X connect 25 0 38 0; +#X connect 26 0 25 1; +#X connect 28 0 29 0; +#X connect 29 0 31 1; +#X connect 30 0 25 0; +#X connect 31 0 33 0; +#X connect 32 0 31 0; +#X connect 32 0 34 0; +#X connect 32 1 33 1; +#X connect 32 1 34 1; +#X connect 33 0 20 0; +#X connect 34 0 35 0; +#X connect 36 0 25 0; +#X connect 37 0 39 1; +#X connect 38 0 39 0; +#X connect 38 1 37 0; +#X connect 39 0 8 0; +#X connect 40 0 32 0; +#X connect 41 0 40 1; +#X connect 41 1 40 0; +#X coords 0 -1 1 1 200 100 1 10 20; diff --git a/s-midictl.pd b/s-midictl.pd new file mode 100644 index 0000000..08a29e6 --- /dev/null +++ b/s-midictl.pd @@ -0,0 +1,50 @@ +#N canvas 363 281 452 313 10; +#X obj 4 51 ctlin; +#X obj 4 218 spigot; +#X obj 4 278 outlet; +#X obj 119 6 loadbang; +#X obj 119 51 == 0; +#X obj 34 74 spigot; +#X obj 4 165 spigot; +#X obj 71 52 != 0; +#X obj 66 255 spigot; +#X obj 124 159 loadbang; +#X msg 124 223 1; +#X msg 182 223 0; +#X obj 254 5 inlet; +#X obj 254 26 route set; +#X obj 254 49 unpack f f; +#X obj 34 108 == \$3; +#X obj 119 28 \$3; +#X text 127 99 s-midictl [ctrl-num] [send-name] [channel]; +#X obj 66 279 s \$2; +#X obj 124 201 select \$2; +#X obj 124 180 symbol \$2; +#X obj 41 195 == \$1; +#X connect 0 0 6 0; +#X connect 0 1 21 0; +#X connect 0 2 5 0; +#X connect 1 0 2 0; +#X connect 1 0 8 0; +#X connect 3 0 16 0; +#X connect 4 0 6 1; +#X connect 5 0 15 0; +#X connect 6 0 1 0; +#X connect 7 0 5 1; +#X connect 8 0 18 0; +#X connect 9 0 20 0; +#X connect 10 0 8 1; +#X connect 11 0 8 1; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 21 1; +#X connect 14 1 15 1; +#X connect 14 1 16 0; +#X connect 15 0 6 1; +#X connect 16 0 4 0; +#X connect 16 0 7 0; +#X connect 19 0 10 0; +#X connect 19 1 11 0; +#X connect 20 0 19 0; +#X connect 21 0 1 1; +#X coords 0 0 1 1 150 25 0; diff --git a/s-midiloop-help.pd b/s-midiloop-help.pd new file mode 100644 index 0000000..69f6dd9 --- /dev/null +++ b/s-midiloop-help.pd @@ -0,0 +1,44 @@ +#N canvas 164 101 450 300 10; +#X obj 324 57 s-metro time; +#X obj 227 64 r time/tick; +#X obj 227 86 / 4; +#X obj 227 107 int; +#X obj 227 128 change; +#X text 227 44 Hi Hat; +#N canvas 0 0 450 300 datastore 0; +#X obj 10 10 r SSSADDATA; +#X msg 10 30 \; SSSAD d/pulsewidth 64 \; SSSAD d/wave 1 \; SSSAD out/volume +122.968 \; SSSAD out/pan 61.9881 \; SSSAD out2/volume 8.06349 \; SSSAD +out2/pan 61.9881 \; SSSAD loop1/data 47 81.4671 41 78 51 70.3106 41 +0 60 34.3242 43 78 63 28.1337 43 0 84 10.9228 46 92 87 13.4398 46 0 +92 3.12229 46 68 103 21.0588 43 75 103 36.2812 46 0 106 51.1495 43 +0 117 5.23107 41 88 120 51.2855 41 0 0 62.3512 43 86 4 0.401096 43 +0 20 25.4351 46 88 22 24.2106 46 0 27 60.333 48 74 31 11.4441 48 0 +\; SSSAD time/ticksperbeat 4 \; SSSAD time/bpm 180 \; SSSAD_ADMIN set +\;; +#X connect 0 0 1 0; +#X restore 358 152 pd datastore; +#X obj 337 173 sssad/datastore; +#X obj 8 89 s-midiloop loop1 time/tick 128; +#X obj 227 170 line~; +#X obj 273 170 noise~; +#X obj 227 214 s-ezdac~ out2; +#X obj 227 192 *~; +#X msg 227 150 1 \, 0 50; +#X obj 8 156 s-synth~ d; +#X obj 8 213 s-ezdac~ out; +#X text 5 1 First hit load to hear a bad loop recorded earlier. Then +start the timer.; +#X text 8 69 Hit record and play around.; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 13 0; +#X connect 8 0 14 0; +#X connect 9 0 12 0; +#X connect 10 0 12 1; +#X connect 12 0 11 0; +#X connect 12 0 11 1; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 14 0 15 1; diff --git a/s-midiloop.pd b/s-midiloop.pd new file mode 100644 index 0000000..2b253aa --- /dev/null +++ b/s-midiloop.pd @@ -0,0 +1,163 @@ +#N canvas 7 17 986 667 10; +#X obj 490 632 outlet; +#X text 540 635 Midi pairs come out here.; +#X obj 490 544 t l l; +#X obj 520 567 unpack f f; +#X obj 62 21 tgl 14 0 \$0/passthrough \$1/passthrough passthrough 17 +7 0 8 -260818 -1 -1 0 1; +#X obj 520 610 s \$0/num1; +#X obj 585 589 s \$0/num2; +#X floatatom 4 42 3 0 0 0 - #0/num1 -; +#X floatatom 32 42 3 0 0 0 - #0/num2 -; +#X text 156 0 args: name timername length [midichannel]; +#X obj 6 77 notein \$4; +#X obj 574 4 r \$2; +#X text 78 77 Midi notes come in here; +#X text 609 3 Listen for timer ticks; +#X obj 604 48 mod \$3; +#X text 657 49 Loop at the right length; +#X obj 6 106 pack f f; +#X obj 6 246 t l l; +#X text 695 100 Get the time since the last timer tick; +#X obj 574 126 timer; +#X obj 36 464 list prepend; +#X obj 115 437 pack f f; +#X obj 604 70 s \$0/tick; +#X obj 166 415 r \$0/subtime; +#X obj 574 150 s \$0/subtime; +#X obj 604 100 r \$0/gettime; +#X obj 94 316 s \$0/gettime; +#X obj 115 414 f; +#X obj 131 392 r \$0/tick; +#X obj 574 25 t b f; +#X obj 36 510 list prepend; +#X obj 132 511 t l; +#X obj 36 269 spigot; +#X obj 73 247 r \$0/record; +#X obj 129 464 r \$0/record; +#X text 108 368 Data stored is: tick - tick offset - note - volume +; +#X text 214 464 Reset the data if we hit record; +#X obj 129 485 sel 1; +#X obj 36 533 s \$0/data; +#X obj 36 293 t l b b b; +#X obj 94 342 s \$0/resettime; +#X obj 463 69 r \$0/resettime; +#X obj 513 247 r \$0/data; +#X obj 490 269 list; +#X text 527 270 Data lives here; +#X obj 490 339 list append; +#X obj 490 291 t b l; +#X obj 490 363 list split 4; +#X obj 490 390 unpack f f f f; +#X obj 490 421 ==; +#X obj 490 222 t b f; +#X obj 490 468 delay; +#X obj 552 468 pack f f; +#X obj 490 500 list; +#X text 489 183 Replay our list; +#X obj 490 443 sel 1 0; +#X obj 490 202 r \$0/tick; +#X obj 162 511 s \$0/reset; +#X obj 708 214 r \$0/reset; +#X obj 708 235 t b b; +#X obj 761 235 r \$0/data; +#X obj 738 258 list; +#X obj 738 280 t b l; +#X obj 738 302 until; +#X obj 738 327 list append; +#X obj 738 349 list split 4; +#X obj 738 372 unpack f f f f; +#X text 771 259 Zero every note we know about; +#X obj 800 393 pack f 0; +#X obj 43 129 r \$0/record; +#X obj 51 152 r \$0/passthrough; +#X obj 43 203 ||; +#X obj 6 224 spigot; +#X obj 4 21 tgl 14 0 \$0/record \$1/record record 17 7 0 8 -260818 +-1 -1 0 1; +#X obj 6 570 s \$0/passnotes; +#X obj 380 500 r \$0/passnotes; +#X obj 51 173 t b f; +#X obj 828 349 bang; +#X text 220 131 sssad persistence; +#X obj 221 147 sssad/auto \$0/data \$1/data; +#X obj 719 165 s-connect \$1/data \$0/data; +#X text 717 147 User can send in data; +#X connect 2 0 0 0; +#X connect 2 1 3 0; +#X connect 3 0 5 0; +#X connect 3 1 6 0; +#X connect 10 0 16 0; +#X connect 10 1 16 1; +#X connect 11 0 29 0; +#X connect 14 0 22 0; +#X connect 16 0 72 0; +#X connect 17 0 74 0; +#X connect 17 1 32 0; +#X connect 19 0 24 0; +#X connect 20 0 30 0; +#X connect 21 0 20 1; +#X connect 23 0 21 1; +#X connect 25 0 19 1; +#X connect 27 0 21 0; +#X connect 28 0 27 1; +#X connect 29 0 19 0; +#X connect 29 1 14 0; +#X connect 30 0 31 0; +#X connect 30 0 38 0; +#X connect 31 0 30 1; +#X connect 32 0 39 0; +#X connect 33 0 32 1; +#X connect 34 0 37 0; +#X connect 37 0 30 1; +#X connect 37 0 57 0; +#X connect 39 0 20 0; +#X connect 39 1 27 0; +#X connect 39 2 40 0; +#X connect 39 3 26 0; +#X connect 41 0 19 0; +#X connect 42 0 43 1; +#X connect 43 0 46 0; +#X connect 45 0 47 0; +#X connect 46 0 45 0; +#X connect 46 1 45 1; +#X connect 47 0 48 0; +#X connect 47 1 45 1; +#X connect 48 0 49 0; +#X connect 48 1 51 1; +#X connect 48 2 52 0; +#X connect 48 3 52 1; +#X connect 49 0 55 0; +#X connect 50 0 43 0; +#X connect 50 1 49 1; +#X connect 51 0 53 0; +#X connect 52 0 53 1; +#X connect 53 0 2 0; +#X connect 55 0 51 0; +#X connect 55 1 45 0; +#X connect 56 0 50 0; +#X connect 58 0 59 0; +#X connect 59 0 43 1; +#X connect 59 0 61 1; +#X connect 59 1 61 0; +#X connect 60 0 61 1; +#X connect 61 0 62 0; +#X connect 62 0 63 0; +#X connect 62 1 64 1; +#X connect 63 0 64 0; +#X connect 64 0 65 0; +#X connect 65 0 66 0; +#X connect 65 1 64 1; +#X connect 65 2 77 0; +#X connect 66 2 68 0; +#X connect 68 0 2 0; +#X connect 69 0 71 0; +#X connect 70 0 76 0; +#X connect 71 0 72 1; +#X connect 72 0 17 0; +#X connect 75 0 2 0; +#X connect 76 0 71 0; +#X connect 76 1 71 1; +#X connect 77 0 63 1; +#X coords 0 -1 1 1 150 60 1 0 0; diff --git a/s-midimemory-help.pd b/s-midimemory-help.pd new file mode 100644 index 0000000..bc09600 --- /dev/null +++ b/s-midimemory-help.pd @@ -0,0 +1,9 @@ +#N canvas 0 0 450 300 10; +#X obj 318 8 s-metro time; +#X floatatom 75 132 5 0 127 0 data_in - -; +#X floatatom 75 184 5 0 127 0 data_out - -; +#X text 119 132 Turn to 127 to loop; +#X obj 75 159 s-midimemory 32 time; +#X text 207 76 Start timer ->; +#X connect 1 0 4 0; +#X connect 4 0 2 0; diff --git a/s-midimemory.pd b/s-midimemory.pd new file mode 100644 index 0000000..bc21ec6 --- /dev/null +++ b/s-midimemory.pd @@ -0,0 +1,68 @@ +#N canvas 32 141 598 499 10; +#X obj 81 239 f; +#X floatatom 161 63 5 0 0 0 - - -; +#X obj 9 64 moses 127; +#X obj 51 156 spigot; +#X msg 13 90 1; +#X msg 49 89 0; +#X obj 20 27 t f f; +#X floatatom 118 224 5 0 0 0 - - -; +#X obj 104 158 spigot; +#X msg 69 216 bang; +#X obj 299 287 spigot; +#X msg 97 90 1; +#X msg 144 92 0; +#X obj 350 350 line; +#X obj 386 73 table \$0-knobmem \$1; +#X obj 161 40 mod \$1; +#X obj 243 16 inlet; +#X obj 17 5 inlet; +#X obj 53 484 outlet; +#X obj 276 231 tabread \$0-knobmem; +#X obj 352 316 pack f 50; +#X obj 93 264 tabwrite \$0-knobmem; +#X obj 301 106 \$3; +#X obj 301 81 loadbang; +#X obj 300 131 select 0; +#X msg 299 156 127; +#X obj 315 178 s \$0-height; +#X obj 63 5 r \$0-height; +#X obj 160 17 r \$2/tick; +#X obj 396 275 r \$2/ticklength; +#X text 322 6 args: [length] [timername] [height]; +#X connect 0 0 21 0; +#X connect 1 0 8 0; +#X connect 1 0 19 0; +#X connect 1 0 21 1; +#X connect 2 0 4 0; +#X connect 2 0 12 0; +#X connect 2 0 18 0; +#X connect 2 1 5 0; +#X connect 2 1 11 0; +#X connect 3 0 7 0; +#X connect 4 0 3 1; +#X connect 4 0 8 1; +#X connect 5 0 3 1; +#X connect 5 0 8 1; +#X connect 6 0 2 0; +#X connect 6 1 3 0; +#X connect 7 0 0 1; +#X connect 8 0 9 0; +#X connect 9 0 0 0; +#X connect 10 0 20 0; +#X connect 11 0 10 1; +#X connect 12 0 10 1; +#X connect 13 0 18 0; +#X connect 15 0 1 0; +#X connect 16 0 15 0; +#X connect 17 0 6 0; +#X connect 19 0 10 0; +#X connect 20 0 13 0; +#X connect 22 0 24 0; +#X connect 23 0 22 0; +#X connect 24 0 25 0; +#X connect 24 1 26 0; +#X connect 25 0 26 0; +#X connect 27 0 2 1; +#X connect 28 0 15 0; +#X connect 29 0 20 1; diff --git a/s-midimonitor.pd b/s-midimonitor.pd new file mode 100644 index 0000000..fee0307 --- /dev/null +++ b/s-midimonitor.pd @@ -0,0 +1,26 @@ +#N canvas 0 0 450 300 10; +#X obj 66 180 ctlin; +#X obj 289 175 notein; +#X obj 5 81 nbx 3 14 0 127 0 0 \$0-value \$0-value value 0 -6 0 8 -260818 +-1 -1 0 256; +#X obj 49 81 nbx 3 14 0 127 0 0 \$0-controller \$0-controller controller +0 -6 0 8 -260818 -1 -1 0 256; +#X obj 29 209 s \$0-value; +#X obj 51 233 s \$0-controller; +#X obj 7 24 nbx 3 14 0 127 0 0 \$0-channel \$0-channel channel 0 -6 +0 8 -260818 -1 -1 0 256; +#X obj 6 53 nbx 3 14 0 127 0 0 \$0-note \$0-note note 0 -6 0 8 -260818 +-1 -1 0 256; +#X obj 50 53 nbx 3 14 0 127 0 0 \$0-volume \$0-volume volume 0 -6 0 +8 -260818 -1 -1 0 256; +#X obj 109 208 s \$0-channel; +#X obj 326 197 s \$0-channel; +#X obj 272 244 s \$0-note; +#X obj 299 222 s \$0-volume; +#X connect 0 0 4 0; +#X connect 0 1 5 0; +#X connect 0 2 9 0; +#X connect 1 0 11 0; +#X connect 1 1 12 0; +#X connect 1 2 10 0; +#X coords 0 -1 1 1 120 100 1 0 0; diff --git a/s-midimono.pd b/s-midimono.pd new file mode 100644 index 0000000..7ee0afe --- /dev/null +++ b/s-midimono.pd @@ -0,0 +1,46 @@ +#N canvas 0 0 517 475 10; +#X obj 118 103 select 0; +#X obj 18 55 unpack f f; +#X obj 165 172 + 1; +#X obj 118 174 - 1; +#X obj 104 195 f; +#X obj 151 196 f; +#X msg 169 126 bang; +#X msg 118 125 bang; +#X obj 135 222 + 1; +#X obj 33 378 pack f f; +#X obj 83 77 t f f; +#X obj 18 29 inlet; +#X obj 33 414 outlet; +#X text 105 21 only plays one note at a time. cuts the sound when all +notes are released.; +#X obj 61 258 select 0; +#X obj 135 257 select 0; +#X obj 29 299 spigot; +#X msg 134 283 0 0; +#X obj 57 180 != 0; +#X obj 136 147 0; +#X connect 0 0 7 0; +#X connect 0 1 6 0; +#X connect 1 0 16 0; +#X connect 1 1 10 0; +#X connect 2 0 5 1; +#X connect 3 0 4 1; +#X connect 4 0 19 0; +#X connect 5 0 19 0; +#X connect 6 0 5 0; +#X connect 7 0 4 0; +#X connect 8 0 15 0; +#X connect 9 0 12 0; +#X connect 10 0 14 0; +#X connect 10 0 18 0; +#X connect 10 1 0 0; +#X connect 11 0 1 0; +#X connect 14 1 9 1; +#X connect 15 0 17 0; +#X connect 16 0 9 0; +#X connect 17 0 9 0; +#X connect 18 0 16 1; +#X connect 19 0 3 0; +#X connect 19 0 2 0; +#X connect 19 0 8 0; diff --git a/s-midinote.pd b/s-midinote.pd new file mode 100644 index 0000000..b59bb17 --- /dev/null +++ b/s-midinote.pd @@ -0,0 +1,9 @@ +#N canvas 363 281 450 300 10; +#X obj 82 249 outlet; +#X obj 82 45 notein \$1; +#X obj 166 249 s \$2; +#X obj 82 77 pack f f; +#X connect 1 0 3 0; +#X connect 1 1 3 1; +#X connect 3 0 0 0; +#X connect 3 0 2 0; diff --git a/s-miditrigger.pd b/s-miditrigger.pd new file mode 100644 index 0000000..25fda7f --- /dev/null +++ b/s-miditrigger.pd @@ -0,0 +1,18 @@ +#N canvas 417 128 564 397 10; +#X obj 7 7 inlet; +#X obj 7 30 unpack f f; +#X obj 7 52 t b f; +#X msg 7 135 bang; +#X obj 37 106 outlet; +#X obj 72 52 / 127; +#X text 120 8 takes a midi note pair and outputs a trigger \, the midi +note \, and the normalised volume.; +#X obj 72 74 outlet; +#X obj 7 157 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 5 0; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 3 0 8 0; +#X connect 5 0 7 0; diff --git a/s-mseq-help.pd b/s-mseq-help.pd new file mode 100644 index 0000000..dd91baf --- /dev/null +++ b/s-mseq-help.pd @@ -0,0 +1,34 @@ +#N canvas 216 243 450 300 10; +#X obj 14 198 s-mseq 2 16 453 tick; +#X obj 372 221 metro 200; +#X obj 372 243 f; +#X obj 402 243 + 1; +#X obj 372 266 s tick; +#X msg 81 172 453; +#X floatatom 14 174 5 0 0 0 - - -; +#X obj 372 203 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X floatatom 14 221 5 0 0 0 - - -; +#X text 19 9 Turns a number into a beat.; +#X text 19 26 args:; +#X text 261 184 Toggle me to start a timer; +#X obj 149 174 tgl 15 0 empty empty reverse_sequence 0 -6 0 8 -262144 +-1 -1 0 1; +#X text 19 43 1 Base to use to do conversion (e.g. base 2 produces +1s \, 0s); +#X text 19 59 2 Length of the sequence; +#X text 19 76 3 Number that designates the sequence in the base specified +e.g. 8 = 1000 and 10 = 1010; +#X text 19 106 4 The name of a receiver that designates which to look +up; +#X text 59 143 set sequence; +#X text 12 157 lookup; +#X connect 0 0 8 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 1; +#X connect 5 0 0 1; +#X connect 6 0 0 0; +#X connect 7 0 1 0; +#X connect 12 0 0 2; diff --git a/s-mseq.pd b/s-mseq.pd new file mode 100644 index 0000000..e891409 --- /dev/null +++ b/s-mseq.pd @@ -0,0 +1,43 @@ +#N canvas 427 238 508 403 10; +#X obj 48 291 outlet; +#X obj 48 123 pow; +#X obj 178 51 loadbang; +#X obj 48 89 t b f; +#X obj 48 161 t b f; +#X obj 48 213 /; +#X obj 48 238 int; +#X obj 239 51 inlet; +#X obj 433 7 inlet invert; +#X obj 403 102 -; +#X obj 78 33 r \$0-invert; +#X obj 403 132 s \$0-invert; +#X obj 422 35 t b f; +#X obj 79 8 inlet num_states bar_length beat_code [timer]; +#X obj 41 61 mod \$2; +#X obj 161 83 f \$1; +#X obj 212 83 f \$3; +#X obj 403 63 f \$2; +#X obj 48 264 mod \$1; +#X obj 10 8 r \$4; +#X connect 1 0 4 0; +#X connect 2 0 15 0; +#X connect 2 0 16 0; +#X connect 3 0 1 0; +#X connect 3 1 1 1; +#X connect 4 0 5 0; +#X connect 4 1 5 1; +#X connect 5 0 6 0; +#X connect 6 0 18 0; +#X connect 7 0 16 0; +#X connect 8 0 12 0; +#X connect 9 0 11 0; +#X connect 10 0 14 0; +#X connect 12 0 17 0; +#X connect 12 1 9 1; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 1 0; +#X connect 16 0 5 0; +#X connect 17 0 9 0; +#X connect 18 0 0 0; +#X connect 19 0 14 0; diff --git a/s-nadsr~-help.pd b/s-nadsr~-help.pd new file mode 100644 index 0000000..935da13 --- /dev/null +++ b/s-nadsr~-help.pd @@ -0,0 +1,38 @@ +#N struct 1363template float x float y array 1363arrayvals 1363arraytemplate +; +#N struct 1363arraytemplate float x float y; +#N struct 1363template-marker float pos; +#N canvas 215 178 742 458 10; +#N canvas 457 385 450 300 datastore 0; +#X obj 10 10 r SSSADDATA; +#X msg 10 30 \; SSSAD t/length 250 \; SSSAD t/pos 80 \; SSSAD t/envelope +3 18 21 72 51 33 92 48 131 43 195 83 \; SSSAD_ADMIN set \;; +#X connect 0 0 1 0; +#X restore 628 52 pd datastore; +#X obj 628 73 sssad/datastore; +#X msg 112 151 60 127; +#X msg 167 151 60 0; +#N canvas 0 0 450 300 graph1 0; +#X array output 11025 float 2; +#X coords 0 127 11024 0 198 86 1; +#X restore 352 223 graph; +#X obj 112 340 tabwrite~ output; +#X obj 112 181 t b l; +#X obj 318 341 nbx 5 14 0 195 0 0 t/pos empty pos_send 0 -6 0 10 -262144 +-1 -1 140 256; +#X obj 142 204 s-nadsr~ t; +#X text 387 342 Control the sustain marker with a send.; +#X text 34 151 Note on ->; +#X text 203 151 <- Note off; +#X text 350 112 Click me to load one created earlier ->; +#X text 13 5 s-nadsr~ is not an ADSR envelope. It's a customiseable +envelope which stops and starts from the sustain marker when sent midi +pairs. A note-on midi message will play the start of the envelope up +to the marker \, and the note-off midi message will play the end of +the envelope. The output from the envelope will be scaled by the input +midi volume (e.g. 0 to 127 for the loudest midi note possible).; +#X connect 2 0 6 0; +#X connect 3 0 6 0; +#X connect 6 0 5 0; +#X connect 6 1 8 0; +#X connect 8 0 5 0; diff --git a/s-nadsr~.pd b/s-nadsr~.pd new file mode 100644 index 0000000..8eff47c --- /dev/null +++ b/s-nadsr~.pd @@ -0,0 +1,551 @@ +#N struct 1560template float x float y array 1560arrayvals 1560arraytemplate +; +#N struct 1560arraytemplate float x float y; +#N struct 1560template-marker float pos; +#N canvas 266 17 721 668 10; +#N canvas 0 16 1001 677 1560data 0; +#X scalar 1560template 0 0 \; 3 3 \; \;; +#X coords 0 0 198 86 198 86 1; +#X restore 4 18 pd \$0data; +#N canvas 49 352 599 314 1560template 0; +#X obj 17 51 struct \$0template float x float y array \$0arrayvals +\$0arraytemplate; +#X obj 17 86 outlet; +#X obj 17 17 plot -x x(3:195)(3:195) -y y(3:83)(3:83) \$0arrayvals +333 1 0 0 0; +#X connect 0 0 1 0; +#X restore 236 36 pd \$0template; +#N canvas 435 201 450 300 1560arraytemplate 0; +#X obj 24 43 struct \$0arraytemplate float x float y; +#X obj 24 87 filledpolygon 333 333 1 -2 -2 2 -2 2 2 -2 2 -2 -2; +#X obj 24 65 print; +#X connect 0 0 2 0; +#X restore 236 13 pd \$0arraytemplate; +#N canvas 55 191 881 464 initarray 0; +#X obj 163 211 pointer; +#X msg 133 47 bang; +#X text 186 35 click here to re-initialize; +#X obj 163 96 \$0; +#X msg 163 188 traverse \$1 \, bang; +#X obj 163 119 makefilename pd-%ddata; +#X obj 35 251 append \$0template x; +#X msg 35 219 0; +#X obj 133 12 loadbang; +#X obj 68 114 outlet; +#X obj 163 140 t s s; +#X msg 300 176 \; \$1 clear \;; +#X obj 601 134 \$0; +#X obj 601 178 t s s; +#X msg 631 202 \; \$1 clear \;; +#X obj 133 72 t b b b b; +#X obj 601 157 makefilename pd-%ddata-marker; +#X obj 601 262 pointer; +#X msg 601 239 traverse \$1 \, bang; +#X msg 410 254 0; +#X obj 571 113 t b b; +#X text 515 88 Initialise the marker; +#X obj 410 286 append \$0template-marker pos; +#X connect 0 0 6 1; +#X connect 1 0 15 0; +#X connect 3 0 5 0; +#X connect 4 0 0 0; +#X connect 5 0 10 0; +#X connect 7 0 6 0; +#X connect 8 0 1 0; +#X connect 10 0 4 0; +#X connect 10 1 11 0; +#X connect 12 0 16 0; +#X connect 13 0 18 0; +#X connect 13 1 14 0; +#X connect 15 0 9 0; +#X connect 15 1 7 0; +#X connect 15 2 3 0; +#X connect 15 3 20 0; +#X connect 16 0 13 0; +#X connect 17 0 22 1; +#X connect 18 0 17 0; +#X connect 19 0 22 0; +#X connect 20 0 19 0; +#X connect 20 1 12 0; +#X restore 415 174 pd initarray; +#X obj 236 58 print; +#X obj 415 316 pointer; +#X obj 453 387 setsize \$0template \$0arrayvals; +#X msg 415 293 traverse \$1 \, next; +#X obj 415 249 \$0; +#X obj 415 272 makefilename pd-%ddata; +#X msg 415 198 bang; +#X obj 415 225 delay 10; +#X obj 9 248 inlet; +#X obj 357 592 outlet~; +#X obj 415 543 t p p; +#X obj 453 363 1; +#N canvas 188 19 774 666 envgen 0; +#X obj 102 279 element \$0template \$0arrayvals; +#X obj 102 322 get \$0arraytemplate x y; +#X obj 102 580 f; +#X obj 102 560 t b f; +#X obj 102 372 - 3; +#X obj 102 464 t f f; +#X obj 102 514 -; +#X obj 242 471 expr 1 - $f1; +#X obj 131 183 getsize \$0template \$0arrayvals; +#X obj 307 254 inlet; +#X obj 102 646 outlet~; +#X obj 131 161 pointer; +#X msg 131 138 traverse \$1 \, next; +#X obj 131 94 \$0; +#X obj 131 117 makefilename pd-%ddata; +#X obj 242 421 - 3; +#X obj 357 366 set \$0arraytemplate x y; +#X text 473 334 redraw; +#X obj 102 300 t p p; +#X obj 242 449 / 80; +#X obj 102 392 / 192; +#X obj 118 412 r \$0/length; +#X obj 102 433 * 1; +#X obj 102 624 vline~; +#X obj 102 602 pack f f f; +#X obj 131 204 until; +#X obj 136 233 + 1; +#X obj 102 233 f; +#X msg 102 94 0; +#X obj 258 495 r \$0/height; +#X obj 242 516 * 1; +#N canvas 448 209 450 300 1560markerdraw 0; +#X obj 6 9 inlet; +#X obj 6 102 pointer; +#X msg 6 79 traverse \$1 \, next; +#X obj 6 35 \$0; +#X obj 6 58 makefilename pd-%ddata-marker; +#X obj 6 144 get \$0template-marker pos; +#X obj 6 169 set \$0template-marker pos; +#X obj 6 123 t p p; +#X connect 0 0 3 0; +#X connect 1 0 7 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 7 0 5 0; +#X connect 7 1 6 1; +#X restore 132 48 pd \$0markerdraw; +#X obj 102 27 t b b; +#N canvas 0 0 450 300 1560getpos 0; +#X obj 52 104 pointer; +#X msg 52 81 traverse \$1 \, next; +#X obj 52 37 \$0; +#X obj 52 60 makefilename pd-%ddata-marker; +#X obj 52 125 get \$0template-marker pos; +#X obj 52 14 inlet; +#X obj 52 147 outlet; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X restore 412 506 pd \$0getpos; +#X obj 412 464 r \$0/startend; +#X obj 102 6 r \$0/go; +#X obj 412 527 s \$0/start; +#X text 411 441 Calculate where the section should start from; +#X msg 156 446 0; +#N canvas 150 277 660 333 1560filtermarker 0; +#X obj 6 4 inlet; +#X obj 6 279 outlet; +#X obj 6 74 moses; +#X obj 36 52 r \$0/start; +#X obj 6 124 spigot; +#X obj 60 165 -; +#X obj 60 124 spigot; +#X obj 396 277 outlet; +#X obj 6 219 t f b; +#X obj 97 75 r \$0/startend; +#X obj 76 145 r \$0/start; +#X obj 97 101 expr 1 - $f1; +#X obj 460 8 inlet before; +#X obj 396 256 f; +#N canvas 208 0 779 669 find-marker 0; +#X obj 7 7 inlet; +#X obj 668 7 inlet; +#X obj 643 642 outlet; +#X obj 6 648 outlet; +#X obj 42 160 f; +#X obj 304 12 inlet; +#X msg 304 33 0; +#X obj 58 211 r \$0/start; +#X obj 21 106 t f f b; +#X obj 37 259 r \$0/start; +#X obj 46 324 &&; +#X obj 46 350 sel 1; +#X obj 92 351 r \$0/start; +#X obj 71 421 f; +#X obj 631 81 t f f b; +#X obj 642 127 f; +#X obj 42 232 <; +#X obj 21 281 >=; +#X obj 59 491 t f b; +#X obj 248 343 -; +#X obj 492 247 -; +#X obj 481 556 *; +#X obj 494 581 +; +#X obj 180 484 -; +#X obj 42 182 t f f f; +#X obj 21 126 t f f f; +#X obj 228 505 /; +#X obj 479 607 f; +#X obj 83 446 t f f f; +#X connect 0 0 8 0; +#X connect 1 0 14 0; +#X connect 4 0 24 0; +#X connect 5 0 6 0; +#X connect 6 0 4 1; +#X connect 6 0 15 1; +#X connect 7 0 16 1; +#X connect 8 0 25 0; +#X connect 8 1 4 1; +#X connect 8 2 4 0; +#X connect 9 0 17 1; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 12 0 13 1; +#X connect 13 0 28 0; +#X connect 14 0 20 0; +#X connect 14 1 15 1; +#X connect 14 2 15 0; +#X connect 15 0 20 1; +#X connect 15 0 22 1; +#X connect 16 0 10 1; +#X connect 17 0 10 0; +#X connect 18 0 3 0; +#X connect 18 1 27 0; +#X connect 19 0 26 1; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 22 0 27 1; +#X connect 23 0 26 0; +#X connect 24 0 16 0; +#X connect 24 1 23 1; +#X connect 24 2 19 1; +#X connect 25 0 17 0; +#X connect 25 1 19 0; +#X connect 26 0 21 0; +#X connect 27 0 2 0; +#X connect 28 0 18 0; +#X connect 28 1 23 0; +#X restore 262 80 pd find-marker; +#X obj 275 13 inlet reset; +#X obj 6 27 t f f; +#X obj 438 48 t f f; +#X obj 60 188 + 3; +#X obj 217 156 spigot; +#X obj 271 197 -; +#X obj 271 156 spigot; +#X obj 217 251 t f b; +#X obj 308 107 r \$0/startend; +#X obj 287 177 r \$0/start; +#X obj 308 133 expr 1 - $f1; +#X obj 271 220 + 3; +#X obj 248 272 f; +#X connect 0 0 16 0; +#X connect 2 0 4 0; +#X connect 2 1 6 0; +#X connect 3 0 2 1; +#X connect 4 0 8 0; +#X connect 5 0 18 0; +#X connect 6 0 5 0; +#X connect 8 0 1 0; +#X connect 8 1 13 0; +#X connect 9 0 11 0; +#X connect 9 0 4 1; +#X connect 10 0 5 1; +#X connect 11 0 6 1; +#X connect 12 0 17 0; +#X connect 13 0 7 0; +#X connect 14 0 19 0; +#X connect 14 0 21 0; +#X connect 14 1 27 1; +#X connect 15 0 14 1; +#X connect 16 0 2 0; +#X connect 16 1 14 0; +#X connect 17 0 14 2; +#X connect 17 1 13 1; +#X connect 18 0 8 0; +#X connect 19 0 22 0; +#X connect 20 0 26 0; +#X connect 21 0 20 0; +#X connect 22 0 1 0; +#X connect 22 1 27 0; +#X connect 23 0 25 0; +#X connect 23 0 19 1; +#X connect 24 0 20 1; +#X connect 25 0 21 1; +#X connect 26 0 22 0; +#X connect 27 0 7 0; +#X restore 102 348 pd \$0filtermarker; +#X msg 412 485 bang; +#X obj 102 68 t b b b b b; +#X obj 147 516 f; +#X obj 132 485 t f f b; +#X connect 0 0 18 0; +#X connect 1 0 16 0; +#X connect 1 0 39 0; +#X connect 1 1 16 1; +#X connect 1 1 39 2; +#X connect 2 0 24 0; +#X connect 3 0 2 0; +#X connect 3 1 24 1; +#X connect 4 0 20 0; +#X connect 5 0 6 1; +#X connect 5 1 43 0; +#X connect 6 0 3 0; +#X connect 7 0 30 0; +#X connect 8 0 25 0; +#X connect 9 0 0 1; +#X connect 11 0 8 0; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 15 0 19 0; +#X connect 18 0 1 0; +#X connect 18 1 16 2; +#X connect 19 0 7 0; +#X connect 20 0 22 0; +#X connect 21 0 22 1; +#X connect 22 0 5 0; +#X connect 23 0 10 0; +#X connect 24 0 23 0; +#X connect 25 0 27 0; +#X connect 26 0 27 1; +#X connect 27 0 26 0; +#X connect 27 0 0 0; +#X connect 28 0 27 1; +#X connect 29 0 30 1; +#X connect 30 0 2 1; +#X connect 32 0 41 0; +#X connect 32 1 31 0; +#X connect 33 0 36 0; +#X connect 34 0 40 0; +#X connect 35 0 32 0; +#X connect 38 0 6 1; +#X connect 38 0 42 1; +#X connect 39 0 4 0; +#X connect 39 1 15 0; +#X connect 40 0 33 0; +#X connect 41 1 13 0; +#X connect 41 2 28 0; +#X connect 41 3 38 0; +#X connect 41 4 39 1; +#X connect 42 0 24 2; +#X connect 43 0 6 0; +#X connect 43 1 42 1; +#X connect 43 2 42 0; +#X restore 357 568 pd envgen; +#X obj 306 490 set \$0arraytemplate x y; +#X obj 462 462 element \$0template \$0arrayvals; +#X msg 384 463 3; +#X msg 306 464 3; +#X obj 434 416 t b b b p; +#X msg 462 440 0; +#X obj 415 340 t p p b p; +#N canvas 212 221 696 446 save 0; +#X obj 57 11 r SSSAD_SAVE; +#X obj 74 239 element \$0template \$0arrayvals; +#X obj 74 260 get \$0arraytemplate x y; +#X obj 74 217 f; +#X obj 102 217 + 1; +#X obj 74 286 list append; +#X obj 74 194 until; +#X msg 111 172 0; +#X obj 53 333 list prepend; +#X obj 146 333 t l; +#X obj 30 362 list; +#X obj 57 36 t b b b b; +#X obj 279 217 inlet; +#X obj 72 127 pointer; +#X msg 72 104 traverse \$1 \, next; +#X obj 72 60 \$0; +#X obj 72 83 makefilename pd-%ddata; +#X obj 72 148 getsize \$0template \$0arrayvals; +#X obj 7 415 outlet; +#X obj 7 394 sssad/sssad \$1/envelope; +#X obj 410 223 sssad/sssad \$1/pos; +#X obj 410 243 outlet; +#X obj 531 202 list; +#X obj 400 111 pointer; +#X msg 400 88 traverse \$1 \, next; +#X obj 400 44 \$0; +#X obj 400 67 makefilename pd-%ddata-marker; +#X obj 400 132 get \$0template-marker pos; +#X obj 400 22 r SSSAD_SAVE; +#X connect 0 0 11 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 5 1; +#X connect 3 0 4 0; +#X connect 3 0 1 0; +#X connect 4 0 3 1; +#X connect 5 0 8 0; +#X connect 6 0 3 0; +#X connect 7 0 3 1; +#X connect 8 0 9 0; +#X connect 8 0 10 1; +#X connect 9 0 8 1; +#X connect 10 0 19 1; +#X connect 11 0 10 0; +#X connect 11 1 15 0; +#X connect 11 2 7 0; +#X connect 11 3 8 1; +#X connect 12 0 1 1; +#X connect 13 0 17 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 16 0 14 0; +#X connect 17 0 6 0; +#X connect 19 0 18 0; +#X connect 20 0 21 0; +#X connect 22 0 20 1; +#X connect 23 0 27 0; +#X connect 24 0 23 0; +#X connect 25 0 26 0; +#X connect 26 0 24 0; +#X connect 27 0 22 0; +#X connect 28 0 25 0; +#X restore 445 568 pd save; +#N canvas 64 35 912 649 load 0; +#X obj 21 6 inlet; +#X obj 21 65 until; +#X obj 21 103 list append; +#X obj 120 148 bang; +#X obj 21 148 list split 2; +#X obj 21 229 list split 1; +#X obj 361 235 pointer; +#X obj 156 305 setsize \$0template \$0arrayvals; +#X msg 361 212 traverse \$1 \, next; +#X obj 361 168 \$0; +#X obj 361 191 makefilename pd-%ddata; +#X msg 172 126 0; +#X obj 156 232 f; +#X obj 185 232 + 1; +#X obj 49 174 t l b; +#X obj 21 32 t b l b b; +#X obj 183 342 element \$0template \$0arrayvals; +#X obj 27 389 set \$0arraytemplate x y; +#X obj 156 258 t f f; +#X obj 186 281 + 1; +#X obj 629 10 inlet; +#X obj 659 121 pointer; +#X msg 659 98 traverse \$1 \, next; +#X obj 659 54 \$0; +#X obj 629 31 t f b; +#X obj 659 77 makefilename pd-%ddata-marker; +#X obj 629 168 set \$0template-marker pos; +#X connect 0 0 15 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 1 1; +#X connect 4 0 14 0; +#X connect 4 1 2 1; +#X connect 4 2 3 0; +#X connect 5 0 17 0; +#X connect 5 1 17 1; +#X connect 6 0 7 1; +#X connect 6 0 16 1; +#X connect 8 0 6 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X connect 11 0 12 1; +#X connect 12 0 13 0; +#X connect 12 0 18 0; +#X connect 13 0 12 1; +#X connect 14 0 5 0; +#X connect 14 1 12 0; +#X connect 15 0 1 0; +#X connect 15 1 2 1; +#X connect 15 2 11 0; +#X connect 15 3 9 0; +#X connect 16 0 17 2; +#X connect 18 0 16 0; +#X connect 18 1 19 0; +#X connect 19 0 7 0; +#X connect 20 0 24 0; +#X connect 21 0 26 1; +#X connect 22 0 21 0; +#X connect 23 0 25 0; +#X connect 24 0 26 0; +#X connect 24 1 23 0; +#X connect 25 0 22 0; +#X restore 445 592 pd load; +#X text 414 7 args: [name]; +#X obj 157 2 nbx 5 14 1 99999 0 0 \$0/length \$1/length length -38 +8 0 8 -260818 -1 -1 1 256; +#X obj 416 63 sssad/auto \$0/length \$1/length; +#N canvas 371 325 450 300 1560template-marker 0; +#X obj 9 81 outlet; +#X obj 9 59 struct \$0template-marker float pos; +#X obj 9 38 drawpolygon 4095 1 pos(3:195)(3:195) 1 pos(3:195)(3:195) +86; +#X obj 9 17 drawpolygon 4095 5 pos(3:195)(3:195) 1 pos(3:195)(3:195) +6; +#X connect 1 0 0 0; +#X restore 237 90 pd \$0template-marker; +#X obj 237 111 print; +#N canvas 0 0 450 300 1560data-marker 0; +#X scalar 1560template-marker 0 \;; +#X coords 0 0 198 86 198 86 1; +#X restore 4 18 pd \$0data-marker; +#X obj 5 19 cnv 15 196 84 empty empty empty 20 12 0 14 -260818 -66577 +0; +#X obj 9 278 unpack f f; +#X text 6 188 This guy takes midi note pairs.; +#X text 6 204 The output will be scaled by the volume.; +#X obj 74 305 sel 0; +#X obj 17 345 \$0; +#X obj 127 371 pack f f; +#X obj 127 329 t b f; +#X obj 127 350 \$0; +#X msg 127 391 \; \$1/height \$2 \; \$1/startend 1 \; \$1/go bang \; +; +#X msg 17 368 \; \$1/startend 0 \; \$1/go bang \;; +#X text 7 219 Note on plays up to the marker. Note off plays the rest. +; +#X obj 502 568 r \$1/pos; +#X connect 1 0 4 0; +#X connect 3 0 10 0; +#X connect 5 0 23 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 9 0 7 0; +#X connect 10 0 11 0; +#X connect 11 0 8 0; +#X connect 12 0 33 0; +#X connect 14 0 16 0; +#X connect 14 1 24 0; +#X connect 15 0 6 0; +#X connect 16 0 13 0; +#X connect 18 0 17 2; +#X connect 19 0 17 1; +#X connect 20 0 17 0; +#X connect 21 0 20 0; +#X connect 21 1 19 0; +#X connect 21 2 22 0; +#X connect 21 3 18 1; +#X connect 22 0 18 0; +#X connect 23 0 14 0; +#X connect 23 1 21 0; +#X connect 23 2 15 0; +#X connect 23 3 6 1; +#X connect 24 0 25 0; +#X connect 24 1 25 1; +#X connect 29 0 30 0; +#X connect 33 1 36 0; +#X connect 36 0 37 0; +#X connect 36 1 39 0; +#X connect 37 0 42 0; +#X connect 38 0 41 0; +#X connect 39 0 40 0; +#X connect 39 1 38 1; +#X connect 40 0 38 0; +#X connect 44 0 25 1; +#X coords 0 -1 1 1 206 108 1 0 0; diff --git a/s-obiwanbd~-help.pd b/s-obiwanbd~-help.pd new file mode 100644 index 0000000..0b13c53 --- /dev/null +++ b/s-obiwanbd~-help.pd @@ -0,0 +1,7 @@ +#N canvas 372 279 450 300 10; +#X obj 32 48 s-obiwanbd~ bee; +#X obj 32 186 s-ezdac~ out; +#X msg 32 25 50 127; +#X connect 0 0 1 0; +#X connect 0 0 1 1; +#X connect 2 0 0 0; diff --git a/s-obiwanbd~.pd b/s-obiwanbd~.pd new file mode 100644 index 0000000..182d705 --- /dev/null +++ b/s-obiwanbd~.pd @@ -0,0 +1,135 @@ +#N canvas 16 21 446 599 10; +#N canvas 378 154 506 525 noisekick 0; +#X obj 98 2 inlet; +#X obj 113 415 outlet~; +#X obj 106 102 line~; +#X obj 105 126 *~; +#X obj 105 149 *~; +#X msg 89 71 1 2; +#X obj 17 63 del 2; +#X obj 113 242 *~; +#X obj 106 218 osc~; +#X obj 105 178 *~ 100; +#X obj 105 198 +~ 20; +#X obj 128 25 unpack 1 2; +#X obj 100 30 t; +#X obj 20 103 pack 1 2; +#X msg 16 82 0; +#X obj 165 220 osc~; +#X obj 164 178 *~ 100; +#X obj 165 199 +~ 22; +#X obj 151 263 *~; +#X obj 275 107 noise~; +#X obj 274 145 bp~ 100 2; +#X msg 368 135 0; +#X obj 367 160 switch~; +#X msg 403 135 1; +#X obj 367 110 del 200; +#X obj 111 338 clip~ -0.9 0.9; +#X obj 73 295 *~ 0.66; +#X obj 214 255 *~; +#X obj 183 132 * 0.77; +#X obj 130 294 *~ 1.6; +#X obj 112 390 lop~ 800; +#X obj 111 364 hip~ 20; +#X connect 0 0 11 0; +#X connect 0 0 12 0; +#X connect 2 0 3 0; +#X connect 2 0 3 1; +#X connect 2 0 16 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 7 1; +#X connect 4 0 9 0; +#X connect 5 0 2 0; +#X connect 6 0 14 0; +#X connect 7 0 18 0; +#X connect 7 0 26 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X connect 11 0 13 1; +#X connect 11 0 24 1; +#X connect 11 1 9 1; +#X connect 11 1 20 1; +#X connect 11 1 28 0; +#X connect 12 0 6 0; +#X connect 12 0 5 0; +#X connect 12 0 24 0; +#X connect 12 0 23 0; +#X connect 13 0 2 0; +#X connect 14 0 13 0; +#X connect 15 0 27 1; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 18 0 29 0; +#X connect 19 0 20 0; +#X connect 20 0 27 0; +#X connect 21 0 22 0; +#X connect 23 0 22 0; +#X connect 24 0 21 0; +#X connect 25 0 31 0; +#X connect 26 0 25 0; +#X connect 27 0 18 1; +#X connect 28 0 16 1; +#X connect 29 0 25 0; +#X connect 30 0 1 0; +#X connect 31 0 30 0; +#X restore 65 425 pd noisekick; +#X obj 65 312 pack 1 2; +#X msg 65 341 set \$1 \$2; +#X msg 65 397 181.429 146.779; +#X obj 84 370 r \$0/shot; +#X obj 11 28 hsl 64 16 0 127 0 1 \$0/decay \$1/decay decay -2 -6 0 +8 -260818 -1 -1 1500 1; +#X obj 11 58 hsl 64 16 0 127 0 1 \$0/freq \$1/freq freq -2 -6 0 8 -260818 +-1 -1 2480 1; +#X obj 65 179 r \$0/decay; +#X obj 86 233 r \$0/freq; +#X obj 65 205 * 6; +#X obj 86 259 mtof; +#X obj 86 283 t b f; +#X obj 91 28 bng 16 250 50 0 \$0/shot \$1/shot shot 0 -6 0 8 -260818 +-1 -1; +#X obj 64 575 outlet~; +#X obj 65 487 hip~ 5; +#X obj 392 4 inlet; +#X obj 392 26 list; +#X msg 392 48 \; \$1 \$2 \;; +#X obj 199 16 inlet; +#X obj 199 39 unpack f f; +#X obj 199 61 t b f; +#X obj 81 509 r \$0/vol; +#X obj 65 551 *~; +#X obj 11 87 hsl 64 16 0 127 0 1 \$0/vol \$1/vol vol -2 -6 0 8 -260818 +-1 -1 6300 1; +#X obj 264 61 s \$1/vol; +#X obj 229 107 s \$1/freq; +#X obj 199 131 s \$1/shot; +#X obj 81 530 / 127; +#X obj 224 240 sssad/auto \$0/freq \$1/freq; +#X obj 224 262 sssad/auto \$0/vol \$1/vol; +#X obj 224 284 sssad/auto \$0/decay \$1/decay; +#X connect 0 0 14 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 4 0 3 0; +#X connect 7 0 9 0; +#X connect 8 0 10 0; +#X connect 9 0 1 0; +#X connect 10 0 11 0; +#X connect 11 0 1 0; +#X connect 11 1 1 1; +#X connect 14 0 22 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 19 1 24 0; +#X connect 20 0 26 0; +#X connect 20 1 25 0; +#X connect 21 0 27 0; +#X connect 22 0 13 0; +#X connect 27 0 22 1; +#X coords 0 -1 1 1 120 110 1 0 0; diff --git a/s-obiwancym~-help.pd b/s-obiwancym~-help.pd new file mode 100644 index 0000000..2d23bc4 --- /dev/null +++ b/s-obiwancym~-help.pd @@ -0,0 +1,7 @@ +#N canvas 329 242 450 300 10; +#X obj 32 206 s-ezdac~ out; +#X obj 32 86 s-obiwancym~ cy; +#X msg 32 5 \; cy/short bang \;; +#X msg 142 5 \; cy/long bang \;; +#X connect 1 0 0 0; +#X connect 1 0 0 1; diff --git a/s-obiwancym~.pd b/s-obiwancym~.pd new file mode 100644 index 0000000..c575a75 --- /dev/null +++ b/s-obiwancym~.pd @@ -0,0 +1,138 @@ +#N canvas 25 36 611 620 10; +#X obj 356 296 clip~ -0.1 0.1; +#N canvas 0 0 1251 846 noizy 0; +#X obj 49 173 wrap~; +#X obj 44 148 -~ 0.5; +#X obj 49 195 -~ 0.5; +#X obj 26 217 -~; +#X obj 69 363 wrap~; +#X obj 62 336 -~ 0.5; +#X obj 69 389 -~ 0.5; +#X obj 52 417 -~; +#X obj 26 447 *~; +#X obj 62 314 phasor~; +#X obj 60 -2 inlet; +#X obj 25 476 outlet~; +#X obj 52 95 unpack 1 2 3; +#X obj 45 126 phasor~; +#X obj 63 270 *~; +#X obj 63 291 +~; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 1 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 8 0; +#X connect 3 0 14 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 5 0 7 0; +#X connect 6 0 7 1; +#X connect 7 0 8 1; +#X connect 8 0 11 0; +#X connect 9 0 5 0; +#X connect 10 0 12 0; +#X connect 12 0 13 0; +#X connect 12 1 14 1; +#X connect 12 2 15 1; +#X connect 13 0 1 0; +#X connect 14 0 15 0; +#X connect 15 0 9 0; +#X restore 415 253 pd noizy; +#X obj 341 436 outlet~; +#X obj 397 39 loadbang; +#X obj 341 345 *~; +#X obj 236 255 line~; +#X obj 98 174 del 3; +#X obj 74 147 t; +#X msg 63 175 1 3; +#X obj 303 319 *~; +#X msg 97 200 0 200; +#X msg 455 118 1478 1765 1249; +#X msg 300 122 893 2348 3256; +#N canvas 0 0 1251 846 noizy 0; +#X obj 49 173 wrap~; +#X obj 44 148 -~ 0.5; +#X obj 49 195 -~ 0.5; +#X obj 26 217 -~; +#X obj 69 363 wrap~; +#X obj 62 336 -~ 0.5; +#X obj 69 389 -~ 0.5; +#X obj 52 417 -~; +#X obj 26 447 *~; +#X obj 62 314 phasor~; +#X obj 60 -2 inlet; +#X obj 25 476 outlet~; +#X obj 52 95 unpack 1 2 3; +#X obj 45 126 phasor~; +#X obj 63 270 *~; +#X obj 63 291 +~; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 1 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 8 0; +#X connect 3 0 14 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 5 0 7 0; +#X connect 6 0 7 1; +#X connect 7 0 8 1; +#X connect 8 0 11 0; +#X connect 9 0 5 0; +#X connect 10 0 12 0; +#X connect 12 0 13 0; +#X connect 12 1 14 1; +#X connect 12 2 15 1; +#X connect 13 0 1 0; +#X connect 14 0 15 0; +#X connect 15 0 9 0; +#X restore 326 231 pd noizy; +#X obj 341 410 *~ 0.55; +#X obj 242 177 del 3; +#X obj 218 150 t; +#X msg 207 177 1 3; +#X msg 242 202 0 725.714; +#X text 215 103 long; +#X text 66 102 short; +#X obj 340 377 hip~ 400; +#X obj 8 26 bng 16 250 50 0 \$0/short \$1/short short 0 -6 0 8 -260818 +-1 -1; +#X obj 49 26 bng 16 250 50 0 \$0/long \$1/long long 0 -6 0 8 -260818 +-1 -1; +#X obj 65 124 r \$0/short; +#X obj 209 127 r \$0/long; +#X obj 19 505 sssad/auto \$0/length \$1/length; +#X obj 9 58 hsl 64 16 0 127 0 1 \$0/length \$1/length length -2 -6 +0 8 -260818 -1 -1 3000 1; +#X obj 261 33 r \$0/length; +#X msg 261 80 set 0 \$1; +#X obj 261 56 * 12; +#X connect 0 0 4 1; +#X connect 1 0 0 0; +#X connect 3 0 11 0; +#X connect 3 0 12 0; +#X connect 4 0 21 0; +#X connect 5 0 9 0; +#X connect 5 0 9 1; +#X connect 6 0 10 0; +#X connect 7 0 6 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; +#X connect 9 0 4 0; +#X connect 10 0 5 0; +#X connect 11 0 1 0; +#X connect 12 0 13 0; +#X connect 13 0 0 0; +#X connect 14 0 2 0; +#X connect 15 0 18 0; +#X connect 16 0 15 0; +#X connect 16 0 17 0; +#X connect 17 0 5 0; +#X connect 18 0 5 0; +#X connect 21 0 14 0; +#X connect 24 0 7 0; +#X connect 25 0 16 0; +#X connect 28 0 30 0; +#X connect 29 0 18 0; +#X connect 30 0 29 0; +#X coords 0 -1 1 1 120 80 1 0 0; diff --git a/s-obiwansd~-help.pd b/s-obiwansd~-help.pd new file mode 100644 index 0000000..7e29e1d --- /dev/null +++ b/s-obiwansd~-help.pd @@ -0,0 +1,6 @@ +#N canvas 330 242 450 300 10; +#X obj 32 206 s-ezdac~ out; +#X obj 32 48 s-obiwansd~ bee; +#X msg 32 5 \; bee/shot bang \;; +#X connect 1 0 0 0; +#X connect 1 0 0 1; diff --git a/s-obiwansd~.pd b/s-obiwansd~.pd new file mode 100644 index 0000000..aabd56c --- /dev/null +++ b/s-obiwansd~.pd @@ -0,0 +1,203 @@ +#N canvas 0 0 620 669 10; +#N canvas 5 7 662 741 coherentsnare 0; +#X obj 425 467 osc~ 220; +#X obj 76 277 osc~ 220; +#X obj 386 324 line~; +#X obj 417 286 pack 0 500; +#X msg 382 285 1 0; +#X obj 335 202 t; +#X obj 215 586 *~; +#X obj 308 373 noise~; +#X obj 392 355 *~; +#X obj 391 380 *~; +#X obj 387 411 *~; +#X obj 417 264 del 3; +#X obj 127 431 sig~ 1; +#X obj 133 454 -~; +#X obj 178 475 clip~ 0.5 1; +#X obj 177 496 -~ 0.5; +#X obj 206 557 *~; +#X obj 161 401 phasor~ 20; +#X obj 187 663 +~; +#X obj 116 621 *~; +#X obj 265 488 hip~ 44; +#X obj 389 446 *~; +#X obj 394 496 *~; +#X obj 109 587 *~; +#X obj 48 359 *~ 1; +#X obj 54 241 * 1; +#X obj 216 609 clip~ -0.33 0.33; +#X obj 186 691 clip~ -0.2 0.2; +#X obj 170 235 * 4; +#X obj 425 444 +~; +#X obj 427 420 *~ 40; +#X obj 215 636 *~ 1; +#X obj 355 554 *~; +#X obj 139 370 * 0.9; +#X obj 253 637 *~ 0.2; +#X obj 307 423 lop~ 3000; +#X obj 482 238 min 1000; +#X obj 482 261 + 250; +#X msg 322 650 0; +#X obj 321 675 switch~; +#X msg 357 650 1; +#X obj 106 181 max 20; +#X obj 107 156 min 100; +#X text 118 125 pitch; +#X text 193 122 rattle; +#X obj 186 161 min 0.7; +#X obj 184 186 max 0.05; +#X text 507 210 decay; +#X text 306 180 trig; +#X obj 186 718 outlet~; +#X obj 304 91 loadbang; +#X msg 292 117 40; +#X msg 330 118 500; +#X msg 368 117 0.3; +#X text 372 92 init; +#X obj 517 338 del 3; +#X obj 307 397 hip~ 200; +#X obj 327 49 unpack 1 2 3; +#X obj 338 14 inlet; +#X connect 0 0 22 1; +#X connect 1 0 24 0; +#X connect 2 0 8 0; +#X connect 2 0 8 1; +#X connect 3 0 2 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 5 0 11 0; +#X connect 5 0 17 1; +#X connect 5 0 1 1; +#X connect 5 0 0 1; +#X connect 5 0 40 0; +#X connect 5 0 55 0; +#X connect 6 0 26 0; +#X connect 7 0 56 0; +#X connect 8 0 9 0; +#X connect 8 0 9 1; +#X connect 8 0 30 0; +#X connect 9 0 10 0; +#X connect 9 0 10 1; +#X connect 10 0 19 1; +#X connect 10 0 21 0; +#X connect 10 0 21 1; +#X connect 11 0 3 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 6 0; +#X connect 17 0 13 1; +#X connect 18 0 27 0; +#X connect 19 0 18 0; +#X connect 20 0 16 1; +#X connect 21 0 22 0; +#X connect 21 0 6 1; +#X connect 21 0 32 1; +#X connect 22 0 23 0; +#X connect 23 0 19 0; +#X connect 24 0 23 1; +#X connect 25 0 1 0; +#X connect 26 0 31 0; +#X connect 27 0 49 0; +#X connect 28 0 29 1; +#X connect 29 0 0 0; +#X connect 30 0 29 0; +#X connect 31 0 18 1; +#X connect 32 0 34 0; +#X connect 33 0 17 0; +#X connect 34 0 18 1; +#X connect 35 0 20 0; +#X connect 35 0 32 0; +#X connect 36 0 37 0; +#X connect 37 0 3 1; +#X connect 37 0 55 1; +#X connect 38 0 39 0; +#X connect 40 0 39 0; +#X connect 41 0 33 0; +#X connect 41 0 28 0; +#X connect 41 0 25 0; +#X connect 42 0 41 0; +#X connect 45 0 46 0; +#X connect 46 0 15 1; +#X connect 46 0 14 1; +#X connect 50 0 51 0; +#X connect 50 0 52 0; +#X connect 50 0 53 0; +#X connect 51 0 42 0; +#X connect 52 0 36 0; +#X connect 53 0 45 0; +#X connect 55 0 38 0; +#X connect 56 0 35 0; +#X connect 57 0 42 0; +#X connect 57 1 45 0; +#X connect 57 2 36 0; +#X connect 58 0 57 0; +#X connect 58 0 5 0; +#X restore 30 479 pd coherentsnare; +#X obj 30 372 pack 1 2 3; +#X msg 30 456 43.946 0.135714 48.381; +#X msg 30 399 set \$1 \$2 \$3; +#X obj 535 10 inlet; +#X obj 535 32 list; +#X msg 535 54 \; \$1 \$2 \;; +#X obj 253 15 inlet; +#X obj 253 38 unpack f f; +#X obj 253 60 t b f; +#X obj 318 60 s \$1/vol; +#X obj 283 106 s \$1/freq; +#X obj 253 130 s \$1/shot; +#X obj 367 246 sssad/auto \$0/freq \$1/freq; +#X obj 367 268 sssad/auto \$0/vol \$1/vol; +#X obj 367 290 sssad/auto \$0/decay \$1/decay; +#X obj 367 312 sssad/auto \$0/rattle \$1/rattle; +#X obj 30 178 r \$0/freq; +#X obj 40 429 r \$0/shot; +#X obj 30 614 outlet~; +#X obj 126 287 * 6; +#X obj 126 266 r \$0/decay; +#X obj 126 308 t b f; +#X obj 62 230 expr (1 - $f1 / 127) * 0.75 + 0.05; +#X obj 62 207 r \$0/rattle; +#X obj 62 253 t b f; +#X obj 30 508 hip~ 5; +#X obj 46 530 r \$0/vol; +#X obj 30 572 *~; +#X obj 46 551 / 127; +#X obj 11 28 hsl 64 16 0 127 0 1 \$0/decay \$1/decay decay -2 -6 0 +8 -260818 -1 -1 400 1; +#X obj 11 58 hsl 64 16 0 127 0 1 \$0/freq \$1/freq freq -2 -6 0 8 -260818 +-1 -1 2180 1; +#X obj 91 28 bng 16 250 50 0 \$0/shot \$1/shot shot 0 -6 0 8 -260818 +-1 -1; +#X obj 10 119 hsl 64 16 0 127 0 1 \$0/vol \$1/vol vol -2 -6 0 8 -260818 +-1 -1 6300 1; +#X obj 10 89 hsl 64 16 0 127 0 1 \$0/rattle \$1/rattle rattle -2 -6 +0 8 -260818 -1 -1 5580 1; +#X connect 0 0 26 0; +#X connect 1 0 3 0; +#X connect 2 0 0 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 1 10 0; +#X connect 9 0 12 0; +#X connect 9 1 11 0; +#X connect 17 0 1 0; +#X connect 18 0 2 0; +#X connect 20 0 22 0; +#X connect 21 0 20 0; +#X connect 22 0 1 0; +#X connect 22 1 1 2; +#X connect 23 0 25 0; +#X connect 24 0 23 0; +#X connect 25 0 1 0; +#X connect 25 1 1 1; +#X connect 26 0 28 0; +#X connect 27 0 29 0; +#X connect 28 0 19 0; +#X connect 29 0 28 1; +#X coords 0 -1 1 1 120 143 1 0 0; diff --git a/s-oldschool~.pd b/s-oldschool~.pd new file mode 100644 index 0000000..7db66e8 --- /dev/null +++ b/s-oldschool~.pd @@ -0,0 +1,76 @@ +#N canvas 99 243 485 415 10; +#X obj 41 195 noise~; +#X obj 331 270 line~; +#X msg 361 245 1; +#X msg 331 200 bang; +#X obj 331 221 t b b; +#X obj 42 291 expr~ $v1 * tan($v2) * tan($v2) * tan($v2); +#X obj 42 376 outlet~; +#X obj 267 245 pack 0 f; +#X obj 17 70 hsl 64 16 0 127 0 0 \$0/length \$1/length length -2 -6 +0 8 -260818 -1 -1 2800 1; +#X obj 18 39 hsl 64 16 0 127 0 0 \$0/crunch \$1/crunch crunch -2 -6 +0 8 -260818 -1 -1 5500 1; +#X obj 42 229 s-bitcrusher~ \$0; +#X obj 267 188 mtof; +#X obj 267 210 s-ftoms; +#X obj 267 167 + 36; +#X obj 92 70 bng 15 250 50 0 \$0/shot \$1/shot shot 0 -6 0 8 -260818 +-1 -1; +#X obj 140 24 inlet; +#X obj 140 68 spigot; +#X obj 140 90 t b f; +#X obj 140 46 unpack f f f; +#X obj 65 332 / 127; +#X obj 42 353 *~ 1; +#X obj 267 145 expr 127 - $f1; +#X obj 429 8 inlet; +#X obj 429 30 list; +#X msg 429 52 \; \$1 \$2 \;; +#X obj 284 316 sssad/sssad \$1/crunch; +#X obj 267 124 r \$0/length; +#X obj 170 113 s \$0/crunch; +#X obj 219 68 s \$0/volume; +#X obj 246 37 s \$0/bits; +#X obj 246 15 r \$0/crunch; +#X obj 65 312 r \$0/volume; +#X obj 405 295 r \$0/crunch; +#X obj 405 340 r \$0/length; +#X obj 331 178 r \$0/shot; +#X obj 140 134 s \$1/shot; +#X obj 284 336 s \$1/crunch; +#X obj 284 381 s \$1/length; +#X obj 284 361 sssad/sssad \$1/length; +#X connect 0 0 10 0; +#X connect 1 0 5 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 7 0; +#X connect 4 1 2 0; +#X connect 5 0 20 0; +#X connect 7 0 1 0; +#X connect 10 0 5 0; +#X connect 11 0 12 0; +#X connect 12 0 7 1; +#X connect 13 0 11 0; +#X connect 15 0 18 0; +#X connect 16 0 17 0; +#X connect 17 0 35 0; +#X connect 17 1 27 0; +#X connect 18 0 16 0; +#X connect 18 1 16 1; +#X connect 18 2 28 0; +#X connect 19 0 20 1; +#X connect 20 0 6 0; +#X connect 21 0 13 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 25 0 36 0; +#X connect 26 0 21 0; +#X connect 30 0 29 0; +#X connect 31 0 19 0; +#X connect 32 0 25 1; +#X connect 33 0 38 1; +#X connect 34 0 3 0; +#X connect 38 0 37 0; +#X coords 0 -1 1 1 110 80 1 10 10; diff --git a/s-perc~.pd b/s-perc~.pd new file mode 100644 index 0000000..23e992f --- /dev/null +++ b/s-perc~.pd @@ -0,0 +1,92 @@ +#N canvas 370 86 402 478 10; +#X obj 5 31 nbx 3 15 0 127 0 1 \$0-height \$0-height height 0 -6 0 +8 -260818 -1 -1 16 256; +#X obj 58 63 nbx 4 15 1 5000 0 0 \$0-length \$0-length length 0 -6 +0 8 -260818 -1 -1 107 256; +#N canvas 59 114 781 546 internals 0; +#X obj 88 288 osc~; +#X obj 89 196 cos~; +#X obj 90 171 line~; +#X msg 60 74 0; +#X obj 60 95 t b f; +#X obj 113 131 pack 0.25 f; +#X obj 88 220 *~; +#X obj 88 263 +~; +#X obj 289 490 outlet~; +#X obj 144 195 mtof; +#X obj 143 238 mtof; +#X obj 420 160 line~; +#X obj 517 83 * 1.1; +#X obj 288 380 *~; +#X obj 379 85 t b b; +#X obj 447 110 delay 3; +#X obj 517 58 * 4; +#X obj 185 97 * 4; +#X obj 517 30 r \$0-length; +#X obj 144 173 r \$0-height; +#X obj 143 217 r \$0-end_freq; +#X obj 185 64 r \$0-length; +#X obj 60 44 r \$0-shot; +#X obj 379 34 r \$0-shot; +#X obj 419 208 clip~ -2 2; +#X obj 419 185 expr~ -ln(1 - $v1); +#X msg 409 109 1 3; +#X obj 447 131 pack 0 f; +#X connect 0 0 13 0; +#X connect 1 0 6 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 2 0; +#X connect 5 0 2 0; +#X connect 6 0 7 0; +#X connect 7 0 0 0; +#X connect 9 0 6 1; +#X connect 10 0 7 1; +#X connect 11 0 25 0; +#X connect 12 0 27 1; +#X connect 13 0 8 0; +#X connect 14 0 15 0; +#X connect 14 1 26 0; +#X connect 15 0 27 0; +#X connect 16 0 12 0; +#X connect 17 0 5 1; +#X connect 18 0 16 0; +#X connect 19 0 9 0; +#X connect 20 0 10 0; +#X connect 21 0 17 0; +#X connect 22 0 3 0; +#X connect 23 0 14 0; +#X connect 24 0 13 1; +#X connect 25 0 24 0; +#X connect 26 0 11 0; +#X connect 27 0 11 0; +#X restore 253 19 pd internals; +#X obj 5 63 nbx 3 15 0 127 0 1 \$0-end_freq \$0-end_freq end_freq 0 +-6 0 8 -260818 -1 -1 33 256; +#X obj 253 67 outlet~; +#X obj 73 27 bng 16 250 50 0 \$0-shot \$0-shot shot 0 -6 0 8 -260818 +-1 -1; +#X obj 1 264 s-connect \$1-height \$0-height; +#X obj 1 285 s-connect \$1-end_freq \$0-end_freq; +#X obj 1 327 s-connect \$1-shot \$0-shot; +#X obj 1 306 s-connect \$1-length \$0-length; +#X obj 253 43 *~ 2; +#X obj 0 89 inlet; +#X obj 0 112 unpack f f; +#X obj 0 134 t b f; +#X obj 0 239 s \$0-shot; +#X msg 0 217 bang; +#X obj 65 136 / 12; +#X obj 65 159 s \$0-vol; +#X obj 30 188 s \$0-end_freq; +#X connect 2 0 10 0; +#X connect 10 0 4 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 12 1 16 0; +#X connect 13 0 15 0; +#X connect 13 1 18 0; +#X connect 15 0 14 0; +#X connect 16 0 17 0; +#X coords 0 0 1 1 100 84 1 0 0; diff --git a/s-pluck~.pd b/s-pluck~.pd new file mode 100644 index 0000000..9072cb6 --- /dev/null +++ b/s-pluck~.pd @@ -0,0 +1,116 @@ +#N canvas 316 68 674 589 10; +#X obj 394 566 outlet~; +#X obj 302 89 inlet; +#X obj 483 332 sig~; +#X obj 302 185 t b f; +#X obj 369 327 * 0.001; +#X obj 369 353 + 0.95; +#X obj 483 280 mtof; +#X obj 302 256 del 2; +#X obj 302 118 unpack 0 0; +#X obj 474 177 * 0.0078; +#X msg 302 276 0; +#X obj 246 300 *~ 0; +#X text 181 88 midi note pairs; +#X text 122 233 short burst of noise; +#X obj 395 524 *~; +#X obj 435 507 line~; +#X msg 486 480 1; +#X obj 486 454 t b; +#X obj 435 427 select 0; +#X text 483 406 unclick on note-off; +#X msg 435 453 0 500; +#N canvas 126 55 600 400 delays 0; +#X obj 77 73 inlet~; +#X obj 278 79 inlet; +#X obj 227 180 *~ 0.995; +#X obj 227 206 lop~ 5000; +#X obj 412 128 vd~ \$0-buff; +#X obj 412 79 inlet~; +#X obj 412 311 outlet~; +#X obj 77 256 delwrite~ \$0-buff 256; +#X obj 412 154 clip~ -0.5 0.5; +#X obj 509 16 block~ 1; +#X connect 0 0 7 0; +#X connect 1 0 2 1; +#X connect 2 0 3 0; +#X connect 3 0 7 0; +#X connect 4 0 2 0; +#X connect 4 0 8 0; +#X connect 5 0 4 0; +#X connect 8 0 6 0; +#X restore 340 393 pd delays; +#X obj 269 268 f 1; +#X obj 395 442 *~ 1; +#X text 360 276 feedback < 50; +#X obj 367 163 select 0; +#X obj 302 161 spigot; +#X msg 338 139 0; +#X obj 60 59 nbx 3 16 0 127 0 0 \$0-delay \$0-delay delay 0 -6 0 8 +-260818 -1 -1 0 256; +#X obj 6 29 nbx 3 16 0 127 0 0 \$0-feedback \$0-feedback feedback 0 +-6 0 8 -260818 -1 -1 0 256; +#X obj 5 59 nbx 3 16 0 127 0 0 \$0-finetune \$0-finetune finetune 0 +-6 0 8 -260818 -1 -1 0 256; +#X obj 484 304 expr 1000/$f1; +#X obj 220 256 noise~; +#X obj 394 545 s-jail; +#X obj 196 170 r \$0-notevol; +#X obj 474 203 s \$0-notevol; +#X obj 332 235 r \$0-delay; +#X obj 369 302 r \$0-feedback; +#X obj 435 390 r \$0-notevol; +#X obj 371 2 s-connect \$1/feedback \$0-feedback; +#X obj 371 23 s-connect \$1/finetune \$0-finetune; +#X obj 371 44 s-connect \$1/delay \$0-delay; +#X obj 595 5 inlet; +#X obj 595 26 list; +#X msg 595 49 \; \$1 \$2 \;; +#X obj 139 29 sssad/sssad \$1/feedback; +#X obj 136 58 sssad/sssad \$1/delay; +#X obj 22 103 sssad/sssad \$1/finetune; +#X connect 1 0 8 0; +#X connect 2 0 21 2; +#X connect 3 0 7 0; +#X connect 3 0 22 0; +#X connect 3 1 6 0; +#X connect 4 0 5 0; +#X connect 5 0 21 1; +#X connect 6 0 31 0; +#X connect 7 0 10 0; +#X connect 8 0 26 0; +#X connect 8 1 9 0; +#X connect 8 1 25 0; +#X connect 9 0 35 0; +#X connect 10 0 11 1; +#X connect 11 0 21 0; +#X connect 14 0 33 0; +#X connect 15 0 14 1; +#X connect 16 0 15 0; +#X connect 17 0 16 0; +#X connect 18 0 20 0; +#X connect 18 1 17 0; +#X connect 20 0 15 0; +#X connect 21 0 23 0; +#X connect 22 0 11 1; +#X connect 23 0 14 0; +#X connect 25 0 27 0; +#X connect 25 1 26 1; +#X connect 26 0 3 0; +#X connect 27 0 26 1; +#X connect 28 0 46 1; +#X connect 29 0 45 1; +#X connect 30 0 47 1; +#X connect 31 0 2 0; +#X connect 32 0 11 0; +#X connect 33 0 0 0; +#X connect 34 0 22 1; +#X connect 36 0 7 1; +#X connect 37 0 4 0; +#X connect 38 0 18 0; +#X connect 42 0 43 0; +#X connect 43 0 44 0; +#X connect 45 0 29 0; +#X connect 46 0 28 0; +#X connect 47 0 30 0; +#X coords 0 0 1 1 100 80 1 0 0; diff --git a/s-recorder~.pd b/s-recorder~.pd new file mode 100644 index 0000000..e8885b5 --- /dev/null +++ b/s-recorder~.pd @@ -0,0 +1,35 @@ +#N canvas 408 244 450 300 10; +#X obj 85 215 writesf~ 2; +#X msg 341 148 stop; +#X msg 92 118 start; +#X obj 52 70 catch~ mainout-l; +#X obj 208 57 catch~ mainout-r; +#X obj 8 36 bng 16 250 50 0 \$0-open \$1-open open 0 -6 0 8 -260818 +-1 -1; +#X obj 50 37 bng 16 250 50 0 \$0-record \$1-record record 0 -6 0 8 +-260818 -1 -1; +#X obj 102 38 bng 16 250 50 0 \$0-stop \$1-stop stop 0 -6 0 8 -260818 +-1 -1; +#X msg 212 143 open \$1; +#X obj 212 119 savepanel; +#X obj 212 95 r \$0-open; +#X obj 92 96 r \$0-record; +#X obj 341 126 r \$0-stop; +#X obj 13 222 s~ main-l; +#X obj 300 89 s~ main-r; +#X obj 206 211 outlet~; +#X obj 310 213 outlet~; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 3 0 13 0; +#X connect 3 0 15 0; +#X connect 4 0 0 1; +#X connect 4 0 14 0; +#X connect 4 0 16 0; +#X connect 8 0 0 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 11 0 2 0; +#X connect 12 0 1 0; +#X coords 0 0 1 1 140 60 1 0 0; diff --git a/s-repeater~.pd b/s-repeater~.pd new file mode 100644 index 0000000..2e05a94 --- /dev/null +++ b/s-repeater~.pd @@ -0,0 +1,55 @@ +#N canvas 224 26 759 634 10; +#X obj 616 5 table \$0-data 44100; +#X obj 97 39 bng 16 250 50 0 \$0/shot \$1/shot shot 0 -6 0 8 -260818 +-1 -1; +#X obj 252 72 inlet~; +#X obj 279 326 tabread~ \$0-data; +#X obj 253 102 tabwrite~ \$0-data; +#X obj 460 46 mtof; +#X obj 288 279 *~; +#X obj 199 407 outlet~; +#X obj 281 225 phasor~; +#X obj 185 37 t b b; +#X obj 18 39 hsl 64 16 0 127 0 1 \$0/size \$1/size size -2 -6 0 8 -260818 +-1 -1 0 1; +#X obj 253 367 *~; +#X obj 179 202 == 0; +#X obj 171 245 *~; +#X obj 219 204 != 0; +#X obj 38 82 sssad/sssad \$1/size; +#X obj 608 34 inlet; +#X obj 608 58 list; +#X obj 322 156 / 12; +#X obj 389 220 * 12; +#X obj 460 69 expr 44100 / $f1; +#X msg 608 82 \; \$1 \$2 \;; +#X obj 195 169 r \$0/size; +#X obj 185 15 r \$0/shot; +#X obj 460 23 r \$0/size; +#X msg 195 82 0; +#X connect 2 0 4 0; +#X connect 2 0 13 0; +#X connect 3 0 11 0; +#X connect 5 0 18 0; +#X connect 5 0 20 0; +#X connect 6 0 3 0; +#X connect 8 0 6 0; +#X connect 9 0 25 0; +#X connect 9 1 4 0; +#X connect 10 0 15 1; +#X connect 11 0 7 0; +#X connect 12 0 13 1; +#X connect 13 0 7 0; +#X connect 14 0 11 1; +#X connect 15 0 10 0; +#X connect 16 0 17 0; +#X connect 17 0 21 0; +#X connect 18 0 8 0; +#X connect 19 0 6 1; +#X connect 20 0 19 0; +#X connect 22 0 12 0; +#X connect 22 0 14 0; +#X connect 23 0 9 0; +#X connect 24 0 5 0; +#X connect 25 0 8 1; +#X coords 0 0 1 1 120 50 1 10 10; diff --git a/s-reverb-echo.pd b/s-reverb-echo.pd new file mode 100644 index 0000000..bf75778 --- /dev/null +++ b/s-reverb-echo.pd @@ -0,0 +1,17 @@ +#N canvas 130 153 744 412 12; +#X obj 66 95 inlet~; +#X obj 130 96 inlet~; +#X obj 68 216 outlet~; +#X obj 141 215 outlet~; +#X obj 67 143 +~; +#X obj 140 141 -~; +#X obj 141 165 delwrite~ \$1 \$2; +#X obj 140 191 delread~ \$1 \$2; +#X text 48 14 this is not my design; +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 1 0 4 1; +#X connect 1 0 5 1; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 7 0 3 0; diff --git a/s-reverb~.pd b/s-reverb~.pd new file mode 100644 index 0000000..02f8d4c --- /dev/null +++ b/s-reverb~.pd @@ -0,0 +1,118 @@ +#N canvas 17 25 959 612 10; +#X obj 129 13 inlet~; +#X obj 239 253 +~; +#X obj 295 253 +~; +#X obj 66 370 outlet~; +#X obj 152 372 outlet~; +#X obj 238 334 +~; +#X obj 347 335 +~; +#X obj 280 334 -~; +#X obj 387 334 -~; +#X obj 237 390 +~; +#X obj 281 391 +~; +#X obj 325 392 -~; +#X obj 364 392 -~; +#X obj 324 474 *~ 0; +#X obj 282 473 *~ 0; +#X obj 237 472 *~ 0; +#X obj 365 475 *~ 0; +#X obj 417 429 / 200; +#X obj 417 406 max 0; +#X obj 130 40 s-reverb-echo \$0-echo-del1 5.43216; +#X obj 130 61 s-reverb-echo \$0-echo-del2 8.45346; +#X obj 417 383 min 127; +#X obj 7 25 hsl 64 16 0 127 0 0 \$0/reverb \$1/reverb reverb -2 -6 +0 8 -260818 -1 -1 4900 1; +#X obj 147 297 *~; +#X obj 195 297 *~; +#X obj 7 53 hsl 64 16 0 127 0 0 \$0/wet \$1/wet wet -2 -6 0 8 -260818 +-1 -1 99 1; +#X obj 6 81 hsl 64 16 0 127 0 0 \$0/dry \$1/dry dry -2 -6 0 8 -260818 +-1 -1 2927 1; +#X obj 154 259 / 127; +#X obj 75 251 / 127; +#X obj 54 272 *~; +#X text 426 27 this reverb is miller's \, not mine. designing reverbs +is way beyond me. I made this into a GOP abstraction. Any weirdness +is my fault.; +#X obj 151 348 s-jail; +#X obj 67 345 s-jail; +#X obj 256 204 delread~ \$0-loop-del1 39.5161; +#X obj 238 585 delwrite~ \$0-loop-del1 39.5161; +#X obj 312 228 delread~ \$0-loop-del2 37.1212; +#X obj 282 561 delwrite~ \$0-loop-del2 37.1212; +#X obj 348 261 delread~ \$0-loop-del3 34.534; +#X obj 325 537 delwrite~ \$0-loop-del3 34.534; +#X obj 364 513 delwrite~ \$0-loop-del4 32.5221; +#X obj 402 285 delread~ \$0-loop-del4 32.5221; +#X obj 131 158 s-reverb-echo \$0-echo-del6 196; +#X obj 130 134 s-reverb-echo \$0-echo-del5 129.326; +#X obj 130 109 s-reverb-echo \$0-echo-del4 100; +#X obj 131 86 s-reverb-echo \$0-echo-del3 79.3165; +#X obj 663 254 sssad/auto \$0/reverb \$1/reverb; +#X obj 663 296 sssad/auto \$0/dry \$1/dry; +#X obj 75 231 r \$0/dry; +#X obj 154 239 r \$0/wet; +#X obj 417 360 r \$0/reverb; +#X obj 663 275 sssad/auto \$0/wet \$1/wet; +#X connect 0 0 19 0; +#X connect 0 0 29 0; +#X connect 1 0 5 0; +#X connect 1 0 7 0; +#X connect 1 0 23 0; +#X connect 2 0 5 1; +#X connect 2 0 7 1; +#X connect 2 0 24 0; +#X connect 5 0 9 0; +#X connect 5 0 11 0; +#X connect 6 0 11 1; +#X connect 6 0 9 1; +#X connect 7 0 10 0; +#X connect 7 0 12 0; +#X connect 8 0 10 1; +#X connect 8 0 12 1; +#X connect 9 0 15 0; +#X connect 10 0 14 0; +#X connect 11 0 13 0; +#X connect 12 0 16 0; +#X connect 13 0 38 0; +#X connect 14 0 36 0; +#X connect 15 0 34 0; +#X connect 16 0 39 0; +#X connect 17 0 16 1; +#X connect 17 0 15 1; +#X connect 17 0 14 1; +#X connect 17 0 13 1; +#X connect 18 0 17 0; +#X connect 19 0 20 0; +#X connect 19 1 20 1; +#X connect 20 0 44 0; +#X connect 20 1 44 1; +#X connect 21 0 18 0; +#X connect 23 0 32 0; +#X connect 24 0 31 0; +#X connect 27 0 23 1; +#X connect 27 0 24 1; +#X connect 28 0 29 1; +#X connect 29 0 31 0; +#X connect 29 0 32 0; +#X connect 31 0 4 0; +#X connect 32 0 3 0; +#X connect 33 0 1 1; +#X connect 35 0 2 1; +#X connect 37 0 6 0; +#X connect 37 0 8 0; +#X connect 40 0 6 1; +#X connect 40 0 8 1; +#X connect 41 0 1 0; +#X connect 41 1 2 0; +#X connect 42 0 41 0; +#X connect 42 1 41 1; +#X connect 43 0 42 0; +#X connect 43 1 42 1; +#X connect 44 0 43 0; +#X connect 44 1 43 1; +#X connect 47 0 28 0; +#X connect 48 0 27 0; +#X connect 49 0 21 0; +#X coords 0 0 1 1 100 100 1 0 0; diff --git a/s-samplepiece~.pd b/s-samplepiece~.pd new file mode 100644 index 0000000..93e3dd5 --- /dev/null +++ b/s-samplepiece~.pd @@ -0,0 +1,107 @@ +#N canvas 310 89 622 560 10; +#X obj 392 507 outlet~; +#X obj 392 416 line~; +#X obj 392 387 pack f f; +#X obj 7 365 inlet; +#X obj 7 388 unpack f f; +#X obj 7 410 t b f; +#X msg 7 510 bang; +#X obj 72 435 s \$0-vol; +#X obj 72 412 / 127; +#X obj 392 485 *~ 1; +#X obj 37 435 mtof; +#X obj 443 321 f; +#X obj 464 286 t b f; +#X obj 37 460 expr 60000 / $f1; +#X obj 443 364 * 1; +#X obj 494 343 / 229.335; +#X obj 443 343 / 44.1; +#X obj 352 130 loadbang; +#X obj 6 24 nbx 2 14 0 127 0 1 \$0/position \$0/position position 28 +10 0 8 -260818 -1 -1 0 256; +#X obj 6 42 nbx 3 14 0 127 0 1 \$0/slices \$0/slices slices 34 10 0 +8 -260818 -1 -1 16 256; +#X obj 303 183 f; +#X obj 303 281 / 16; +#X obj 247 166 mod; +#X text 5 339 inlet takes midi note pairs; +#X obj 247 332 *; +#X obj 297 332 *; +#X obj 247 295 + 1; +#X obj 298 360 f; +#X obj 249 361 f; +#X obj 155 243 t b b; +#X obj 352 153 \$3; +#X obj 392 438 tabread4~ \$2; +#X obj 335 237 t b f; +#X text 225 4 [name] [sample table name] [sample table length]; +#X obj 525 26 inlet; +#X obj 525 48 list; +#X msg 525 70 \; \$1 \$2 \;; +#X obj 247 106 r \$0/position; +#X obj 154 222 r \$0/shot; +#X obj 263 128 r \$0/slices; +#X obj 335 207 r \$0/slices; +#X obj 464 262 r \$0/freq; +#X obj 415 461 r \$0/vol; +#X obj 37 484 s \$0/freq; +#X obj 7 532 s \$0/shot; +#X obj 92 41 bng 14 250 50 0 \$0/shot \$1/shot shot 0 -6 0 8 -260818 +-1 -1; +#X obj 1 68 s-connect \$1/position \$0/position; +#X obj 1 90 s-connect \$1/slices \$0/slices; +#X obj 143 111 r \$0/slices; +#X obj 1 133 sssad/sssad \$1/slices; +#X obj 1 155 s \$0/slices; +#X obj 144 157 r \$0/position; +#X obj 2 179 sssad/sssad \$1/position; +#X obj 2 201 s \$0/position; +#X connect 1 0 31 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 8 0; +#X connect 5 0 6 0; +#X connect 5 1 10 0; +#X connect 6 0 44 0; +#X connect 8 0 7 0; +#X connect 9 0 0 0; +#X connect 10 0 13 0; +#X connect 11 0 16 0; +#X connect 12 0 11 0; +#X connect 12 1 15 0; +#X connect 13 0 43 0; +#X connect 14 0 2 1; +#X connect 15 0 14 1; +#X connect 16 0 14 0; +#X connect 17 0 30 0; +#X connect 20 0 21 0; +#X connect 21 0 24 1; +#X connect 21 0 11 0; +#X connect 21 0 25 1; +#X connect 22 0 26 0; +#X connect 22 0 25 0; +#X connect 24 0 28 1; +#X connect 25 0 27 1; +#X connect 26 0 24 0; +#X connect 27 0 1 0; +#X connect 28 0 2 0; +#X connect 29 0 28 0; +#X connect 29 1 27 0; +#X connect 30 0 20 0; +#X connect 31 0 9 0; +#X connect 32 0 21 0; +#X connect 32 1 21 1; +#X connect 34 0 35 0; +#X connect 35 0 36 0; +#X connect 37 0 22 0; +#X connect 38 0 29 0; +#X connect 39 0 22 1; +#X connect 40 0 32 0; +#X connect 41 0 12 0; +#X connect 42 0 9 1; +#X connect 48 0 49 1; +#X connect 49 0 50 0; +#X connect 51 0 52 1; +#X connect 52 0 53 0; +#X coords 0 -1 1 1 120 60 1 0 0; diff --git a/s-seq-help.pd b/s-seq-help.pd new file mode 100644 index 0000000..6fe1ea4 --- /dev/null +++ b/s-seq-help.pd @@ -0,0 +1,23 @@ +#N canvas 140 154 598 448 10; +#X obj 225 184 sssad/panel; +#X obj 40 202 s-seq deepak 24; +#X obj 40 136 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 40 155 metro 100; +#X floatatom 40 364 5 0 0 0 - - -; +#X obj 40 178 f; +#X obj 69 178 + 1; +#X text 38 55 the number boxes are the value for that row - use the +shift key and click on the box to edit the number by hand.; +#X text 37 34 the leftmost column signifies the row number.; +#X text 223 165 use this panel to save your sequence/state; +#X text 63 135 click me to start cycling through; +#X text 39 -7 args: [name] [sequence length]; +#X text 37 89 the vslider is a scrollbar to scroll through the sequence +- it wraps at the end.; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 5 0 6 0; +#X connect 5 0 1 0; +#X connect 6 0 5 1; diff --git a/s-seq.pd b/s-seq.pd new file mode 100644 index 0000000..ebec871 --- /dev/null +++ b/s-seq.pd @@ -0,0 +1,484 @@ +#N canvas 11 20 856 660 10; +#X obj 110 12 inlet; +#X obj 110 195 outlet; +#X obj 764 9 inlet; +#X obj 764 31 list; +#X msg 764 53 \; \$1 \$2 \;; +#X obj 110 59 r \$1/index; +#X symbolatom 5 16 2 0 0 0 - #0-idx0 #0x; +#X obj 68 19 vsl 10 128 1 0 0 1 \$0-scrollbar \$0-scrollbar empty 0 +-8 0 8 -260818 -1 -1 12700 1; +#X obj 28 17 nbx 3 14 -1e+37 1e+37 0 0 \$0-nbx0 \$0-nbx0 empty 0 -6 +0 8 -260818 -1 -262144 0 256; +#X obj 745 143 loadbang; +#X obj 745 188 select 0; +#X obj 745 166 \$2; +#X msg 745 209 128; +#X obj 743 115 table \$0-data; +#X obj 713 593 pack s f; +#X obj 713 571 \$0; +#X msg 713 548 bang; +#X msg 713 616 \; \$1-data resize \$2 \;; +#X obj 6 230 r \$0-scrollbar; +#X obj 6 274 *; +#X obj 22 252 r \$0-size; +#X symbolatom 5 33 2 0 0 0 - #0-idx1 #0x; +#X obj 28 34 nbx 3 14 -1e+37 1e+37 0 0 \$0-nbx1 \$0-nbx1 empty 0 -6 +0 8 -260818 -1 -262144 0 256; +#N canvas 2 131 990 376 lookup 0; +#X obj 207 6 inlet; +#X obj 7 200 tabread \$0-data; +#X obj 7 224 s \$0-nbx0; +#X obj 133 139 + 1; +#X obj 133 203 tabread \$0-data; +#X obj 251 204 tabread \$0-data; +#X obj 251 141 + 2; +#X obj 133 227 s \$0-nbx1; +#X obj 251 228 s \$0-nbx2; +#X obj 381 204 tabread \$0-data; +#X obj 381 141 + 3; +#X obj 381 228 s \$0-nbx3; +#X obj 500 203 tabread \$0-data; +#X obj 626 203 tabread \$0-data; +#X obj 744 204 tabread \$0-data; +#X obj 874 204 tabread \$0-data; +#X obj 500 139 + 4; +#X obj 626 139 + 5; +#X obj 744 140 + 6; +#X obj 874 141 + 7; +#X obj 500 224 s \$0-nbx4; +#X obj 626 227 s \$0-nbx5; +#X obj 744 228 s \$0-nbx6; +#X obj 874 228 s \$0-nbx7; +#X obj 133 181 mod; +#X obj 149 159 r \$0-size; +#X obj 251 183 mod; +#X obj 267 161 r \$0-size; +#X obj 381 183 mod; +#X obj 397 161 r \$0-size; +#X obj 500 182 mod; +#X obj 516 160 r \$0-size; +#X obj 626 182 mod; +#X obj 642 160 r \$0-size; +#X obj 744 183 mod; +#X obj 760 161 r \$0-size; +#X obj 874 183 mod; +#X obj 890 161 r \$0-size; +#X connect 0 0 1 0; +#X connect 0 0 3 0; +#X connect 0 0 6 0; +#X connect 0 0 10 0; +#X connect 0 0 16 0; +#X connect 0 0 17 0; +#X connect 0 0 18 0; +#X connect 0 0 19 0; +#X connect 1 0 2 0; +#X connect 3 0 24 0; +#X connect 4 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 26 0; +#X connect 9 0 11 0; +#X connect 10 0 28 0; +#X connect 12 0 20 0; +#X connect 13 0 21 0; +#X connect 14 0 22 0; +#X connect 15 0 23 0; +#X connect 16 0 30 0; +#X connect 17 0 32 0; +#X connect 18 0 34 0; +#X connect 19 0 36 0; +#X connect 24 0 4 0; +#X connect 25 0 24 1; +#X connect 26 0 5 0; +#X connect 27 0 26 1; +#X connect 28 0 9 0; +#X connect 29 0 28 1; +#X connect 30 0 12 0; +#X connect 31 0 30 1; +#X connect 32 0 13 0; +#X connect 33 0 32 1; +#X connect 34 0 14 0; +#X connect 35 0 34 1; +#X connect 36 0 15 0; +#X connect 37 0 36 1; +#X restore 6 349 pd lookup; +#N canvas 12 116 751 320 hexidx 0; +#X obj 325 14 inlet; +#X obj 9 225 s-hex; +#X obj 9 248 s \$0-idx0; +#X obj 94 225 s-hex; +#X obj 94 156 + 1; +#X obj 182 225 s-hex; +#X obj 182 156 + 2; +#X obj 182 248 s \$0-idx2; +#X obj 94 248 s \$0-idx1; +#X obj 270 225 s-hex; +#X obj 270 156 + 3; +#X obj 270 248 s \$0-idx3; +#X obj 362 226 s-hex; +#X obj 450 226 s-hex; +#X obj 537 226 s-hex; +#X obj 623 226 s-hex; +#X obj 623 249 s \$0-idx7; +#X obj 623 158 + 7; +#X obj 537 157 + 6; +#X obj 537 249 s \$0-idx6; +#X obj 450 157 + 5; +#X obj 450 249 s \$0-idx5; +#X obj 362 157 + 4; +#X obj 362 249 s \$0-idx4; +#X obj 94 201 mod; +#X obj 110 179 r \$0-size; +#X obj 182 201 mod; +#X obj 198 179 r \$0-size; +#X obj 270 201 mod; +#X obj 286 179 r \$0-size; +#X obj 362 201 mod; +#X obj 378 179 r \$0-size; +#X obj 450 201 mod; +#X obj 466 179 r \$0-size; +#X obj 537 201 mod; +#X obj 553 179 r \$0-size; +#X obj 623 201 mod; +#X obj 639 179 r \$0-size; +#X connect 0 0 1 0; +#X connect 0 0 4 0; +#X connect 0 0 6 0; +#X connect 0 0 10 0; +#X connect 0 0 22 0; +#X connect 0 0 20 0; +#X connect 0 0 18 0; +#X connect 0 0 17 0; +#X connect 1 0 2 0; +#X connect 3 0 8 0; +#X connect 4 0 24 0; +#X connect 5 0 7 0; +#X connect 6 0 26 0; +#X connect 9 0 11 0; +#X connect 10 0 28 0; +#X connect 12 0 23 0; +#X connect 13 0 21 0; +#X connect 14 0 19 0; +#X connect 15 0 16 0; +#X connect 17 0 36 0; +#X connect 18 0 34 0; +#X connect 20 0 32 0; +#X connect 22 0 30 0; +#X connect 24 0 3 0; +#X connect 25 0 24 1; +#X connect 26 0 5 0; +#X connect 27 0 26 1; +#X connect 28 0 9 0; +#X connect 29 0 28 1; +#X connect 30 0 12 0; +#X connect 31 0 30 1; +#X connect 32 0 13 0; +#X connect 33 0 32 1; +#X connect 34 0 14 0; +#X connect 35 0 34 1; +#X connect 36 0 15 0; +#X connect 37 0 36 1; +#X restore 79 349 pd hexidx; +#X symbolatom 5 50 2 0 0 0 - #0-idx2 #0x; +#X obj 28 51 nbx 3 14 -1e+37 1e+37 0 0 \$0-nbx2 \$0-nbx2 empty 0 -6 +0 8 -260818 -1 -262144 0 256; +#X symbolatom 5 67 2 0 0 0 - #0-idx3 #0x; +#X obj 28 68 nbx 3 14 -1e+37 1e+37 0 0 \$0-nbx3 \$0-nbx3 empty 0 -6 +0 8 -260818 -1 -262144 0 256; +#X obj 110 114 mod; +#X obj 126 92 r \$0-size; +#X obj 110 172 tabread \$0-data; +#X symbolatom 5 84 2 0 0 0 - #0-idx4 #0x; +#X obj 28 85 nbx 3 14 -1e+37 1e+37 0 0 \$0-nbx4 \$0-nbx4 empty 0 -6 +0 8 -260818 -1 -262144 0 256; +#X symbolatom 5 101 2 0 0 0 - #0-idx5 #0x; +#X obj 28 102 nbx 3 14 -1e+37 1e+37 0 0 \$0-nbx5 \$0-nbx5 empty 0 -6 +0 8 -260818 -1 -262144 0 256; +#X symbolatom 5 118 2 0 0 0 - #0-idx6 #0x; +#X obj 28 119 nbx 3 14 -1e+37 1e+37 0 0 \$0-nbx6 \$0-nbx6 empty 0 -6 +0 8 -260818 -1 -262144 0 256; +#X symbolatom 5 135 2 0 0 0 - #0-idx7 #0x; +#X obj 28 136 nbx 3 14 -1e+37 1e+37 0 0 \$0-nbx7 \$0-nbx7 empty 0 -6 +0 8 -260818 -1 -262144 0 256; +#N canvas 212 221 507 438 save 0; +#X obj 58 10 r SSSAD_SAVE; +#X obj 53 333 list prepend; +#X obj 146 333 t l; +#X obj 30 362 list; +#X obj 30 386 outlet; +#X obj 96 112 until; +#X obj 96 89 f; +#X obj 112 66 r \$0-size; +#X obj 96 160 tabread \$0-data; +#X obj 96 135 f; +#X obj 126 135 + 1; +#X msg 141 112 0; +#X obj 58 36 t b b b b; +#X connect 0 0 12 0; +#X connect 1 0 2 0; +#X connect 1 0 3 1; +#X connect 2 0 1 1; +#X connect 3 0 4 0; +#X connect 5 0 9 0; +#X connect 6 0 5 0; +#X connect 7 0 6 1; +#X connect 8 0 1 0; +#X connect 9 0 10 0; +#X connect 9 0 8 0; +#X connect 10 0 9 1; +#X connect 11 0 9 1; +#X connect 12 0 1 1; +#X connect 12 1 3 0; +#X connect 12 2 6 0; +#X connect 12 3 11 0; +#X restore 702 9 pd save; +#N canvas 64 35 650 643 load 0; +#X obj 21 6 inlet; +#X obj 40 65 until; +#X obj 40 92 list append; +#X obj 133 121 bang; +#X obj 40 121 list split 1; +#X obj 147 187 f; +#X obj 40 222 tabwrite \$0-data; +#X obj 177 187 + 1; +#X msg 163 165 0; +#X obj 40 147 t f b; +#X obj 21 32 t b b l b; +#X obj 21 250 \$0; +#X msg 21 271 \; \$1-scrollbar 0 \;; +#X connect 0 0 10 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 1 1; +#X connect 4 0 9 0; +#X connect 4 1 2 1; +#X connect 4 2 3 0; +#X connect 5 0 7 0; +#X connect 5 0 6 1; +#X connect 7 0 5 1; +#X connect 8 0 5 1; +#X connect 9 0 6 0; +#X connect 9 1 5 0; +#X connect 10 0 11 0; +#X connect 10 1 1 0; +#X connect 10 2 2 1; +#X connect 10 3 8 0; +#X connect 11 0 12 0; +#X restore 546 55 pd load; +#X obj 546 31 sssad/sssad \$1/sequence; +#X obj 745 299 s \$0-scrollbar; +#X obj 745 256 t b f; +#X obj 775 277 s \$0-size; +#X msg 745 277 0; +#X obj 161 206 r \$0-nbx0; +#X obj 161 250 t f b; +#X obj 161 320 tabwrite \$0-data; +#X msg 191 270 0; +#X obj 352 250 t f b; +#X obj 352 322 tabwrite \$0-data; +#X obj 352 206 r \$0-nbx1; +#X msg 382 270 1; +#X obj 218 293 +; +#X obj 259 251 r \$0-size; +#X obj 243 272 *; +#X obj 243 229 r \$0-scrollbar; +#X obj 409 293 +; +#X obj 453 251 r \$0-size; +#X obj 437 272 *; +#X obj 437 229 r \$0-scrollbar; +#X obj 713 480 r \$0-size; +#X obj 557 249 t f b; +#X obj 557 321 tabwrite \$0-data; +#X obj 614 292 +; +#X obj 659 250 r \$0-size; +#X obj 643 271 *; +#X obj 643 228 r \$0-scrollbar; +#X obj 557 208 r \$0-nbx2; +#X msg 587 269 2; +#X obj 161 398 t f b; +#X obj 161 468 tabwrite \$0-data; +#X obj 218 441 +; +#X obj 264 399 r \$0-size; +#X obj 248 420 *; +#X obj 248 377 r \$0-scrollbar; +#X obj 161 355 r \$0-nbx3; +#X msg 191 418 3; +#X obj 352 398 t f b; +#X obj 352 468 tabwrite \$0-data; +#X obj 409 441 +; +#X obj 456 399 r \$0-size; +#X obj 440 420 *; +#X obj 440 377 r \$0-scrollbar; +#X obj 352 355 r \$0-nbx4; +#X msg 382 418 4; +#X obj 563 397 t f b; +#X obj 563 467 tabwrite \$0-data; +#X obj 620 440 +; +#X obj 669 398 r \$0-size; +#X obj 653 419 *; +#X obj 653 376 r \$0-scrollbar; +#X obj 563 354 r \$0-nbx5; +#X msg 593 417 5; +#X obj 161 546 t f b; +#X obj 161 616 tabwrite \$0-data; +#X obj 218 589 +; +#X obj 263 547 r \$0-size; +#X obj 247 568 *; +#X obj 247 525 r \$0-scrollbar; +#X obj 161 501 r \$0-nbx6; +#X msg 191 566 6; +#X obj 352 546 t f b; +#X obj 352 616 tabwrite \$0-data; +#X obj 409 589 +; +#X obj 455 544 r \$0-size; +#X obj 439 565 *; +#X obj 439 522 r \$0-scrollbar; +#X obj 352 501 r \$0-nbx7; +#X msg 382 566 7; +#X obj 110 35 s \$1/index; +#X obj 122 141 s \$1/pos; +#N canvas 184 112 510 513 colorisation 0; +#X obj 76 9 r \$0-scrollbar; +#X obj 92 30 r \$0-size; +#X obj 76 51 *; +#X obj 12 9 r \$1/pos; +#X obj 12 139 -; +#X obj 12 161 moses 0; +#X obj 76 72 int; +#X obj 56 268 makefilename \$0-nbx%d; +#X msg 4 350 \; \$1 color 1 \;; +#X obj 56 290 t a a b; +#X obj 100 324 symbol; +#X msg 100 349 \; \$1 color 944 \;; +#X obj 56 184 moses 8; +#X msg 211 268 bang; +#X msg 13 290 bang; +#X obj 32 100 t b f; +#X connect 0 0 2 0; +#X connect 1 0 2 1; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 14 0; +#X connect 5 1 12 0; +#X connect 6 0 15 0; +#X connect 7 0 9 0; +#X connect 9 0 8 0; +#X connect 9 1 10 1; +#X connect 9 2 10 0; +#X connect 10 0 11 0; +#X connect 12 0 7 0; +#X connect 12 1 13 0; +#X connect 13 0 10 0; +#X connect 14 0 10 0; +#X connect 15 0 4 0; +#X connect 15 1 4 1; +#X restore 275 23 pd colorisation; +#X obj 161 229 route color; +#X obj 352 229 route color; +#X obj 557 228 route color; +#X obj 563 375 route color; +#X obj 352 377 route color; +#X obj 161 376 route color; +#X obj 352 522 route color; +#X obj 161 524 route color; +#X connect 0 0 112 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 5 0 29 0; +#X connect 9 0 11 0; +#X connect 10 0 12 0; +#X connect 10 1 44 0; +#X connect 11 0 10 0; +#X connect 12 0 44 0; +#X connect 14 0 17 0; +#X connect 15 0 14 0; +#X connect 16 0 15 0; +#X connect 18 0 19 0; +#X connect 19 0 23 0; +#X connect 19 0 24 0; +#X connect 20 0 19 1; +#X connect 29 0 31 0; +#X connect 29 0 113 0; +#X connect 30 0 29 1; +#X connect 31 0 1 0; +#X connect 40 0 42 1; +#X connect 42 0 41 0; +#X connect 44 0 46 0; +#X connect 44 1 45 0; +#X connect 46 0 43 0; +#X connect 47 0 115 0; +#X connect 48 0 49 0; +#X connect 48 1 50 0; +#X connect 50 0 55 0; +#X connect 51 0 52 0; +#X connect 51 1 54 0; +#X connect 53 0 116 0; +#X connect 54 0 59 0; +#X connect 55 0 49 1; +#X connect 56 0 57 1; +#X connect 57 0 55 1; +#X connect 58 0 57 0; +#X connect 59 0 52 1; +#X connect 60 0 61 1; +#X connect 61 0 59 1; +#X connect 62 0 61 0; +#X connect 63 0 14 1; +#X connect 63 0 16 0; +#X connect 64 0 65 0; +#X connect 64 1 71 0; +#X connect 66 0 65 1; +#X connect 67 0 68 1; +#X connect 68 0 66 1; +#X connect 69 0 68 0; +#X connect 70 0 117 0; +#X connect 71 0 66 0; +#X connect 72 0 73 0; +#X connect 72 1 79 0; +#X connect 74 0 73 1; +#X connect 75 0 76 1; +#X connect 76 0 74 1; +#X connect 77 0 76 0; +#X connect 78 0 120 0; +#X connect 79 0 74 0; +#X connect 80 0 81 0; +#X connect 80 1 87 0; +#X connect 82 0 81 1; +#X connect 83 0 84 1; +#X connect 84 0 82 1; +#X connect 85 0 84 0; +#X connect 86 0 119 0; +#X connect 87 0 82 0; +#X connect 88 0 89 0; +#X connect 88 1 95 0; +#X connect 90 0 89 1; +#X connect 91 0 92 1; +#X connect 92 0 90 1; +#X connect 93 0 92 0; +#X connect 94 0 118 0; +#X connect 95 0 90 0; +#X connect 96 0 97 0; +#X connect 96 1 103 0; +#X connect 98 0 97 1; +#X connect 99 0 100 1; +#X connect 100 0 98 1; +#X connect 101 0 100 0; +#X connect 102 0 122 0; +#X connect 103 0 98 0; +#X connect 104 0 105 0; +#X connect 104 1 111 0; +#X connect 106 0 105 1; +#X connect 107 0 108 1; +#X connect 108 0 106 1; +#X connect 109 0 108 0; +#X connect 110 0 121 0; +#X connect 111 0 106 0; +#X connect 115 1 48 0; +#X connect 116 1 51 0; +#X connect 117 1 64 0; +#X connect 118 1 88 0; +#X connect 119 1 80 0; +#X connect 120 1 72 0; +#X connect 121 1 104 0; +#X connect 122 1 96 0; +#X coords 0 -1 1 1 85 155 1 0 0; diff --git a/s-seq16.pd b/s-seq16.pd new file mode 100644 index 0000000..812e887 --- /dev/null +++ b/s-seq16.pd @@ -0,0 +1,34 @@ +#N canvas 144 335 796 297 10; +#X obj 108 127 +; +#X obj 108 104 t b f; +#X obj 160 129 +; +#X obj 160 106 t b f; +#X obj 254 129 +; +#X obj 254 106 t b f; +#X obj 201 231 outlet; +#X obj 201 155 inlet; +#X obj 1 1 cnv 15 358 31 empty empty empty 20 12 0 14 -260818 -66577 +0; +#X obj 271 4 s-togs 3; +#X obj 4 4 s-togs; +#X obj 182 4 s-togs 2; +#X obj 93 4 s-togs 1; +#X obj 265 157 outlet; +#X obj 201 201 s-mseq 2 16 0 \$1; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 1 1 0 1; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 3 1 2 1; +#X connect 4 0 13 0; +#X connect 4 0 14 1; +#X connect 5 0 4 0; +#X connect 5 1 4 1; +#X connect 7 0 14 0; +#X connect 9 0 5 0; +#X connect 10 0 0 0; +#X connect 11 0 3 0; +#X connect 12 0 1 0; +#X connect 14 0 6 0; +#X coords 0 0 1 1 360 33 1 0 0; diff --git a/s-sigmoid~.pd b/s-sigmoid~.pd new file mode 100644 index 0000000..93253cc --- /dev/null +++ b/s-sigmoid~.pd @@ -0,0 +1,8 @@ +#N canvas 164 202 307 105 10; +#X obj 8 31 expr~ 2 / (1 + pow($v2 \, -$v1)) - 1; +#X obj 8 54 outlet~; +#X obj 240 8 inlet~; +#X obj 8 8 inlet~; +#X connect 0 0 1 0; +#X connect 2 0 0 1; +#X connect 3 0 0 0; diff --git a/s-smooth.pd b/s-smooth.pd new file mode 100644 index 0000000..cf3f2e4 --- /dev/null +++ b/s-smooth.pd @@ -0,0 +1,16 @@ +#N canvas 0 0 450 300 10; +#X obj 78 41 expr 60000/$f1; +#X obj 78 92 /; +#X obj 94 67 r tpb; +#X obj 78 18 r bpm; +#X obj 26 94 inlet; +#X obj 26 117 pack f f; +#X obj 26 141 line~; +#X obj 25 165 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 5 1; +#X connect 2 0 1 1; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; diff --git a/s-snare~.pd b/s-snare~.pd new file mode 100644 index 0000000..67d0617 --- /dev/null +++ b/s-snare~.pd @@ -0,0 +1,83 @@ +#N canvas 224 92 577 553 10; +#X obj 273 206 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 273 117 t b b; +#X obj 156 297 line~; +#X msg 119 189 1; +#X obj 256 366 *~; +#X obj 188 340 expr~ tan($v1) * tan($v1) * tan($v1); +#X obj 290 226 noise~; +#X obj 156 236 pack 0 1000; +#X obj 256 387 s-filter~ \$0; +#X obj 256 521 outlet~; +#X obj 89 31 bng 15 250 50 0 \$0/shot \$1/shot shot 0 -6 0 8 -260818 +-1 -1; +#X obj 256 494 *~; +#X obj 7 59 hsl 64 16 0 127 0 1 \$0/ring \$1/ring ring -2 -6 0 8 -260818 +-1 -1 299 1; +#X obj 7 30 hsl 64 16 0 127 0 1 \$0/length \$1/length length -2 -6 +0 8 -260818 -1 -1 3100 1; +#X obj 169 144 exp; +#X obj 169 122 / 17; +#X obj 489 4 loadbang; +#X obj 489 44 s \$0-vol; +#X obj 13 245 inlet; +#X obj 13 268 unpack f f; +#X obj 13 290 t b f; +#X obj 89 59 nbx 3 16 0 127 0 0 \$0/note \$1/note note 0 -6 0 8 -260818 +-1 -1 92 256; +#X obj 273 253 *~; +#X obj 300 141 delay 20; +#X msg 489 24 10; +#X obj 78 290 / 12; +#X obj 273 171 spigot; +#X obj 363 169 * -1; +#X obj 364 189 + 1; +#X floatatom 362 209 5 0 0 0 - - -; +#X obj 272 472 r \$0-vol; +#X obj 273 92 r \$0/shot; +#X obj 358 97 r \$0/length; +#X obj 169 100 r \$0/length; +#X obj 13 360 s \$0/shot; +#X obj 78 313 s \$0/vol; +#X obj 157 68 s-connect \$0/ring \$0/resonance; +#X obj 157 47 s-connect \$0/note \$0/cutoff; +#X obj 43 336 s \$1/note; +#X obj 2 528 sssad/auto \$0/length \$1/length; +#X obj 2 486 sssad/auto \$0/ring \$1/ring; +#X obj 2 507 sssad/auto \$0/note \$1/note; +#X connect 0 0 22 0; +#X connect 0 0 27 0; +#X connect 1 0 7 0; +#X connect 1 0 26 0; +#X connect 1 1 3 0; +#X connect 1 1 23 0; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 8 0; +#X connect 5 0 4 0; +#X connect 6 0 22 1; +#X connect 7 0 2 0; +#X connect 8 0 11 0; +#X connect 11 0 9 0; +#X connect 14 0 7 1; +#X connect 15 0 14 0; +#X connect 16 0 24 0; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 19 1 25 0; +#X connect 20 0 34 0; +#X connect 20 1 38 0; +#X connect 22 0 4 1; +#X connect 23 0 0 0; +#X connect 24 0 17 0; +#X connect 25 0 35 0; +#X connect 26 0 0 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 0 26 1; +#X connect 30 0 11 1; +#X connect 31 0 1 0; +#X connect 32 0 23 1; +#X connect 33 0 15 0; +#X coords 0 -1 1 1 140 80 1 0 0; diff --git a/s-spooky~.pd b/s-spooky~.pd new file mode 100644 index 0000000..a9ba844 --- /dev/null +++ b/s-spooky~.pd @@ -0,0 +1,387 @@ +#N canvas 277 36 744 599 10; +#N canvas 84 0 821 693 fft-analysis 0; +#X obj 51 477 *~; +#X obj 18 477 *~; +#X obj 18 499 -~; +#X obj 167 475 *~; +#X obj 136 475 *~; +#X obj 136 497 +~; +#X obj 109 193 *~; +#X obj 78 193 *~; +#X obj 50 193 *~; +#X obj 19 193 *~; +#X obj 19 218 +~; +#X obj 127 379 *~; +#X obj 20 622 *~; +#X obj 238 430 rfft~; +#X obj 108 161 rfft~; +#X obj 19 564 rifft~; +#X obj 21 646 outlet~; +#X obj 97 379 *~; +#X obj 97 401 +~; +#X obj 124 218 -~; +#X obj 18 431 *~; +#X obj 51 432 *~; +#X obj 426 644 block~; +#X obj 19 349 +~ 1e-15; +#X obj 19 598 *~; +#X obj 52 598 tabreceive~ \$0-hann; +#X obj 127 643 expr 2/(3*$f1); +#X msg 426 619 set \$1 4; +#X obj 97 425 q8_rsqrt~; +#N canvas -22 50 1006 799 read-windows 0; +#X obj 18 693 *~; +#X obj 156 300 f; +#X obj 102 139 /; +#X obj 195 695 *~; +#X obj 156 255 bang~; +#X obj 17 551 line~; +#X obj 102 164 * 1000; +#X obj 288 224 r speed; +#X obj 198 302 +; +#X obj 288 272 *; +#X obj 183 470 +; +#X obj 143 446 t f f; +#X msg 17 523 \$1 \, \$2 \$3; +#X obj 17 496 pack 0 0 0; +#X obj 178 371 / 1000; +#X obj 156 394 *; +#X text 188 394 reading location (samples); +#X obj 51 597 / 4; +#X obj 288 245 * 0.01; +#X floatatom 340 498 7 0 0 0 - - -; +#X obj 340 474 *; +#X obj 499 387 * 0.01; +#X obj 501 408 + 69; +#X obj 502 429 mtof; +#X obj 502 451 / 440; +#X obj 375 474 t b f; +#X obj 19 719 outlet~; +#X obj 195 720 outlet~; +#X obj 218 664 tabreceive~ \$0-hann; +#X text 411 498 stretched window size (samples); +#X obj 178 347 r \$0-insamprate; +#X floatatom 111 187 5 0 0 0 - - -; +#X obj 102 115 t f b; +#X obj 142 139 samplerate~; +#X obj 102 208 / 4; +#X obj 233 306 s see-loc; +#X obj 193 420 / 2; +#X obj 156 420 -; +#X text 229 417 back up 1/2 window; +#X obj 16 597 -~; +#X text 43 6 Read two windows out of the recorded sample \, one 1/4 +ahead of the other. The mid point of the front window is specified +by "location". If "speed" is nonzero \, "location" automatically precesses. +; +#X text 91 587 "back" window 1/4 cycle behind "front" one; +#X text 137 205 computation period (msec) for overlap of 4; +#X text 164 186 msec in a window; +#X text 326 275 loop to precess the location according; +#X text 325 291 to the "speed" parameter.; +#X obj 194 637 tabread4~ \$2; +#X obj 17 637 tabread4~ \$2; +#X obj 178 276 r \$0/location; +#X obj 499 365 r \$0/transpo; +#X obj 340 448 r \$0/window-size; +#X obj 102 91 r \$0/window-size; +#X floatatom 335 352 5 0 0 0 - - -; +#X floatatom 505 476 5 0 0 0 - - -; +#X connect 0 0 26 0; +#X connect 1 0 8 0; +#X connect 1 0 15 0; +#X connect 2 0 6 0; +#X connect 3 0 27 0; +#X connect 4 0 1 0; +#X connect 5 0 39 0; +#X connect 5 0 46 0; +#X connect 6 0 31 0; +#X connect 6 0 34 0; +#X connect 7 0 18 0; +#X connect 8 0 1 1; +#X connect 8 0 35 0; +#X connect 9 0 8 1; +#X connect 10 0 13 1; +#X connect 11 0 13 0; +#X connect 11 1 10 0; +#X connect 12 0 5 0; +#X connect 13 0 12 0; +#X connect 14 0 15 1; +#X connect 14 0 52 0; +#X connect 15 0 37 0; +#X connect 17 0 39 1; +#X connect 18 0 9 0; +#X connect 19 0 17 0; +#X connect 19 0 10 1; +#X connect 19 0 36 0; +#X connect 20 0 19 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 24 0 53 0; +#X connect 25 0 20 0; +#X connect 25 1 20 1; +#X connect 28 0 3 1; +#X connect 28 0 0 1; +#X connect 30 0 14 0; +#X connect 32 0 2 0; +#X connect 32 1 33 0; +#X connect 33 0 2 1; +#X connect 34 0 13 2; +#X connect 34 0 9 1; +#X connect 36 0 37 1; +#X connect 37 0 11 0; +#X connect 39 0 47 0; +#X connect 46 0 3 0; +#X connect 47 0 0 0; +#X connect 48 0 1 1; +#X connect 49 0 21 0; +#X connect 50 0 20 0; +#X connect 51 0 32 0; +#X restore 109 133 pd read-windows; +#X text 272 5 recall previous output amplitude. Its phase will be added +to the phase difference we measure from two windows in the the recorded +sound.; +#X obj 121 69 *~; +#X obj 89 69 *~; +#X obj 89 91 +~; +#X obj 159 94 q8_rsqrt~; +#X obj 159 71 +~ 1e-20; +#X obj 73 119 *~; +#X obj 19 118 *~; +#X obj 29 245 lrshift~ 1; +#X obj 24 269 lrshift~ -1; +#X obj 141 245 lrshift~ 1; +#X obj 133 269 lrshift~ -1; +#X obj 35 300 *~; +#X obj 159 312 *~; +#X obj 19 325 +~; +#X obj 125 331 +~; +#X text 247 66 divide by the magnitude to make a unit-magnitude complex +amplitude (phase only). The 1e-20 is to prevent overflows. q8_rsqrt~ +is reciprocal square root.; +#X text 247 165 Take FT of the window in back. Multiply its conjugate +by the normalized previous output. The result has the magnitude of +the input sound and phase (previous output phase) minus (back window +phase).; +#X text 249 370 Normalize again \, this time taking care to salt each +channel with 1e-15 so that we get a unit complex number even if everything +was zero heretofore.; +#X text 288 427 Now take the FT of the forward window and multiply +it by the unit complex number from above. The magnitude will be that +of the forward window and the phase will be the previous output phase +plus the phase difference between the two analysis windows -- except +that if "lock" is on \, they will be modified to agree progressively +better with the inter-channel phase relationships of the input.; +#X text 249 242 If "lock" is on \, encourage neighboring channels to +stay in phase by adding the two neighboring complex amplitudes. The +result will tend toward the channel with the strongest amplitude. If +the phase relationships between channels in the output and those in +the input are in parallel \, then neighboring channels of the quotient +will all have the same phase and this will not change any phases. (lrshift +shifts the signal to the left or right depending on its argument.) +; +#X text 387 560 'set' message to block; +#X text 390 577 allows variable size; +#X text 259 126 Read two windows \, one 1/4 length behind the other +\, of the input sound \, with Hann window function (see inside).; +#X obj 181 290 r \$0/lock; +#X obj 127 622 r \$0/window-size; +#X obj 426 595 r \$0/window-size; +#X obj 73 29 tabreceive~ \$0-prev-imag; +#X obj 20 8 tabreceive~ \$0-prev-real; +#X obj 137 543 tabsend~ \$0-prev-imag; +#X obj 136 567 tabsend~ \$0-prev-real; +#X connect 0 0 2 1; +#X connect 1 0 2 0; +#X connect 2 0 15 0; +#X connect 2 0 60 0; +#X connect 3 0 5 1; +#X connect 4 0 5 0; +#X connect 5 0 15 1; +#X connect 5 0 59 0; +#X connect 6 0 19 1; +#X connect 7 0 19 0; +#X connect 8 0 10 1; +#X connect 9 0 10 0; +#X connect 10 0 39 0; +#X connect 10 0 38 0; +#X connect 10 0 44 0; +#X connect 11 0 18 1; +#X connect 12 0 16 0; +#X connect 13 0 1 1; +#X connect 13 0 3 1; +#X connect 13 1 0 1; +#X connect 13 1 4 1; +#X connect 14 0 9 1; +#X connect 14 0 7 1; +#X connect 14 1 6 1; +#X connect 14 1 8 1; +#X connect 15 0 24 0; +#X connect 17 0 18 0; +#X connect 18 0 28 0; +#X connect 19 0 40 0; +#X connect 19 0 41 0; +#X connect 19 0 45 0; +#X connect 20 0 1 0; +#X connect 20 0 4 0; +#X connect 21 0 0 0; +#X connect 21 0 3 0; +#X connect 23 0 17 1; +#X connect 23 0 17 0; +#X connect 23 0 20 0; +#X connect 24 0 12 0; +#X connect 25 0 24 1; +#X connect 26 0 12 1; +#X connect 27 0 22 0; +#X connect 28 0 20 1; +#X connect 28 0 21 1; +#X connect 29 0 14 0; +#X connect 29 1 13 0; +#X connect 31 0 33 1; +#X connect 32 0 33 0; +#X connect 33 0 35 0; +#X connect 34 0 36 1; +#X connect 34 0 37 1; +#X connect 35 0 34 0; +#X connect 36 0 8 0; +#X connect 36 0 7 0; +#X connect 37 0 9 0; +#X connect 37 0 6 0; +#X connect 38 0 42 0; +#X connect 39 0 42 0; +#X connect 40 0 43 0; +#X connect 41 0 43 0; +#X connect 42 0 44 1; +#X connect 43 0 45 1; +#X connect 44 0 23 0; +#X connect 45 0 11 0; +#X connect 45 0 11 1; +#X connect 45 0 21 0; +#X connect 54 0 42 1; +#X connect 54 0 43 1; +#X connect 55 0 26 0; +#X connect 56 0 27 0; +#X connect 57 0 31 1; +#X connect 57 0 31 0; +#X connect 57 0 36 0; +#X connect 58 0 32 1; +#X connect 58 0 32 0; +#X connect 58 0 37 0; +#X restore 14 527 pd fft-analysis; +#N canvas 260 0 647 768 phase-tables 0; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0-prev-imag 4096 float 0; +#X coords 0 1000 4096 -1000 400 300 1; +#X restore 169 326 graph; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0-prev-real 4096 float 0; +#X coords 0 500 4096 -500 400 300 1; +#X restore 170 17 graph; +#X restore 366 527 pd phase-tables; +#N canvas 0 110 565 454 hann-window 0; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0-hann 4096 float 0; +#X coords 0 1 4095 0 300 100 1; +#X restore 82 311 graph; +#X obj 378 165 osc~; +#X obj 378 190 *~ -0.5; +#X obj 378 214 +~ 0.5; +#X obj 331 247 tabwrite~ \$0-hann; +#X obj 38 173 /; +#X obj 127 142 samplerate~; +#X obj 177 204 swap; +#X obj 177 228 /; +#X obj 49 201 * 1000; +#X obj 38 115 t f b f; +#X msg 173 92 resize \$1; +#X obj 173 116 s \$0-hann; +#X msg 382 130 0; +#X obj 330 131 t f b; +#X text 15 9 calculate Hann window table (variable window size) and +constants window-hz (fundamental frequency of analysis) \, window-sec +and window-msec (analysis window size in seconds and msec).; +#X obj 38 88 r \$0/window-size; +#X obj 177 252 s \$0/window-hz; +#X obj 330 105 r \$0/window-hz; +#X obj 38 251 s \$0/window-sec; +#X obj 49 228 s \$0/window-msec; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 5 0 9 0; +#X connect 5 0 19 0; +#X connect 6 0 5 1; +#X connect 6 0 7 1; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 8 0 17 0; +#X connect 9 0 20 0; +#X connect 10 0 5 0; +#X connect 10 0 7 0; +#X connect 10 1 6 0; +#X connect 10 2 11 0; +#X connect 11 0 12 0; +#X connect 13 0 1 1; +#X connect 14 0 1 0; +#X connect 14 1 4 0; +#X connect 14 1 13 0; +#X connect 16 0 10 0; +#X connect 18 0 14 0; +#X restore 366 551 pd hann-window; +#X obj 5 31 tgl 15 0 \$0/lock \$1/lock lock 18 8 0 8 -260818 -1 -1 +0 1; +#X floatatom 458 423 5 0 0 0 - window-size -; +#X msg 460 264 512; +#X msg 500 264 1024; +#X msg 549 264 2048; +#X msg 470 293 4096; +#X text 456 142 window size \,; +#X text 456 161 samples; +#X text 542 295 <- set; +#X text 511 423 (check); +#X text 155 5 This is based on the 'phase vocoder' by miller. any mistakes +are my own.; +#X msg 534 235 256; +#X msg 496 235 128; +#X msg 457 235 64; +#X obj 14 553 outlet~; +#X obj 5 62 nbx 1 14 0 6 0 1 \$0/windowsize \$1/windowsize windowsize +0 -8 0 8 -260818 -1 -1 6 256; +#X obj 457 182 r \$0/windowsize; +#X obj 457 207 sel 0 1 2 3 4 5 6; +#X obj 74 31 nbx 7 14 -1e+37 1e+37 0 0 \$0/location \$1/location location +0 -8 0 8 -260818 -1 -1 0 256; +#X obj 74 63 nbx 3 14 -1e+37 1e+37 0 1 \$0/detune \$1/detune detune +0 -8 0 8 -260818 -1 -1 0 256; +#X obj 189 527 samplerate~; +#X obj 189 551 s \$0-insamprate; +#X obj 189 504 loadbang; +#X obj 4 103 sssad/auto \$0/lock \$1/lock; +#X obj 4 123 sssad/auto \$0/windowsize \$1/windowsize; +#X obj 4 143 sssad/auto \$0/location \$1/location; +#X obj 4 163 sssad/auto \$0/detune \$1/detune; +#X obj 458 399 s \$0/window-size; +#X obj 337 182 r \$0/detune; +#X obj 337 203 s \$0/transpo; +#X connect 0 0 17 0; +#X connect 5 0 30 0; +#X connect 6 0 30 0; +#X connect 7 0 30 0; +#X connect 8 0 30 0; +#X connect 14 0 30 0; +#X connect 15 0 30 0; +#X connect 16 0 30 0; +#X connect 19 0 20 0; +#X connect 20 0 16 0; +#X connect 20 1 15 0; +#X connect 20 2 14 0; +#X connect 20 3 5 0; +#X connect 20 4 6 0; +#X connect 20 5 7 0; +#X connect 20 6 8 0; +#X connect 23 0 24 0; +#X connect 25 0 23 0; +#X connect 31 0 32 0; +#X coords 0 -1 1 1 140 80 1 0 0; diff --git a/s-synth~.pd b/s-synth~.pd new file mode 100644 index 0000000..62e2d36 --- /dev/null +++ b/s-synth~.pd @@ -0,0 +1,57 @@ +#N canvas 366 105 590 416 10; +#X obj 196 51 mtof; +#X obj 196 349 *~; +#X obj 196 71 phasor~; +#X obj 197 375 outlet~; +#X obj 3 30 hradio 16 1 1 2 \$0-wave \$0-wave square/saw 0 -6 0 8 -260818 +-1 -1 1; +#X obj 75 288 - 1; +#X obj 196 5 inlet; +#X obj 212 329 / 127; +#X obj 75 31 nbx 3 14 0 127 0 1 \$0-pulsewidth \$0-pulsewidth pulsewidth +0 -6 0 8 -260818 -1 -1 64 256; +#X obj 196 28 unpack f f; +#X obj 261 51 s \$0-notevol; +#X obj 7 244 expr~ if ($v1 > $f2 \, 0 \, 1); +#X obj 87 185 r \$0-pulsewidth; +#X obj 87 205 / 127; +#X obj 212 309 r \$0-notevol; +#X obj 75 267 r \$0-wave; +#X obj 219 262 r \$0-wave; +#X obj 423 6 inlet; +#X obj 423 28 list; +#X msg 423 50 \; \$1 \$2 \;; +#X obj 315 241 s-connect \$1/wave \$0-wave; +#X obj 315 263 s-connect \$1/pulsewidth \$0-pulsewidth; +#X obj 235 180 sssad/sssad \$1/wave; +#X obj 363 158 r \$0-wave; +#X obj 235 203 s \$0-wave; +#X obj 235 114 sssad/sssad \$1/pulsewidth; +#X obj 235 136 s \$0-pulsewidth; +#X obj 405 92 r \$0-pulsewidth; +#X obj 52 309 *~ 0; +#X obj 196 283 *~ 1; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 11 0; +#X connect 2 0 29 0; +#X connect 5 0 28 1; +#X connect 6 0 9 0; +#X connect 7 0 1 1; +#X connect 9 0 0 0; +#X connect 9 1 10 0; +#X connect 11 0 28 0; +#X connect 12 0 13 0; +#X connect 13 0 11 1; +#X connect 14 0 7 0; +#X connect 15 0 5 0; +#X connect 16 0 29 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 22 0 24 0; +#X connect 23 0 22 1; +#X connect 25 0 26 0; +#X connect 27 0 25 1; +#X connect 28 0 1 0; +#X connect 29 0 1 0; +#X coords 0 0 1 1 140 50 1 0 0; diff --git a/s-tabval.pd b/s-tabval.pd new file mode 100644 index 0000000..2314577 --- /dev/null +++ b/s-tabval.pd @@ -0,0 +1,16 @@ +#N canvas 158 174 450 300 10; +#X msg 21 159 \; \$1data \$2 \$3 \;; +#X obj 21 134 pack f f f; +#X obj 21 56 t b b f; +#X obj 21 106 \$1; +#X obj 21 11 r \$2; +#X obj 53 106 \$3; +#X obj 21 33 route color; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 2 1 5 0; +#X connect 2 2 1 2; +#X connect 3 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 1 1; +#X connect 6 1 2 0; diff --git a/s-togs.pd b/s-togs.pd new file mode 100644 index 0000000..c357a51 --- /dev/null +++ b/s-togs.pd @@ -0,0 +1,98 @@ +#N canvas 355 326 552 341 10; +#X obj 43 98 * 2; +#X obj 97 101 * 4; +#X obj 127 121 * 8; +#X obj 3 230 outlet; +#X obj 3 152 +; +#X obj 3 182 +; +#X obj 3 206 +; +#X obj 10 123 t b f; +#X obj 52 122 t b f; +#X obj 62 174 t b f; +#X obj 3 78 r \$0-1; +#X obj 54 78 r \$0-2; +#X obj 106 78 r \$0-3; +#X obj 216 81 loadbang; +#X obj 216 187 pow 2; +#X obj 216 147 2; +#X obj 246 147 * 4; +#X obj 246 126 f \$1; +#X obj 216 104 t b b; +#X obj 160 78 r \$0-4; +#X obj 288 82 loadbang; +#X obj 288 188 pow 2; +#X obj 288 148 2; +#X obj 318 148 * 4; +#X obj 318 127 f \$1; +#X obj 288 105 t b b; +#X obj 359 82 loadbang; +#X obj 359 188 pow 2; +#X obj 359 148 2; +#X obj 389 148 * 4; +#X obj 389 127 f \$1; +#X obj 359 105 t b b; +#X obj 437 80 loadbang; +#X obj 437 186 pow 2; +#X obj 437 146 2; +#X obj 467 146 * 4; +#X obj 467 125 f \$1; +#X obj 437 103 t b b; +#X obj 318 168 + 1; +#X obj 389 168 + 2; +#X obj 467 166 + 3; +#X obj 3 99 * 1; +#X obj 1 1 cnv 15 83 23 empty empty empty 20 12 0 14 -166441 -66577 +0; +#X obj 64 5 tgl 15 0 \$0-4 empty empty 0 -6 0 8 -260818 -1 -1 0 1; +#X obj 5 5 tgl 15 0 \$0-1 empty empty 0 -6 0 8 -260818 -1 -1 0 1; +#X obj 25 5 tgl 15 0 \$0-2 empty empty 0 -6 0 8 -260818 -1 -1 0 1; +#X obj 44 5 tgl 15 0 \$0-3 empty empty 0 -6 0 8 -260818 -1 -1 0 1; +#X connect 0 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 9 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 3 0; +#X connect 7 0 4 0; +#X connect 7 1 4 1; +#X connect 8 0 5 0; +#X connect 8 1 5 1; +#X connect 9 0 6 0; +#X connect 9 1 6 1; +#X connect 10 0 41 0; +#X connect 11 0 0 0; +#X connect 12 0 1 0; +#X connect 13 0 18 0; +#X connect 14 0 41 1; +#X connect 15 0 14 0; +#X connect 16 0 14 1; +#X connect 17 0 16 0; +#X connect 18 0 15 0; +#X connect 18 1 17 0; +#X connect 19 0 2 0; +#X connect 20 0 25 0; +#X connect 21 0 0 1; +#X connect 22 0 21 0; +#X connect 23 0 38 0; +#X connect 24 0 23 0; +#X connect 25 0 22 0; +#X connect 25 1 24 0; +#X connect 26 0 31 0; +#X connect 27 0 1 1; +#X connect 28 0 27 0; +#X connect 29 0 39 0; +#X connect 30 0 29 0; +#X connect 31 0 28 0; +#X connect 31 1 30 0; +#X connect 32 0 37 0; +#X connect 33 0 2 1; +#X connect 34 0 33 0; +#X connect 35 0 40 0; +#X connect 36 0 35 0; +#X connect 37 0 34 0; +#X connect 37 1 36 0; +#X connect 38 0 21 1; +#X connect 39 0 27 1; +#X connect 40 0 33 1; +#X connect 41 0 4 0; +#X coords 0 -1 1 1 85 25 1 0 0; diff --git a/s-tracker-help.pd b/s-tracker-help.pd new file mode 100644 index 0000000..b8ec413 --- /dev/null +++ b/s-tracker-help.pd @@ -0,0 +1,24 @@ +#N canvas 85 72 821 605 10; +#X obj 278 12 sssad/datastore; +#N canvas 4 20 605 663 datastore 0; +#X obj 10 10 r SSSADDATA; +#X msg 10 30 \; SSSAD track/sequence 60 0 60 0 0 0 48 48 48 60 0 0 +0 0 0 65 \; SSSAD_ADMIN set \;; +#X connect 0 0 1 0; +#X restore 278 78 pd datastore; +#X obj 7 27 metro 100; +#X obj 7 7 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1; +#X obj 7 48 f; +#X obj 35 48 + 1; +#X msg 32 6 0; +#X obj 155 12 r track/value; +#X floatatom 155 35 5 0 0 0 - - -; +#X obj 7 78 s-tracker track; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 4 0 9 0; +#X connect 5 0 4 1; +#X connect 6 0 4 1; +#X connect 6 0 4 0; +#X connect 7 0 8 0; diff --git a/s-tracker.pd b/s-tracker.pd new file mode 100644 index 0000000..ea2f4f0 --- /dev/null +++ b/s-tracker.pd @@ -0,0 +1,236 @@ +#N canvas 4 20 989 664 10; +#X obj 394 236 makefilename \$0nbx%d; +#X obj 394 168 until; +#X obj 394 190 f; +#X obj 422 190 + 1; +#X obj 459 390 * 16; +#X obj 413 145 0; +#X obj 457 526 +; +#X obj 497 440 * 3; +#X obj 497 390 / 4; +#X obj 497 417 int; +#X obj 413 288 mod 4; +#X obj 450 481 makefilename .%d; +#X msg 464 337 symbol empty; +#X obj 413 502 symbol; +#X obj 413 312 select 0; +#X obj 442 145 \$0; +#X obj 830 9 namecanvas \$0tracker; +#X obj 562 253 pack f f; +#X obj 472 145 * 16; +#X obj 613 208 +; +#X obj 394 120 t f b b f f; +#X obj 629 165 * 3; +#X obj 629 145 / 4; +#X obj 459 412 + 16; +#X obj 613 230 + 16; +#X obj 394 42 t b f; +#X obj 394 97 f; +#X obj 394 69 delay 100; +#X obj 394 8 s-default \$2 16; +#X obj 645 123 s-default \$3 4; +#X obj 443 262 s-default \$3 4; +#X obj 513 363 s-default \$3 4; +#X text 508 11 Set up all the numberboxes; +#X obj 921 36 inlet; +#X obj 921 58 list; +#X msg 921 80 \; \$1 \$2 \;; +#N canvas 14 28 742 653 4399connectors 0; +#X obj 575 4 namecanvas \$0connectors; +#X restore 715 9 pd \$0connectors; +#X msg 562 275 \; \$1tracker donecanvasdialog 1 -1 1 0 -1 0 \$2 80 +\$2 0 0; +#X obj 828 628 table \$0data \$2; +#X obj 828 505 s-default \$2 16; +#X obj 828 527 t f b; +#X msg 828 593 \; \$2data resize \$1; +#X text 827 486 Resize the data table; +#X obj 828 572 pack f f; +#X obj 858 549 \$0; +#N canvas 212 221 507 438 save 0; +#X obj 58 10 r SSSAD_SAVE; +#X obj 53 333 list prepend; +#X obj 146 333 t l; +#X obj 30 362 list; +#X obj 30 386 outlet; +#X obj 96 112 until; +#X obj 96 135 f; +#X obj 126 135 + 1; +#X msg 141 112 0; +#X obj 58 36 t b b b b; +#X obj 96 89 16; +#X obj 112 64 s-default \$2 16; +#X obj 96 160 tabread \$0data; +#X connect 0 0 9 0; +#X connect 1 0 2 0; +#X connect 1 0 3 1; +#X connect 2 0 1 1; +#X connect 3 0 4 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 6 0 12 0; +#X connect 7 0 6 1; +#X connect 8 0 6 1; +#X connect 9 0 1 1; +#X connect 9 1 3 0; +#X connect 9 2 10 0; +#X connect 9 3 8 0; +#X connect 10 0 5 0; +#X connect 11 0 10 1; +#X connect 12 0 1 0; +#X restore 923 164 pd save; +#N canvas 64 35 650 643 load 0; +#X obj 40 6 inlet; +#X obj 40 65 until; +#X obj 40 92 list append; +#X obj 133 121 bang; +#X obj 40 121 list split 1; +#X obj 200 186 f; +#X obj 230 186 + 1; +#X msg 216 164 0; +#X obj 40 147 t f b; +#X obj 200 207 makefilename \$0nbx%d; +#X obj 40 32 t b l b; +#X obj 40 266 pack f s; +#X msg 40 291 \; \$2 \$1 \;; +#X connect 0 0 10 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 1 1; +#X connect 4 0 8 0; +#X connect 4 1 2 1; +#X connect 4 2 3 0; +#X connect 5 0 6 0; +#X connect 5 0 9 0; +#X connect 6 0 5 1; +#X connect 7 0 5 1; +#X connect 8 0 11 0; +#X connect 8 1 5 0; +#X connect 9 0 11 1; +#X connect 10 0 1 0; +#X connect 10 1 2 1; +#X connect 10 2 7 0; +#X connect 11 0 12 0; +#X restore 767 210 pd load; +#X obj 767 186 sssad/sssad \$1/sequence; +#N canvas 0 0 629 667 position 0; +#X obj 18 13 inlet; +#X obj 18 74 mod \$2; +#X obj 55 51 s-default \$2 16; +#X msg 560 118 bang; +#X obj 18 102 t f f; +#X obj 48 124 s \$0pos; +#X obj 61 14 r \$4; +#X obj 365 53 moses 0; +#X msg 409 236 \; \$1 color 1 \;; +#X obj 409 140 t a a b; +#X obj 453 174 symbol; +#X msg 453 199 \; \$1 color 944 \;; +#X msg 365 140 bang; +#X obj 365 29 r \$0pos; +#X obj 460 53 s-default \$2 16; +#X obj 409 76 moses 16; +#X obj 409 118 makefilename \$0nbx%d; +#X text 363 6 Coloration; +#X obj 34 251 r \$0/out; +#X obj 18 372 outlet; +#X obj 71 372 s \$1/value; +#X msg 48 215 \; \$1 bang \;; +#X obj 18 168 makefilename \$0nbx%d; +#X obj 18 335 f; +#X obj 18 193 t b s; +#X obj 34 274 route color; +#X obj 106 297 select bang; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 2 0 1 1; +#X connect 3 0 10 0; +#X connect 4 0 22 0; +#X connect 4 1 5 0; +#X connect 6 0 1 0; +#X connect 7 0 12 0; +#X connect 7 1 15 0; +#X connect 9 0 8 0; +#X connect 9 1 10 1; +#X connect 9 2 10 0; +#X connect 10 0 11 0; +#X connect 12 0 10 0; +#X connect 13 0 7 0; +#X connect 14 0 15 1; +#X connect 15 0 16 0; +#X connect 15 1 3 0; +#X connect 16 0 9 0; +#X connect 18 0 25 0; +#X connect 22 0 24 0; +#X connect 23 0 19 0; +#X connect 23 0 20 0; +#X connect 24 0 23 0; +#X connect 24 1 21 0; +#X connect 25 1 26 0; +#X connect 26 1 23 1; +#X restore 824 381 pd position; +#X obj 824 358 inlet; +#X obj 824 404 outlet; +#X obj 394 212 t f f f f f; +#X obj 394 551 pack s s f f f; +#X msg 394 575 \; \$4tracker obj 24 \$3 nbx 3 14 0 127 0 0 \$1 \$1 +\$2 -20 8 0 8 -260818 -1 -1 0 256 \; \$4connectors obj 5 \$3 s-connect +\$1 \$4/out \; \$4connectors obj 210 \$3 s-tabval \$4 \$1 \$5 \;; +#X connect 0 0 52 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 0 51 0; +#X connect 3 0 2 1; +#X connect 4 0 23 0; +#X connect 5 0 2 1; +#X connect 6 0 52 2; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 7 0; +#X connect 9 0 11 0; +#X connect 10 0 14 0; +#X connect 11 0 13 1; +#X connect 12 0 13 0; +#X connect 13 0 52 1; +#X connect 14 0 13 0; +#X connect 14 1 12 0; +#X connect 15 0 17 0; +#X connect 15 0 52 3; +#X connect 17 0 37 0; +#X connect 18 0 19 0; +#X connect 19 0 24 0; +#X connect 20 0 1 0; +#X connect 20 1 5 0; +#X connect 20 2 15 0; +#X connect 20 3 18 0; +#X connect 20 4 22 0; +#X connect 21 0 19 1; +#X connect 22 0 21 0; +#X connect 23 0 6 0; +#X connect 24 0 17 1; +#X connect 25 0 27 0; +#X connect 25 1 26 1; +#X connect 26 0 20 0; +#X connect 27 0 26 0; +#X connect 28 0 25 0; +#X connect 29 0 22 1; +#X connect 30 0 10 1; +#X connect 31 0 8 1; +#X connect 33 0 34 0; +#X connect 34 0 35 0; +#X connect 39 0 40 0; +#X connect 40 0 43 0; +#X connect 40 1 44 0; +#X connect 43 0 41 0; +#X connect 44 0 43 1; +#X connect 45 0 47 1; +#X connect 47 0 46 0; +#X connect 48 0 50 0; +#X connect 49 0 48 0; +#X connect 51 0 0 0; +#X connect 51 1 10 0; +#X connect 51 2 4 0; +#X connect 51 3 8 0; +#X connect 51 4 52 4; +#X connect 52 0 53 0; +#X coords 0 0 1 1 80 284 0; diff --git a/s-varenv.pd b/s-varenv.pd new file mode 100644 index 0000000..7323f93 --- /dev/null +++ b/s-varenv.pd @@ -0,0 +1,344 @@ +#N canvas 239 16 721 668 10; +#N canvas 0 16 999 675 1078data 0; +#X coords 0 0 140 80 140 80 1; +#X restore 5 19 pd \$0data; +#N canvas 287 289 599 314 1078template 0; +#X obj 15 61 struct \$0template float x float y array \$0arrayvals +\$0arraytemplate; +#X obj 15 96 outlet; +#X obj 15 38 plot \$0arrayvals 0 2 0 0 20; +#X connect 0 0 1 0; +#X restore 411 36 pd \$0template; +#N canvas 435 201 450 300 1078arraytemplate 0; +#X obj 24 43 struct \$0arraytemplate float x float y; +#X obj 24 72 filledpolygon 0 0 0 -3 0 0 3 3 0 0 -3; +#X restore 411 13 pd \$0arraytemplate; +#N canvas 175 111 650 504 initarray 0; +#X obj 163 219 pointer; +#X msg 133 47 bang; +#X text 186 35 click here to re-initialize; +#X msg 310 196 \; \$1 clear; +#X obj 163 96 \$0; +#X msg 163 196 traverse \$1 \, bang; +#X obj 163 119 makefilename pd-%ddata; +#X obj 35 259 append \$0template x; +#X msg 35 227 0; +#X obj 133 12 loadbang; +#X obj 133 72 t b b b; +#X obj 41 98 s \$0-init; +#X obj 163 140 t s s; +#X connect 0 0 7 1; +#X connect 1 0 10 0; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 12 0; +#X connect 8 0 7 0; +#X connect 9 0 1 0; +#X connect 10 0 11 0; +#X connect 10 1 8 0; +#X connect 10 2 4 0; +#X connect 12 0 5 0; +#X connect 12 1 3 0; +#X restore 558 12 pd initarray; +#X obj 411 58 print; +#N canvas 0 16 999 675 processpoints 0; +#X obj 229 153 pointer; +#X msg 229 130 traverse \$1 \, next; +#X obj 229 86 \$0; +#X obj 229 109 makefilename pd-%ddata; +#X msg 229 24 bang; +#X obj 12 548 set \$0arraytemplate x y; +#X obj 90 336 element \$0template \$0arrayvals; +#X obj 46 259 until; +#X obj 76 218 > 0; +#X obj 46 197 t f f; +#X obj 46 239 spigot; +#X obj 46 284 f; +#X obj 74 284 + 1; +#X msg 157 254 0; +#X obj 160 212 t b b p p; +#X obj 229 65 metro 100; +#X obj 250 428 get \$0arraytemplate x y; +#X obj 208 532 select 1; +#X obj 272 532 select 1; +#X obj 272 511 < 0; +#X msg 272 552 0; +#X obj 375 508 select 1; +#X obj 439 506 select 1; +#X obj 394 615 pack f f; +#X obj 250 452 t f f f; +#X obj 394 639 s \$0xy; +#X obj 406 448 t f f f; +#X obj 12 515 unpack f f; +#X obj 12 484 r \$0xy; +#X obj 105 367 t p p; +#X obj 59 312 t f f; +#X msg 4 455 0; +#X obj 17 395 select 0; +#X obj 62 130 r \$0-points; +#X obj 62 151 - 1; +#X obj 161 357 r \$0-points; +#X obj 161 378 - 1; +#X obj 46 172 1; +#X obj 229 4 r \$0-init; +#X obj 80 395 select 1; +#X obj 264 230 setsize \$0template \$0arrayvals; +#X obj 305 173 r \$0-points; +#X obj 264 202 2; +#X obj 229 173 t p b p; +#X obj 439 483 < 0; +#X msg 439 526 0; +#X text 533 28 every 100 milliseconds this loops through the entire +array and makes sure the points are in range. this is a kludge because +[struct] doesn't tell us when things have been clicked and because +you can't restrict where array values go to.; +#X obj 287 23 random 5; +#X obj 287 44 + 98; +#X msg 88 470 140; +#X obj 375 487 > 80; +#X msg 375 528 80; +#X obj 208 511 > 140; +#X msg 208 552 140; +#X connect 0 0 43 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 15 0; +#X connect 4 0 47 0; +#X connect 6 0 29 0; +#X connect 7 0 11 0; +#X connect 8 0 10 1; +#X connect 9 0 10 0; +#X connect 9 1 8 0; +#X connect 10 0 7 0; +#X connect 11 0 12 0; +#X connect 11 0 30 0; +#X connect 12 0 11 1; +#X connect 13 0 11 0; +#X connect 14 0 37 0; +#X connect 14 1 13 0; +#X connect 14 2 6 1; +#X connect 15 0 2 0; +#X connect 16 0 24 0; +#X connect 16 1 26 0; +#X connect 17 0 53 0; +#X connect 18 0 20 0; +#X connect 19 0 18 0; +#X connect 20 0 23 0; +#X connect 21 0 51 0; +#X connect 22 0 45 0; +#X connect 23 0 25 0; +#X connect 24 0 52 0; +#X connect 24 1 19 0; +#X connect 24 2 23 0; +#X connect 26 0 50 0; +#X connect 26 1 44 0; +#X connect 26 2 23 1; +#X connect 27 0 5 0; +#X connect 27 1 5 1; +#X connect 28 0 27 0; +#X connect 29 0 16 0; +#X connect 29 1 5 2; +#X connect 30 0 32 0; +#X connect 30 0 39 0; +#X connect 30 1 6 0; +#X connect 31 0 5 0; +#X connect 32 0 31 0; +#X connect 33 0 34 0; +#X connect 34 0 37 1; +#X connect 35 0 36 0; +#X connect 36 0 39 1; +#X connect 37 0 9 0; +#X connect 38 0 4 0; +#X connect 39 0 49 0; +#X connect 41 0 42 1; +#X connect 42 0 40 0; +#X connect 43 0 14 0; +#X connect 43 1 42 0; +#X connect 43 2 40 1; +#X connect 44 0 22 0; +#X connect 45 0 23 1; +#X connect 47 0 48 0; +#X connect 48 0 15 1; +#X connect 49 0 5 0; +#X connect 50 0 21 0; +#X connect 51 0 23 1; +#X connect 52 0 17 0; +#X connect 53 0 23 0; +#X restore 558 32 pd processpoints; +#X obj 467 244 pointer; +#X obj 489 325 setsize \$0template \$0arrayvals; +#X obj 467 268 t p b p; +#X msg 467 221 traverse \$1 \, next; +#X obj 467 177 \$0; +#X obj 467 200 makefilename pd-%ddata; +#X msg 467 152 bang; +#X obj 530 268 r \$0-points; +#X obj 467 125 r \$0-points; +#X obj 489 297 2; +#X obj 388 350 outlet; +#X obj 396 125 r \$0-init; +#N canvas 0 0 618 440 linepairs 0; +#X obj 234 34 inlet; +#X obj 303 343 outlet; +#X obj 389 58 inlet; +#X obj 234 139 element \$0template \$0arrayvals; +#X obj 234 163 get \$0arraytemplate x y; +#X obj 303 196 / 180; +#X obj 390 188 expr 95 - $f1; +#X obj 390 211 / 75; +#X obj 303 299 f; +#X obj 303 261 t b f; +#X obj 303 321 pack f f; +#X obj 303 241 -; +#X obj 16 139 element \$0template \$0arrayvals; +#X obj 16 163 get \$0arraytemplate x y; +#X obj 234 60 t f f; +#X obj 208 93 - 1; +#X obj 146 114 select -1; +#X msg 194 163 0; +#X obj 130 209 / 180; +#X obj 387 312 delay; +#X obj 387 333 s \$0-loop; +#X connect 0 0 14 0; +#X connect 2 0 3 1; +#X connect 2 0 12 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 11 0; +#X connect 6 0 7 0; +#X connect 7 0 8 1; +#X connect 8 0 10 0; +#X connect 9 0 8 0; +#X connect 9 0 19 0; +#X connect 9 1 10 1; +#X connect 9 1 19 1; +#X connect 10 0 1 0; +#X connect 11 0 9 0; +#X connect 12 0 13 0; +#X connect 13 0 18 0; +#X connect 14 0 3 0; +#X connect 14 1 15 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 16 1 12 0; +#X connect 17 0 11 1; +#X connect 18 0 11 1; +#X connect 19 0 20 0; +#X restore 388 327 pd linepairs; +#N canvas 0 0 670 643 signal 0; +#X obj 161 185 element \$0template \$0arrayvals; +#X obj 161 209 get \$0arraytemplate x y; +#X obj 230 407 line~; +#X obj 119 28 t b f; +#X obj 230 264 *; +#X obj 119 89 f; +#X obj 147 89 + 1; +#X obj 230 428 outlet~; +#X msg 119 60 0; +#X obj 230 363 f; +#X obj 230 333 t b f; +#X obj 230 385 pack f f; +#X obj 301 385 delay; +#X obj 301 406 s \$0-loop; +#X obj 24 44 r \$0-loop; +#X obj 149 138 < 4; +#X obj 119 113 t f f; +#X obj 119 160 spigot; +#X obj 230 309 -; +#X obj 230 286 t f f; +#X obj 119 5 inlet; +#X obj 207 89 r \$0-points; +#X obj 366 5 inlet; +#X obj 230 242 / 290; +#X obj 317 234 expr 174 - $f1; +#X obj 317 258 / 174; +#X connect 0 0 1 0; +#X connect 1 0 23 0; +#X connect 1 1 24 0; +#X connect 2 0 7 0; +#X connect 3 0 8 0; +#X connect 3 1 4 1; +#X connect 4 0 19 0; +#X connect 5 0 6 0; +#X connect 5 0 16 0; +#X connect 6 0 5 1; +#X connect 8 0 5 0; +#X connect 9 0 11 0; +#X connect 10 0 9 0; +#X connect 10 0 12 0; +#X connect 10 1 11 1; +#X connect 10 1 12 1; +#X connect 11 0 2 0; +#X connect 12 0 13 0; +#X connect 14 0 5 0; +#X connect 15 0 17 1; +#X connect 16 0 17 0; +#X connect 16 1 15 0; +#X connect 17 0 0 0; +#X connect 18 0 10 0; +#X connect 19 0 18 1; +#X connect 19 1 18 0; +#X connect 20 0 3 0; +#X connect 21 0 15 1; +#X connect 22 0 0 1; +#X connect 23 0 4 0; +#X connect 24 0 25 0; +#X connect 25 0 9 1; +#X restore 283 304 pd signal; +#X obj 283 282 inlet; +#X obj 283 327 outlet~; +#X obj 113 3 bng 13 250 50 0 \$0-add empty add 18 8 0 8 -260818 -1 +-1; +#X obj 73 3 bng 13 250 50 0 \$0-clear empty clr 18 8 0 8 -260818 -1 +-1; +#X text 47 259 this is how long (ms) you want the envelope to take. +; +#X obj 103 376 r \$0-add; +#X obj 176 376 r \$0-clear; +#X obj 103 463 2; +#X obj 142 463 + 1; +#X obj 103 489 s \$0-points; +#X msg 176 403 2; +#X obj 33 376 r \$0-init; +#X obj 388 304 r \$0-pair; +#X obj 559 75 inlet; +#X obj 559 98 route pair; +#X obj 559 120 f; +#X obj 559 142 s \$0-pair; +#X obj 6 20 cnv 15 138 78 empty empty empty 20 12 0 14 -262144 -66577 +0; +#X obj 7 21 cnv 15 137 77 empty empty empty 20 12 0 14 -195568 -66577 +0; +#X obj 7 21 cnv 15 136 76 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X connect 1 0 4 0; +#X connect 6 0 8 0; +#X connect 8 0 18 1; +#X connect 8 0 19 1; +#X connect 8 1 15 0; +#X connect 8 2 7 1; +#X connect 9 0 6 0; +#X connect 10 0 11 0; +#X connect 11 0 9 0; +#X connect 12 0 10 0; +#X connect 13 0 15 1; +#X connect 14 0 12 0; +#X connect 15 0 7 0; +#X connect 17 0 12 0; +#X connect 18 0 16 0; +#X connect 19 0 21 0; +#X connect 20 0 19 0; +#X connect 25 0 27 0; +#X connect 26 0 30 0; +#X connect 27 0 28 0; +#X connect 27 0 29 0; +#X connect 28 0 27 1; +#X connect 30 0 27 0; +#X connect 31 0 27 0; +#X connect 32 0 18 0; +#X connect 33 0 34 0; +#X connect 34 0 35 0; +#X connect 35 0 36 0; +#X coords 0 -1 1 1 150 104 1 0 0; diff --git a/s-varseq-help.pd b/s-varseq-help.pd new file mode 100644 index 0000000..9d25156 --- /dev/null +++ b/s-varseq-help.pd @@ -0,0 +1,25 @@ +#N struct 2302template float x float y float z; +#N struct 2302puck float x; +#N canvas 0 0 450 300 10; +#X floatatom 20 188 5 0 0 0 - - -; +#X floatatom 20 276 5 0 0 0 - - -; +#X obj 20 145 loadbang; +#X msg 20 166 0; +#X text 48 167 Click me to reset the canvas (for some reason); +#X text 13 7 varseq is short for 'variable sequencer' because it's +a simple sequencer with a variable length. Creation arguments are [name] +[sections] [section length] [timer name]. Name is the SSSAD name and +unique identifier. Sections indicates how many sections there are in +the whole loop \, and section length indicates how many beats in each +section. To set a value click on an orange rectangle and drag it upwards. +The value can be set between zero and one. To select a beat in the +loop send a number in the left inlet \, or send a number to the third +argument (timer name) if supplied.; +#X floatatom 318 208 5 0 0 0 - - -; +#X obj 318 227 s tick; +#X obj 20 210 s-varseq teh 4 5 tick; +#X connect 0 0 8 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 6 0 7 0; +#X connect 8 0 1 0; diff --git a/s-varseq.pd b/s-varseq.pd new file mode 100644 index 0000000..f72ace6 --- /dev/null +++ b/s-varseq.pd @@ -0,0 +1,429 @@ +#N struct 1157template float x float y float z; +#N struct 1157puck float x; +#N canvas 227 23 768 655 10; +#N canvas 0 0 976 681 1157data 0; +#X scalar 1157template 3 28 0 \;; +#X scalar 1157template 15 28 0 \;; +#X scalar 1157template 27 28 0 \;; +#X scalar 1157template 39 28 0 \;; +#X scalar 1157template 54 28 0 \;; +#X scalar 1157template 66 28 0 \;; +#X scalar 1157template 78 28 0 \;; +#X scalar 1157template 90 28 0 \;; +#X scalar 1157template 105 28 0 \;; +#X scalar 1157template 117 28 0 \;; +#X scalar 1157template 129 28 0 \;; +#X scalar 1157template 141 28 0 \;; +#X scalar 1157template 156 28 0 \;; +#X scalar 1157template 168 28 0 \;; +#X scalar 1157template 180 28 0 \;; +#X scalar 1157template 192 28 0 \;; +#X scalar 1157puck 78 \;; +#X coords 0 -1 206 36 206 36 1; +#X restore 4 17 pd \$0data; +#N canvas 132 316 450 300 1157template 0; +#X obj 6 8 struct \$0template float x float y float z; +#X obj 6 31 filledpolygon 5060 0 1 0 0 0 z(0:-20)(-5:-25) 10 z(0:-20)(-5:-25) +10 0; +#X restore 12 77 pd \$0template \$0template; +#X obj 227 108 loadbang; +#N canvas 106 35 577 642 drawstuff 0; +#X obj 160 8 inlet; +#X obj 196 482 pointer; +#X obj 232 77 \$0; +#X obj 232 102 makefilename pd-%ddata; +#X msg 232 126 \; \$1 clear; +#X obj 196 411 \$0; +#X obj 196 436 makefilename pd-%ddata; +#X msg 196 460 traverse \$1 \, bang; +#X obj 40 186 until; +#X obj 70 145 > 0; +#X obj 40 124 t f f; +#X obj 40 166 spigot; +#X obj 40 208 f; +#X obj 68 208 + 1; +#X obj 10 363 until; +#X obj 40 322 > 0; +#X obj 10 301 t f f; +#X obj 10 343 spigot; +#X obj 10 385 f; +#X obj 38 385 + 1; +#X msg 10 259 bang; +#X obj 40 228 t b f; +#X obj 40 459 + 3; +#X obj 40 435 + 0; +#X obj 40 506 append \$0template x y z; +#X obj 10 409 * 12; +#X obj 70 410 * 3; +#X msg 40 482 \$1 28 0; +#X obj 40 104 \$2; +#X obj 10 281 \$3; +#X obj 113 283 s \$0width; +#X obj 154 144 \$2; +#X obj 113 144 \$3; +#X obj 113 232 * 12; +#X obj 113 120 t b b; +#X obj 113 183 * 1; +#X obj 154 232 * 3; +#X obj 113 258 +; +#X obj 113 207 - 1; +#X obj 160 51 t b b b b b; +#N canvas 0 0 450 300 puck 0; +#X obj 7 5 inlet; +#X obj 107 154 pointer; +#X obj 107 83 \$0; +#X obj 107 108 makefilename pd-%ddata; +#X msg 107 132 traverse \$1 \, bang; +#X obj 7 29 t b b; +#X obj 7 178 append \$0puck x; +#X msg 7 155 20; +#X connect 0 0 5 0; +#X connect 1 0 6 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; +#X connect 5 0 7 0; +#X connect 5 1 2 0; +#X connect 7 0 6 0; +#X restore 214 199 pd puck; +#X connect 0 0 39 0; +#X connect 1 0 24 3; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X connect 8 0 12 0; +#X connect 9 0 11 1; +#X connect 10 0 11 0; +#X connect 10 1 9 0; +#X connect 11 0 8 0; +#X connect 12 0 13 0; +#X connect 12 0 21 0; +#X connect 13 0 12 1; +#X connect 14 0 18 0; +#X connect 15 0 17 1; +#X connect 16 0 17 0; +#X connect 16 1 15 0; +#X connect 17 0 14 0; +#X connect 18 0 19 0; +#X connect 18 0 25 0; +#X connect 19 0 18 1; +#X connect 20 0 29 0; +#X connect 21 0 20 0; +#X connect 21 1 26 0; +#X connect 22 0 27 0; +#X connect 23 0 22 0; +#X connect 25 0 23 0; +#X connect 26 0 23 1; +#X connect 27 0 24 0; +#X connect 28 0 10 0; +#X connect 29 0 16 0; +#X connect 31 0 36 0; +#X connect 31 0 35 1; +#X connect 32 0 35 0; +#X connect 33 0 37 0; +#X connect 34 0 32 0; +#X connect 34 1 31 0; +#X connect 35 0 38 0; +#X connect 36 0 37 1; +#X connect 37 0 30 0; +#X connect 38 0 33 0; +#X connect 39 0 28 0; +#X connect 39 1 34 0; +#X connect 39 2 5 0; +#X connect 39 3 40 0; +#X connect 39 4 2 0; +#X restore 227 130 pd drawstuff; +#X obj 12 134 inlet; +#X obj 351 629 outlet; +#X msg 63 474 next; +#X obj 216 400 \$0; +#X obj 216 425 makefilename pd-%ddata; +#X obj 12 395 until; +#X obj 42 354 > 0; +#X obj 12 333 t f f; +#X obj 12 375 spigot; +#X obj 12 427 f; +#X obj 40 427 + 1; +#X obj 12 447 t b f; +#X msg 87 378 0; +#X obj 12 206 mod; +#X obj 57 134 loadbang; +#X obj 216 563 get \$0template x y z; +#X obj 351 587 / -20; +#X obj 173 473 ==; +#X obj 12 293 t f b b f; +#X obj 216 539 spigot; +#X obj 351 608 abs; +#X obj 712 8 inlet; +#N canvas 239 27 705 614 update 0; +#X obj 37 13 inlet; +#X msg 111 294 next; +#X obj 241 247 \$0; +#X obj 241 272 makefilename pd-%ddata; +#X obj 37 210 until; +#X obj 67 169 > 0; +#X obj 37 148 t f f; +#X obj 37 190 spigot; +#X obj 37 242 f; +#X obj 65 242 + 1; +#X msg 121 202 0; +#X msg 241 296 traverse \$1; +#X obj 115 467 set \$0template x y z; +#X obj 37 108 t f b b; +#X obj 115 418 get \$0template x y z; +#X obj 240 373 t p p; +#X obj 37 262 t b; +#X msg 37 36 bang; +#X obj 37 84 * \$3; +#X obj 37 61 \$2; +#X obj 240 322 pointer \$0template; +#X connect 0 0 17 0; +#X connect 1 0 20 0; +#X connect 2 0 3 0; +#X connect 3 0 11 0; +#X connect 4 0 8 0; +#X connect 5 0 7 1; +#X connect 6 0 7 0; +#X connect 6 1 5 0; +#X connect 7 0 4 0; +#X connect 8 0 9 0; +#X connect 8 0 16 0; +#X connect 9 0 8 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 13 0 6 0; +#X connect 13 1 10 0; +#X connect 13 2 2 0; +#X connect 14 0 12 0; +#X connect 14 1 12 1; +#X connect 14 2 12 2; +#X connect 15 0 14 0; +#X connect 15 1 12 3; +#X connect 16 0 1 0; +#X connect 17 0 19 0; +#X connect 18 0 13 0; +#X connect 19 0 18 0; +#X connect 20 0 15 0; +#X restore 120 310 pd update; +#X text 191 310 update the graphics incase people move the sequencer +around; +#X msg 216 448 traverse \$1; +#X obj 120 289 select 0; +#X obj 57 157 \$2; +#X obj 57 178 * \$3; +#X obj 712 29 list; +#X msg 712 50 \; \$1 \$2 \;; +#N canvas 212 221 507 438 save 0; +#X obj 58 10 r SSSAD_SAVE; +#X obj 53 333 list prepend; +#X obj 146 333 t l; +#X obj 30 362 list; +#X obj 179 95 \$0; +#X obj 179 118 makefilename pd-%ddata; +#X obj 7 415 outlet; +#X obj 7 394 sssad/sssad \$1/sequence; +#X msg 179 139 traverse \$1; +#X obj 110 112 until; +#X msg 133 138 next; +#X obj 179 189 get \$0template x y z; +#X obj 58 36 t b b b b; +#X obj 179 162 pointer \$0template; +#X connect 0 0 12 0; +#X connect 1 0 2 0; +#X connect 1 0 3 1; +#X connect 2 0 1 1; +#X connect 3 0 7 1; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 7 0 6 0; +#X connect 8 0 13 0; +#X connect 9 0 10 0; +#X connect 10 0 13 0; +#X connect 11 2 1 0; +#X connect 12 0 1 1; +#X connect 12 1 3 0; +#X connect 12 2 9 0; +#X connect 12 3 4 0; +#X connect 13 0 11 0; +#X connect 13 2 9 1; +#X restore 322 108 pd save; +#N canvas 64 35 650 643 load 0; +#X obj 21 6 inlet; +#X obj 21 65 until; +#X obj 21 92 list append; +#X obj 104 121 bang; +#X msg 183 209 traverse \$1 \, next; +#X obj 183 165 \$0; +#X obj 183 188 makefilename pd-%ddata; +#X obj 21 121 list split 1; +#X obj 21 272 set \$0template z; +#X msg 21 172 next; +#X obj 21 32 t b l b; +#X obj 21 147 t b f; +#X obj 183 231 pointer \$0template; +#X connect 0 0 10 0; +#X connect 1 0 2 0; +#X connect 2 0 7 0; +#X connect 3 0 1 1; +#X connect 4 0 12 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 11 0; +#X connect 7 1 2 1; +#X connect 7 2 3 0; +#X connect 9 0 12 0; +#X connect 10 0 1 0; +#X connect 10 1 2 1; +#X connect 10 2 5 0; +#X connect 11 0 9 0; +#X connect 11 1 8 0; +#X connect 12 0 8 1; +#X restore 322 130 pd load; +#N canvas 404 102 476 510 resize-canvas 0; +#X obj 45 217 - 2; +#X obj 7 7 r \$0width; +#X obj 7 28 + 14; +#X obj 95 97 \$0; +#X obj 65 74 t f b; +#X obj 65 152 pack f s; +#X obj 95 120 makefilename pd-%ddata; +#X obj 26 266 pack f f; +#X obj 26 245 \$0; +#X obj 7 50 t f b f f; +#X obj 37 386 \$0; +#X obj 7 363 t f b; +#X obj 7 441 pack f s; +#X obj 37 409 makefilename %dvarseq; +#X obj 7 342 + 8; +#X msg 7 463 \; \$2 donecanvasdialog 1 -1 1 0 -1 \$1 58 \$1 58 0 0 +; +#X msg 26 287 \; \$1varseq obj 5 18 cnv 15 \$2 34 empty empty empty +20 12 0 14 -166441 -66577 0 \;; +#X msg 65 174 \; \$2 donecanvasdialog 1 -1 1 0 -1 \$1 36 \$1 36 0 0 +; +#X connect 0 0 7 1; +#X connect 1 0 2 0; +#X connect 2 0 9 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 4 1 3 0; +#X connect 5 0 17 0; +#X connect 6 0 5 1; +#X connect 7 0 16 0; +#X connect 8 0 7 0; +#X connect 9 0 14 0; +#X connect 9 1 8 0; +#X connect 9 2 0 0; +#X connect 9 3 4 0; +#X connect 10 0 13 0; +#X connect 11 0 12 0; +#X connect 11 1 10 0; +#X connect 12 0 15 0; +#X connect 13 0 12 1; +#X connect 14 0 11 0; +#X restore 388 108 pd resize-canvas; +#X text 8 57 args: [name] [bars] [beats per bar] [tick receiver]; +#X floatatom 525 107 5 0 0 0 - - -; +#X obj 525 127 s \$0width; +#X obj 560 27 namecanvas \$0varseq; +#X obj 409 160 r \$0width; +#X floatatom 409 182 5 0 0 0 - - -; +#N canvas 132 316 450 300 1157puck 0; +#X obj 6 9 struct \$0puck float x; +#X obj 6 32 filledpolygon 900 0 1 0 30 0 34 10 34 10 30; +#X restore 12 99 pd \$0puck \$0puck; +#N canvas 347 26 376 655 position 0; +#X obj 86 256 \$0; +#X obj 86 281 makefilename pd-%ddata; +#X obj 116 421 pointer \$0puck; +#X obj 37 8 inlet; +#X obj 86 309 t b s; +#X msg 116 395 traverse \$1; +#X obj 51 521 set \$0puck x; +#X obj 77 373 until; +#X msg 77 350 200; +#X msg 77 396 next; +#X obj 51 500 f; +#X obj 37 220 t b f; +#X obj 116 447 t b p; +#X obj 37 120 * 12; +#X obj 37 197 + 3; +#X obj 79 75 / \$3; +#X obj 37 31 t f f; +#X obj 79 97 int; +#X obj 79 120 * 3; +#X obj 37 175 +; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 2 0 12 0; +#X connect 2 2 7 1; +#X connect 3 0 16 0; +#X connect 4 0 8 0; +#X connect 4 1 5 0; +#X connect 5 0 2 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 9 0 2 0; +#X connect 10 0 6 0; +#X connect 11 0 0 0; +#X connect 11 1 10 1; +#X connect 12 0 10 0; +#X connect 12 1 6 1; +#X connect 13 0 19 0; +#X connect 14 0 11 0; +#X connect 15 0 17 0; +#X connect 16 0 13 0; +#X connect 16 1 15 0; +#X connect 17 0 18 0; +#X connect 18 0 19 1; +#X connect 19 0 14 0; +#X restore 245 281 pd position; +#X obj 19 157 r \$4; +#X obj 216 507 pointer \$0template; +#X obj 5 18 cnv 15 204 34 empty empty empty 20 12 0 14 -166441 -66577 +0; +#X obj 276 629 s \$1/value; +#X connect 2 0 3 0; +#X connect 4 0 17 0; +#X connect 6 0 46 0; +#X connect 7 0 8 0; +#X connect 8 0 28 0; +#X connect 9 0 13 0; +#X connect 10 0 12 1; +#X connect 11 0 12 0; +#X connect 11 1 10 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 0 15 0; +#X connect 14 0 13 1; +#X connect 15 0 6 0; +#X connect 15 1 21 0; +#X connect 16 0 13 0; +#X connect 17 0 22 0; +#X connect 17 0 29 0; +#X connect 17 0 44 0; +#X connect 18 0 30 0; +#X connect 19 2 20 0; +#X connect 20 0 24 0; +#X connect 21 0 23 1; +#X connect 22 0 11 0; +#X connect 22 1 16 0; +#X connect 22 2 7 0; +#X connect 22 3 21 1; +#X connect 23 0 19 0; +#X connect 24 0 5 0; +#X connect 24 0 48 0; +#X connect 25 0 32 0; +#X connect 28 0 46 0; +#X connect 29 0 26 0; +#X connect 30 0 31 0; +#X connect 31 0 17 1; +#X connect 32 0 33 0; +#X connect 34 0 35 0; +#X connect 38 0 39 0; +#X connect 41 0 42 0; +#X connect 45 0 17 0; +#X connect 46 0 23 0; +#X coords 0 -1 214 58 214 58 1 0 0; diff --git a/s-xfader~.pd b/s-xfader~.pd new file mode 100644 index 0000000..1f82b59 --- /dev/null +++ b/s-xfader~.pd @@ -0,0 +1,28 @@ +#N canvas 422 332 450 300 10; +#X obj 8 29 hsl 64 16 0 127 0 0 \$0-fader \$0-fader fader -2 -6 0 8 +-260818 -1 -1 30 1; +#X obj 216 43 inlet~; +#X obj 292 42 inlet~; +#X obj 217 157 *~; +#X obj 293 151 *~; +#X obj 233 135 * -1; +#X obj 276 237 outlet~; +#X obj 280 209 +~; +#X obj 233 111 - 1; +#X obj 309 89 / 127; +#X obj 233 89 / 127; +#X obj 309 66 r \$0-fader; +#X obj 233 66 r \$0-fader; +#X obj 6 253 s-connect \$1-fader \$0-fader; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 7 0; +#X connect 4 0 7 0; +#X connect 5 0 3 1; +#X connect 7 0 6 0; +#X connect 8 0 5 0; +#X connect 9 0 4 1; +#X connect 10 0 8 0; +#X connect 11 0 9 0; +#X connect 12 0 10 0; +#X coords 0 0 1 1 90 50 1 0 0; diff --git a/s-zhzxh~.pd b/s-zhzxh~.pd new file mode 100644 index 0000000..28e41d2 --- /dev/null +++ b/s-zhzxh~.pd @@ -0,0 +1,9 @@ +#N canvas 349 153 447 132 10; +#X obj 12 38 fexpr~ if($x1[-1] < $x1 \, $x1[-1] + $f2 \, $x1[-1] - +$f2); +#X obj 12 11 inlet~; +#X obj 385 12 inlet; +#X obj 12 67 outlet~; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; diff --git a/sfimport b/sfimport new file mode 100755 index 0000000..2add065 --- /dev/null +++ b/sfimport @@ -0,0 +1,7 @@ +#!/bin/sh + +version=`svn info | grep Revision | cut -f2 -d" "` +export CVSROOT=:ext:chr15m@pure-data.cvs.sourceforge.net:/cvsroot/pure-data +export CVS_RSH=ssh +cvs import abstractions/s-abstractions CHR15M S-ABSTRACTIONS_0_$version + diff --git a/sssad/README.txt b/sssad/README.txt new file mode 100644 index 0000000..afe749f --- /dev/null +++ b/sssad/README.txt @@ -0,0 +1,55 @@ +sssad is Stupidsupersimplistic State Saving ADVANCED +==================================================== + +[sssad] is an abstraction to simplify saving of data inside a Pd patch to a +file. See [sssad-help] for a reference, and [sssad-example] for how to use it. + +Author(s) +======== + +[sssad] was written by Frank Barknecht and was inspired from +a discussion about Max's [pv] and [pvar] objects on pd-list brought up by "Item +State" + +Internally it uses [singleton] which goes back to an idea by Enrique Erne and +IOhannes m zmoelnig plus [list_argument] which was ripped of from +Hans-Christoph Steiner's [float_argument] + +License +======= + +The same as Pd's license, with me as author: + +Copyright: + +This software is copyrighted by Frank Barknecht and others. The following +terms apply to all files associated with the software unless explicitly +disclaimed in individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. + +RESTRICTED RIGHTS: Use, duplication or disclosure by the government +is subject to the restrictions as set forth in subparagraph (c) (1) (ii) +of the Rights in Technical Data and Computer Software Clause as DFARS +252.227-7013 and FAR 52.227-19. diff --git a/sssad/_sssad/list_argument.pd b/sssad/_sssad/list_argument.pd new file mode 100644 index 0000000..d532a27 --- /dev/null +++ b/sssad/_sssad/list_argument.pd @@ -0,0 +1,20 @@ +#N canvas 160 304 587 350 10; +#X obj 259 234 outlet; +#X text 83 259 If the argument is not equal to 0 \, use it. Pd init +arguments to 0 so unused arguments will be 0; +#X obj 143 116 select 0; +#X text 82 296 This is useful to have internals inited \, but not reset +if there is no argument specified.; +#X obj 143 190 select 0; +#X text 275 172 if 2nd arg \, then use as default value; +#X obj 143 20 inlet; +#X obj 143 96 list append \$1; +#X obj 143 169 list append \$2; +#X obj 143 55 bang; +#X connect 2 0 8 0; +#X connect 2 1 0 0; +#X connect 4 1 0 0; +#X connect 6 0 9 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 7 0; diff --git a/sssad/_sssad/singleton-help.pd b/sssad/_sssad/singleton-help.pd new file mode 100644 index 0000000..ab5a392 --- /dev/null +++ b/sssad/_sssad/singleton-help.pd @@ -0,0 +1,42 @@ +#N canvas 415 240 552 487 10; +#X obj 79 44 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 80 137 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 80 230 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 245 43 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 269 139 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 295 230 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 75 339 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 75 385 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 80 117 singleton TABLE_X table x; +#X obj 80 211 singleton TABLE_Y table y 100; +#X obj 269 119 singleton TABLE_X table x; +#X obj 295 211 singleton TABLE_Y table y 100; +#X obj 75 320 singleton LIST list prepend 1 2 3 4 5 6 7 8; +#X obj 75 365 singleton LIST list prepend 1 2 3 4 5 6 7 8; +#X text 85 292 Up to 10 arguments supported; +#X obj 81 85 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 247 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 79 24 singleton MUL_A *; +#X obj 245 23 singleton MUL_A *; +#X obj 248 65 singleton MUL_B *; +#X obj 81 65 singleton MUL_B *; +#X connect 8 0 1 0; +#X connect 9 0 2 0; +#X connect 10 0 4 0; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X connect 13 0 7 0; +#X connect 17 0 0 0; +#X connect 18 0 3 0; +#X connect 19 0 16 0; +#X connect 20 0 15 0; diff --git a/sssad/_sssad/singleton.pd b/sssad/_sssad/singleton.pd new file mode 100644 index 0000000..6a78865 --- /dev/null +++ b/sssad/_sssad/singleton.pd @@ -0,0 +1,121 @@ +#N canvas 184 74 837 725 10; +#N canvas 0 22 236 173 1047-container 0; +#X restore 227 18 pd \$0-container; +#X obj 156 360 f \$0; +#X obj 156 380 makefilename pd-%d-container; +#X obj 47 18 loadbang; +#X obj 47 611 outlet; +#X obj 47 132 value \$1.SSSAD.req; +#X obj 47 311 select 0; +#X obj 47 157 t f f; +#X obj 77 177 + 1; +#X obj 77 197 value \$1.SSSAD.req; +#X obj 47 335 t b b; +#X msg 47 589 1; +#X obj 156 401 t s s; +#X msg 186 423 \; \$1 clear; +#X text 378 43 more simple-minded \, we would just set \$1.SSSAD.req to +"1" instead of incrementing it each time. (however \, this way we also +now how many instances of the class we have). and of course we could +use just one [value] - i use 2 for better readability.; +#X obj 324 107 del 0; +#X obj 324 126 value \$1.SSSAD.req; +#X floatatom 324 149 5 0 0 0 - - -; +#X text 322 168 wow! the number of instances; +#N canvas 0 0 570 825 1047-arguments 0; +#X obj 36 485 outlet; +#X obj 36 461 r \$0-tolist; +#X obj 171 87 t b a; +#X obj 201 109 s \$0-tolist; +#X obj 171 156 t b a; +#X obj 201 178 s \$0-tolist; +#X obj 171 225 t b a; +#X obj 201 247 s \$0-tolist; +#X obj 171 299 t b a; +#X obj 201 321 s \$0-tolist; +#X obj 171 64 list_argument \$2; +#X obj 171 134 list_argument \$3; +#X obj 171 202 list_argument \$4; +#X obj 171 276 list_argument \$5; +#X obj 171 357 list_argument \$6; +#X obj 171 35 inlet; +#X obj 171 381 t b a; +#X obj 201 403 s \$0-tolist; +#X obj 171 461 t b a; +#X obj 201 483 s \$0-tolist; +#X obj 171 437 list_argument \$7; +#X obj 170 537 t b a; +#X obj 200 559 s \$0-tolist; +#X obj 169 607 t b a; +#X obj 199 629 s \$0-tolist; +#X obj 169 682 t b a; +#X obj 199 704 s \$0-tolist; +#X obj 170 513 list_argument \$8; +#X obj 169 583 list_argument \$9; +#X obj 169 658 list_argument \$10; +#X obj 169 757 t b a; +#X obj 199 779 s \$0-tolist; +#X obj 169 733 list_argument \$11; +#X connect 1 0 0 0; +#X connect 2 0 11 0; +#X connect 2 1 3 0; +#X connect 4 0 12 0; +#X connect 4 1 5 0; +#X connect 6 0 13 0; +#X connect 6 1 7 0; +#X connect 8 0 14 0; +#X connect 8 1 9 0; +#X connect 10 0 2 0; +#X connect 11 0 4 0; +#X connect 12 0 6 0; +#X connect 13 0 8 0; +#X connect 14 0 16 0; +#X connect 15 0 10 0; +#X connect 16 0 20 0; +#X connect 16 1 17 0; +#X connect 18 0 27 0; +#X connect 18 1 19 0; +#X connect 20 0 18 0; +#X connect 21 0 28 0; +#X connect 21 1 22 0; +#X connect 23 0 29 0; +#X connect 23 1 24 0; +#X connect 25 0 32 0; +#X connect 25 1 26 0; +#X connect 27 0 21 0; +#X connect 28 0 23 0; +#X connect 29 0 25 0; +#X connect 30 1 31 0; +#X connect 32 0 30 0; +#X restore 365 379 pd \$0-arguments; +#X msg 365 556; +#X msg 509 377 set \, addsemi \, adddollar 1 \, add2 obj 10 10; +#X obj 47 48 t b b b b b; +#X msg 487 530 set; +#X obj 77 483 symbol; +#X msg 365 404 add2 \$1; +#X connect 1 0 2 0; +#X connect 2 0 12 0; +#X connect 3 0 22 0; +#X connect 5 0 7 0; +#X connect 6 0 10 0; +#X connect 7 0 6 0; +#X connect 7 1 8 0; +#X connect 8 0 9 0; +#X connect 10 0 11 0; +#X connect 10 1 24 0; +#X connect 11 0 4 0; +#X connect 12 0 24 1; +#X connect 12 1 13 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 19 0 25 0; +#X connect 21 0 20 0; +#X connect 22 0 5 0; +#X connect 22 1 1 0; +#X connect 22 2 15 0; +#X connect 22 3 19 0; +#X connect 22 4 21 0; +#X connect 23 0 20 0; +#X connect 24 0 20 0; +#X connect 25 0 20 0; diff --git a/sssad/_sssad/sssad-persistence.pd b/sssad/_sssad/sssad-persistence.pd new file mode 100644 index 0000000..4071e1e --- /dev/null +++ b/sssad/_sssad/sssad-persistence.pd @@ -0,0 +1,17 @@ +#N canvas 411 241 354 407 10; +#X obj 73 159 list; +#X obj 73 219 list prepend \$1; +#X obj 73 246 list prepend persist; +#X obj 73 269 s SSSAD_ADMIN; +#X obj 73 67 r SSSAD_ADMIN; +#X obj 73 93 route save; +#X obj 73 115 b; +#X text 51 28 args: SSAD-name \$0; +#X obj 96 136 r \$2-sssad-data; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 8 0 0 1; diff --git a/sssad/auto.pd b/sssad/auto.pd new file mode 100644 index 0000000..3e1ab52 --- /dev/null +++ b/sssad/auto.pd @@ -0,0 +1,6 @@ +#N canvas 209 159 450 300 10; +#X obj 5 47 s \$2; +#X obj 98 3 r \$1; +#X obj 5 24 sssad/sssad \$2; +#X connect 1 0 2 1; +#X connect 2 0 0 0; diff --git a/sssad/datastore-help.pd b/sssad/datastore-help.pd new file mode 100644 index 0000000..984986b --- /dev/null +++ b/sssad/datastore-help.pd @@ -0,0 +1,30 @@ +#N canvas 210 191 682 468 10; +#N canvas 0 0 450 300 datastore 1; +#X obj 10 10 r SSSADDATA; +#X msg 10 30 \; SSSAD z 1 \; SSSAD y 2 \; SSSAD x 104 \; SSSAD_ADMIN +set \;; +#X connect 0 0 1 0; +#X restore 11 86 pd datastore; +#X obj 11 113 sssad/datastore; +#X floatatom 57 279 5 0 0 0 - - -; +#X obj 57 331 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 +-1 1; +#X obj 60 212 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 10400 1; +#X obj 13 305 sssad/sssad y; +#X obj 13 355 sssad/sssad z; +#X text 10 9 The datastore abstraction allows you to save sssad data +into a message box that gets saved with the patch \, instead of writing +it into a text file.; +#X text 9 53 It requires that you first create an empty sub patch called +"datastore" as below:; +#X obj 13 236 sssad/sssad x; +#X text 163 147 Use these GUIs to test it out \, and check the contents +of the 'datastore' subpatch to see the data being written as you change +it.; +#X connect 2 0 5 1; +#X connect 3 0 6 1; +#X connect 4 0 9 1; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 9 0 4 0; diff --git a/sssad/datastore.pd b/sssad/datastore.pd new file mode 100644 index 0000000..4f6666d --- /dev/null +++ b/sssad/datastore.pd @@ -0,0 +1,64 @@ +#N canvas 0 0 733 629 10; +#X text 40 597 Hint: get creative with the [OSCroute] external!; +#X obj 6 22 bng 14 250 50 0 \$0-save empty save 17 7 0 8 -128992 -66577 +-1; +#X obj 6 40 bng 14 250 50 0 \$0-load empty load 17 7 0 8 -128992 -1 +-1; +#X obj 16 103 r \$0-load; +#X text 103 27 This abstraction and all the other sssad state saving +stuff is due to the genius of Frank Barknecht. Any mistakes are purely +my own.; +#X text 84 104 if the load button is pressed; +#X obj 442 350 r SSSAD_ADMIN; +#X obj 442 405 route persist; +#X obj 442 375 list trim; +#X obj 442 461 list trim; +#X msg 96 239 save; +#X obj 118 473 s SSSAD_ADMIN; +#X obj 442 437 list prepend add SSSAD; +#X msg 140 433 set \, addsemi; +#X msg 96 501 add SSSAD_ADMIN set; +#X obj 16 126 s SSSADDATA; +#X obj 233 540 s SSSADDATA; +#X obj 96 215 r \$0-save; +#X obj 96 262 t b a b b b; +#X obj 168 287 s SSSAD_SAVE; +#X msg 327 143 bang; +#X obj 327 186 list trim; +#X obj 327 165 list append \$1; +#X obj 327 207 route 0; +#X obj 327 123 loadbang; +#X obj 478 253 makefilename pd-%s; +#X msg 154 356 \; \$1 clear \; \$1 obj 10 10 r SSSADDATA \; \$1 msg +10 30 \; \$1 connect 0 0 1 0 \;; +#X obj 154 335 symbol; +#X msg 191 316 symbol \$1; +#X msg 328 253 symbol pd-datastore; +#X obj 478 232 list; +#X connect 3 0 15 0; +#X connect 6 0 8 0; +#X connect 7 0 12 0; +#X connect 8 0 7 0; +#X connect 9 0 16 0; +#X connect 10 0 18 0; +#X connect 12 0 9 0; +#X connect 13 0 16 0; +#X connect 14 0 16 0; +#X connect 17 0 10 0; +#X connect 18 0 14 0; +#X connect 18 1 11 0; +#X connect 18 2 13 0; +#X connect 18 3 27 0; +#X connect 18 4 19 0; +#X connect 20 0 22 0; +#X connect 21 0 23 0; +#X connect 22 0 21 0; +#X connect 23 0 29 0; +#X connect 23 1 30 0; +#X connect 24 0 20 0; +#X connect 25 0 28 0; +#X connect 27 0 26 0; +#X connect 28 0 27 1; +#X connect 29 0 28 0; +#X connect 30 0 25 0; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/sssad/load.pd b/sssad/load.pd new file mode 100644 index 0000000..9abc9fc --- /dev/null +++ b/sssad/load.pd @@ -0,0 +1,23 @@ +#N canvas 0 0 450 300 10; +#X obj 11 191 textfile; +#X obj 11 221 s SSSAD; +#X obj 11 133 until; +#X msg 11 112 100; +#X obj 79 218 s SSSAD_ADMIN; +#X msg 79 193 set; +#X obj 11 89 t b a; +#X msg 58 134 read \$1 \, rewind; +#X text 62 111 Avoid loops. A bang normally also works.; +#X obj 11 42 loadbang; +#X obj 11 65 symbol \$1; +#X connect 0 0 1 0; +#X connect 0 1 2 1; +#X connect 0 1 5 0; +#X connect 2 0 0 0; +#X connect 3 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 3 0; +#X connect 6 1 7 0; +#X connect 7 0 0 0; +#X connect 9 0 10 0; +#X connect 10 0 6 0; diff --git a/sssad/panel.pd b/sssad/panel.pd new file mode 100644 index 0000000..088af6d --- /dev/null +++ b/sssad/panel.pd @@ -0,0 +1,92 @@ +#N canvas 0 0 733 629 10; +#X obj 601 349 textfile; +#X msg 484 256 clear; +#X obj 601 273 list prepend add; +#X obj 601 299 list trim; +#X obj 86 520 textfile; +#X obj 86 550 s SSSAD; +#X obj 86 462 until; +#X msg 86 441 100; +#X text 81 572 also received inside sssad; +#X obj 465 350 s SSSAD_ADMIN; +#X obj 601 205 r SSSAD_ADMIN; +#X obj 601 249 route persist; +#X obj 601 227 list trim; +#X msg 465 284 save; +#X msg 479 323 set; +#X obj 154 547 s SSSAD_ADMIN; +#X msg 154 522 set; +#X obj 446 133 savepanel; +#X msg 446 397 write \$1; +#X obj 6 24 bng 14 250 50 0 \$0-save_as empty save_as 17 7 0 8 -128992 +-1 -1; +#X obj 86 418 t b a; +#X msg 133 463 read \$1 \, rewind; +#X obj 86 346 openpanel; +#X text 118 441 Avoid loops. A bang normally also works.; +#X obj 86 395 symbol; +#X text 40 597 Hint: get creative with the [OSCroute] external!; +#X obj 446 110 r \$0-save_as; +#X obj 374 110 r \$0-save; +#X obj 6 42 bng 14 250 50 0 \$0-save empty save 17 7 0 8 -128992 -66577 +-1; +#X obj 6 60 bng 14 250 50 0 \$0-load empty load 17 7 0 8 -128992 -66577 +-66577; +#X obj 86 323 r \$0-load; +#X obj 446 214 t a b b b; +#X text 103 27 This abstraction and all the other sssad state saving +stuff is due to the genius of Frank Barknecht. Any mistakes are purely +my own.; +#X obj 504 235 s SSSAD_SAVE; +#X obj 446 193 symbol; +#X obj 14 248 sel 0; +#X obj 14 202 loadbang; +#X obj 14 223 list append \$1; +#X obj 74 292 s \$0/filename; +#X text 11 175 only set the filename if one is supplied; +#X obj 123 372 r \$0/filename; +#X obj 520 132 r \$0/filename; +#X obj 344 214 s \$0/filename; +#X obj 446 155 t s s; +#X text 154 324 if the load button is pressed; +#X text 372 93 if save or save as are clicked; +#X obj 44 270 t b s; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 4 1 6 1; +#X connect 4 1 16 0; +#X connect 6 0 4 0; +#X connect 7 0 6 0; +#X connect 10 0 12 0; +#X connect 11 0 2 0; +#X connect 12 0 11 0; +#X connect 13 0 9 0; +#X connect 14 0 9 0; +#X connect 16 0 15 0; +#X connect 17 0 43 0; +#X connect 18 0 0 0; +#X connect 20 0 7 0; +#X connect 20 1 21 0; +#X connect 21 0 4 0; +#X connect 22 0 24 0; +#X connect 24 0 20 0; +#X connect 26 0 17 0; +#X connect 27 0 34 0; +#X connect 30 0 22 0; +#X connect 31 0 18 0; +#X connect 31 1 13 0; +#X connect 31 2 1 0; +#X connect 31 3 33 0; +#X connect 34 0 31 0; +#X connect 35 1 46 0; +#X connect 36 0 37 0; +#X connect 37 0 35 0; +#X connect 40 0 24 1; +#X connect 41 0 34 1; +#X connect 43 0 42 0; +#X connect 43 1 34 0; +#X connect 46 0 24 0; +#X connect 46 1 38 0; +#X coords 0 -1 1 1 85 80 1 0 0; diff --git a/sssad/sssad-help.pd b/sssad/sssad-help.pd new file mode 100644 index 0000000..af05e78 --- /dev/null +++ b/sssad/sssad-help.pd @@ -0,0 +1,99 @@ +#N canvas 205 58 722 694 10; +#X obj 177 20 cnv 15 450 25 empty empty empty 10 12 1 12 -1 -262144 +0; +#X obj 174 17 cnv 15 450 25 empty empty empty 10 12 1 12 -176779 -262144 +0; +#X obj 171 14 cnv 15 450 25 empty empty sssad_-_Stupidsupersimplistic-State-Saving_ADVANCED +10 12 1 12 -258699 -262144 0; +#X text 170 73 [sssad] is used for saving and restoring state data +spread around in a patch to a textfile composed of "tagged" messages. +; +#X obj 32 77 sssad key; +#N canvas 489 130 587 611 SSAD-globals 0; +#X obj 24 25 r SSSAD; +#X obj 24 49 spigot; +#X obj 72 47 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 24 71 print SSSAD; +#X obj 22 316 spigot; +#X obj 70 314 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 22 292 r SSSAD_ADMIN; +#X obj 22 338 print SSSAD_ADMIN; +#X text 137 289 SSSAD_ADMIN is used to send administrative messages +to all [sssad] objects.; +#X obj 23 554 s SSSAD_ADMIN; +#X msg 23 464 save; +#X msg 23 415 set; +#X text 21 375 SSSAD_ADMIN accepts the following meta-messages:; +#X text 134 414 set: make all [sssad] objects output their current +values to their outlets.; +#X text 134 464 save: let exactly one [ssssad] object per tag-key send +a message composed of the word "persist" \, the current tag-key and +the values to the receiver called SSSAD_ADMIN.; +#X text 135 514 You may use this to save key/value-data to a [textfile]. +; +#X obj 23 145 s SSSAD; +#X msg 23 120 key 5 6 7 8; +#X obj 24 198 s SSSAD; +#X msg 24 173 list key a b c; +#X text 137 118 It is possible to remotely set a sssad-value through +the SSSAD-receiver; +#X text 135 40 SSSAD is a bus where the current sssad-data is communicated +between [sssad] instances:; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 1 1; +#X connect 4 0 7 0; +#X connect 5 0 4 1; +#X connect 6 0 4 0; +#X connect 10 0 9 0; +#X connect 11 0 9 0; +#X connect 17 0 16 0; +#X connect 19 0 18 0; +#X restore 28 562 pd SSAD-globals; +#X text 172 233 Using [ssssad]; +#X text 171 247 ==============; +#X text 173 274 Using [ssssad] is very simple: [sssad] requires an +obligatory argument to name the key to store data at.; +#X text 169 321 The left inlet will accept a bang and make [sssad] +output the value currently stored at the key used in this [sssad]. +; +#X obj 29 238 sssad key; +#X floatatom 87 211 5 0 0 0 - - -; +#X msg 29 212 bang; +#X obj 29 322 sssad key; +#X msg 29 296 bang; +#X symbolatom 87 297 10 0 0 0 - - -; +#X obj 29 423 sssad key; +#X obj 29 400 t b a; +#X msg 29 375 1 2 3 4; +#X obj 29 264 print @key_1; +#X obj 29 349 print @key_2; +#X obj 29 450 print @key_3; +#X text 171 358 The right inlet will accept anything and will store +that anything in all [sssad] objects of the same key. The right inlet +is *cold* and will not generate any output. Use a [trigger bang anything] +if you want direct output.; +#X obj 29 524 r SSSAD_ADMIN; +#X obj 30 500 r SSSAD; +#X text 173 498 [sssad] uses two global senders and receivers \, which +you can intercept to use for saving data to a file: SSSAD and SSSAD_ADMIN. +; +#X text 173 563 Detailed explanation inside.; +#X obj 29 634 sssad-example; +#X text 170 130 A tagged message in this context is a list-message +of elements whose first element denotes the key of the data \, while +the rest of the message are the values stored under that key.; +#X text 174 632 See [sssad-example] to get inspired for how to use +[sssad] in real life.; +#X connect 10 0 19 0; +#X connect 11 0 10 1; +#X connect 12 0 10 0; +#X connect 13 0 20 0; +#X connect 14 0 13 0; +#X connect 15 0 13 1; +#X connect 16 0 21 0; +#X connect 17 0 16 0; +#X connect 17 1 16 1; +#X connect 18 0 17 0; diff --git a/sssad/sssad.pd b/sssad/sssad.pd new file mode 100644 index 0000000..bb103bd --- /dev/null +++ b/sssad/sssad.pd @@ -0,0 +1,31 @@ +#N canvas 584 398 564 509 10; +#X obj 153 54 inlet; +#X obj 153 417 outlet; +#X obj 153 395 list; +#X obj 176 161 r SSSAD; +#X obj 218 134 s SSSAD; +#X obj 218 112 list prepend \$1; +#X obj 176 189 list trim; +#X obj 218 54 inlet; +#X obj 56 308 r SSSAD_ADMIN; +#X obj 56 356 b; +#X obj 56 334 route set; +#X obj 153 81 b; +#X obj 176 252 route \$1; +#X obj 191 282 s \$0-sssad-data; +#X obj 241 335 _sssad/singleton \$1.SSAD sssad-persistence \$1 \$0; +#X obj 241 362 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X connect 0 0 11 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 12 0; +#X connect 7 0 5 0; +#X connect 8 0 10 0; +#X connect 9 0 2 0; +#X connect 10 0 9 0; +#X connect 11 0 2 0; +#X connect 12 0 2 1; +#X connect 12 0 13 0; +#X connect 14 0 15 0; diff --git a/sssad/value.pd b/sssad/value.pd new file mode 100644 index 0000000..5b56be6 --- /dev/null +++ b/sssad/value.pd @@ -0,0 +1,11 @@ +#N canvas 363 355 450 300 10; +#X obj 211 36 sssad/auto \$0/value \$1/value; +#X obj 104 116 nbx 5 14 -1e+37 1e+37 0 0 \$0/value \$1/value empty +0 -6 0 8 -260818 -1 -1 0 256; +#X obj 103 157 r \$0/value; +#X obj 103 179 outlet; +#X obj 101 18 inlet; +#X obj 101 39 s \$1/value; +#X connect 2 0 3 0; +#X connect 4 0 5 0; +#X coords 0 -1 1 1 54 34 1 100 100; diff --git a/sx/addnoise.pd b/sx/addnoise.pd new file mode 100644 index 0000000..4f073b6 --- /dev/null +++ b/sx/addnoise.pd @@ -0,0 +1,36 @@ +#N canvas 162 213 450 300 10; +#X obj 129 107 inlet; +#X obj 129 270 outlet; +#X obj 129 215 pix_sig2pix~ 128 128; +#X obj 173 61 noise~; +#X obj 51 31 tgl 14 0 \$0/onoff \$1/onoff onoff 0 -6 0 8 -233017 -128992 +-1 1 1; +#X obj 5 31 nbx 4 14 0 1 0 1 \$0/rage \$1/rage rage 0 -6 0 8 -233017 +-128992 -1 0.36 256; +#X obj 309 106 r \$0/onoff; +#X obj 173 84 abs~; +#X obj 174 128 *~; +#X obj 190 105 r \$0/rage; +#X obj 129 245 pix_texture; +#X obj 309 128 switch~ 16384; +#X obj 174 172 +~ 1; +#X obj 174 150 *~ -1; +#X obj 43 147 r \$0/smooth; +#X obj 5 60 tgl 14 1 \$0/smooth \$1/smooth smooth 0 -6 0 8 -233017 +-128992 -1 0 1; +#X msg 43 175 quality \$1; +#X connect 0 0 2 0; +#X connect 2 0 10 0; +#X connect 3 0 7 0; +#X connect 6 0 11 0; +#X connect 7 0 8 0; +#X connect 8 0 13 0; +#X connect 9 0 8 1; +#X connect 10 0 1 0; +#X connect 12 0 2 1; +#X connect 12 0 2 2; +#X connect 12 0 2 0; +#X connect 13 0 12 0; +#X connect 14 0 16 0; +#X connect 16 0 10 0; +#X coords 0 -1 1 1 85 80 1 0 0; diff --git a/sx/binter.pd b/sx/binter.pd new file mode 100644 index 0000000..1ba0221 --- /dev/null +++ b/sx/binter.pd @@ -0,0 +1,17 @@ +#N canvas 326 53 678 635 10; +#X obj 145 15 inlet; +#X obj 6 26 nbx 3 14 -1e+37 1e+37 0 0 \$0/stretch \$1/stretch stretch +0 -6 0 8 -233017 -128992 -1 148.61 256; +#X obj 126 130 disk 1 16 0.9; +#X obj 257 137 scaleXYZ; +#X obj 128 102 separator; +#X obj 235 72 separator; +#X obj 261 173 cylinder 0.1 8; +#X obj 309 114 r \$0/stretch; +#X connect 0 0 5 0; +#X connect 0 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 2 0; +#X connect 5 0 3 0; +#X connect 7 0 3 3; +#X coords 0 -1 1 1 85 45 1 0 0; diff --git a/sx/blend.pd b/sx/blend.pd new file mode 100644 index 0000000..3b31aeb --- /dev/null +++ b/sx/blend.pd @@ -0,0 +1,17 @@ +#N canvas 0 0 450 300 10; +#X msg 168 64 snap; +#X obj 168 35 t b a; +#X obj 168 11 inlet; +#X obj 168 130 separator; +#X obj 168 195 rectangle 6 3; +#X obj 168 152 alpha 1; +#X obj 168 97 pix_snap2tex 0 0 512 512; +#X obj 168 174 colorRGB 1 1 1 0.5; +#X connect 0 0 6 0; +#X connect 1 0 0 0; +#X connect 1 1 6 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 5 0 7 0; +#X connect 6 0 3 0; +#X connect 7 0 4 0; diff --git a/sx/blob-help.pd b/sx/blob-help.pd new file mode 100644 index 0000000..11bc548 --- /dev/null +++ b/sx/blob-help.pd @@ -0,0 +1,19 @@ +#N canvas 398 36 562 420 10; +#X obj 20 42 sx/gemwin; +#X obj 161 323 sx/blob; +#X obj 161 27 gemhead; +#X obj 161 52 sx/props; +#X text 19 6 the blob takes a list of verticies of triangular faces +in the right inlet.; +#X obj 214 167 loadbang; +#X msg 214 188 -1 0 0 0 -1 0 1 0 0 -1 0 1 0 -1 1 1 0 1; +#X obj 191 281 list; +#X obj 161 167 t a b; +#X text 17 355 You can use the blender export script in the; +#X connect 2 0 3 0; +#X connect 3 0 8 0; +#X connect 5 0 6 0; +#X connect 6 0 7 1; +#X connect 7 0 1 1; +#X connect 8 0 1 0; +#X connect 8 1 7 0; diff --git a/sx/blob.pd b/sx/blob.pd new file mode 100644 index 0000000..56f088d --- /dev/null +++ b/sx/blob.pd @@ -0,0 +1,105 @@ +#N canvas 364 24 641 641 10; +#X obj 24 571 GEMglEnd; +#X obj 24 387 GEMglVertex3f -1 0 0; +#X obj 24 505 GEMglVertex3f 1 0 0; +#X obj 24 439 GEMglVertex3f 0 -1 0; +#X obj 89 187 loadbang; +#X obj 24 318 GEMglBegin; +#X obj 497 -9 inlet; +#X obj 497 137 until; +#X obj 497 175 list append; +#X obj 497 94 t b l; +#X obj 603 220 bang; +#X obj 497 49 list; +#X obj 497 220 list split 9; +#X text 411 221 count faces; +#X obj 497 266 f; +#X obj 527 266 + 1; +#X msg 497 243 bang; +#X obj 497 16 t b l b; +#X msg 541 94 0; +#X obj 24 71 repeat 1; +#X obj 497 316 s \$0-size; +#X obj 75 50 r \$0-size; +#X obj 24 98 t a b; +#X obj 89 209 GLdefine GL_TRIANGLES; +#X obj 292 104 list; +#X obj 89 15 t a b; +#X obj 220 239 list append; +#X obj 220 284 list split 9; +#X obj 24 601 outlet; +#X obj 497 291 + 1; +#X floatatom 455 317 5 0 0 0 - - -; +#X obj 220 326 unpack f f f f f f f f f; +#X obj 89 -8 inlet; +#X obj 124 108 loadbang; +#X obj 24 153 GEMglShadeModel; +#X obj 124 130 GLdefine GL_FLAT; +#X obj 24 358 GEMglTexCoord3f 0 0 0; +#X obj 24 412 GEMglTexCoord3f 1 0 0; +#X obj 24 468 GEMglTexCoord3f 0 1 0; +#X obj 24 542 GEMglNormal3f; +#X obj 250 444 sx/normal; +#X obj 220 305 t l l; +#X obj 250 467 unpack f f f; +#X connect 0 0 28 0; +#X connect 1 0 37 0; +#X connect 2 0 39 0; +#X connect 3 0 38 0; +#X connect 4 0 23 0; +#X connect 5 0 36 0; +#X connect 6 0 17 0; +#X connect 7 0 8 0; +#X connect 8 0 12 0; +#X connect 9 0 7 0; +#X connect 9 1 8 1; +#X connect 10 0 7 1; +#X connect 11 0 9 0; +#X connect 12 0 16 0; +#X connect 12 1 8 1; +#X connect 12 2 10 0; +#X connect 14 0 15 0; +#X connect 14 0 29 0; +#X connect 15 0 14 1; +#X connect 16 0 14 0; +#X connect 17 0 11 0; +#X connect 17 1 11 1; +#X connect 17 1 24 1; +#X connect 17 2 18 0; +#X connect 18 0 14 1; +#X connect 19 0 22 0; +#X connect 21 0 19 1; +#X connect 22 0 34 0; +#X connect 22 1 26 0; +#X connect 23 0 5 1; +#X connect 24 0 26 1; +#X connect 25 0 19 0; +#X connect 25 1 24 0; +#X connect 26 0 27 0; +#X connect 27 0 41 0; +#X connect 27 1 26 1; +#X connect 29 0 20 0; +#X connect 29 0 30 0; +#X connect 31 0 1 1; +#X connect 31 1 1 2; +#X connect 31 2 1 3; +#X connect 31 3 3 1; +#X connect 31 4 3 2; +#X connect 31 5 3 3; +#X connect 31 6 2 1; +#X connect 31 7 2 2; +#X connect 31 8 2 3; +#X connect 32 0 25 0; +#X connect 33 0 35 0; +#X connect 34 0 5 0; +#X connect 35 0 34 1; +#X connect 36 0 1 0; +#X connect 37 0 3 0; +#X connect 38 0 2 0; +#X connect 39 0 0 0; +#X connect 40 0 42 0; +#X connect 41 0 31 0; +#X connect 41 1 40 0; +#X connect 42 0 39 1; +#X connect 42 1 39 2; +#X connect 42 2 39 3; diff --git a/sx/blob2.pd b/sx/blob2.pd new file mode 100644 index 0000000..d96f462 --- /dev/null +++ b/sx/blob2.pd @@ -0,0 +1,66 @@ +#N canvas 364 24 641 641 10; +#X obj 497 -9 inlet; +#X obj 497 137 until; +#X obj 497 175 list append; +#X obj 497 94 t b l; +#X obj 603 220 bang; +#X obj 497 49 list; +#X obj 497 220 list split 9; +#X text 411 221 count faces; +#X obj 497 266 f; +#X obj 527 266 + 1; +#X msg 497 243 bang; +#X obj 497 16 t b l b; +#X msg 541 94 0; +#X obj 24 71 repeat 1; +#X obj 497 316 s \$0-size; +#X obj 75 50 r \$0-size; +#X obj 24 98 t a b; +#X obj 292 104 list; +#X obj 89 15 t a b; +#X obj 220 239 list append; +#X obj 220 284 list split 9; +#X obj 24 601 outlet; +#X obj 497 291 + 1; +#X floatatom 455 317 5 0 0 0 - - -; +#X obj 89 -8 inlet; +#X obj 24 543 primTri 0 0 0 1 0 0 1 1 0; +#X obj 220 308 list split 3; +#X obj 259 332 list split 3; +#X connect 0 0 11 0; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 3 0 1 0; +#X connect 3 1 2 1; +#X connect 4 0 1 1; +#X connect 5 0 3 0; +#X connect 6 0 10 0; +#X connect 6 1 2 1; +#X connect 6 2 4 0; +#X connect 8 0 9 0; +#X connect 8 0 22 0; +#X connect 9 0 8 1; +#X connect 10 0 8 0; +#X connect 11 0 5 0; +#X connect 11 1 5 1; +#X connect 11 1 17 1; +#X connect 11 2 12 0; +#X connect 12 0 8 1; +#X connect 13 0 16 0; +#X connect 15 0 13 1; +#X connect 16 0 25 0; +#X connect 16 1 19 0; +#X connect 17 0 19 1; +#X connect 18 0 13 0; +#X connect 18 1 17 0; +#X connect 19 0 20 0; +#X connect 20 0 26 0; +#X connect 20 1 19 1; +#X connect 22 0 14 0; +#X connect 22 0 23 0; +#X connect 24 0 18 0; +#X connect 25 0 21 0; +#X connect 26 0 25 1; +#X connect 26 1 27 0; +#X connect 27 0 25 2; +#X connect 27 1 25 3; diff --git a/sx/drift.pd b/sx/drift.pd new file mode 100644 index 0000000..21cbf86 --- /dev/null +++ b/sx/drift.pd @@ -0,0 +1,24 @@ +#N canvas 0 0 450 300 10; +#X obj 15 9 inlet; +#X obj 15 148 line \$1; +#X obj 15 33 unpack f f f; +#X obj 85 149 line \$1; +#X obj 155 150 line \$1; +#X obj 15 182 pack f f f; +#X obj 15 210 outlet; +#X obj 79 209 s \$2; +#X obj 15 90 pack f \$1; +#X obj 85 90 pack f \$1; +#X obj 155 90 pack f \$1; +#X connect 0 0 2 0; +#X connect 1 0 5 0; +#X connect 2 0 8 0; +#X connect 2 1 9 0; +#X connect 2 2 10 0; +#X connect 3 0 5 1; +#X connect 4 0 5 2; +#X connect 5 0 6 0; +#X connect 5 0 7 0; +#X connect 8 0 1 0; +#X connect 9 0 3 0; +#X connect 10 0 4 0; diff --git a/sx/explode-help.pd b/sx/explode-help.pd new file mode 100644 index 0000000..5fb94df --- /dev/null +++ b/sx/explode-help.pd @@ -0,0 +1,16 @@ +#N canvas 326 160 542 476 10; +#X obj 20 42 sx/gemwin; +#X obj 161 341 sx/blob; +#X obj 161 27 gemhead; +#X obj 161 52 sx/props; +#X text 19 6 the blob takes a list of verticies of triangular faces +in the right inlet.; +#X obj 205 268 sx/explode; +#X obj 161 162 t a b; +#X msg 205 185 -1 0 0 0 -1 0 1 0 0 1 0 1 0 -1 1 -1 0 1; +#X connect 2 0 3 0; +#X connect 3 0 6 0; +#X connect 5 0 1 1; +#X connect 6 0 1 0; +#X connect 6 1 7 0; +#X connect 7 0 5 0; diff --git a/sx/explode.pd b/sx/explode.pd new file mode 100644 index 0000000..daa1c7d --- /dev/null +++ b/sx/explode.pd @@ -0,0 +1,100 @@ +#N canvas 25 90 427 534 10; +#X obj 5 39 nbx 3 14 -100000 100000 0 1 \$0/explode \$1/explode explode +0 -6 0 8 -233017 -128992 -1 0 256; +#X obj 105 5 inlet; +#X text 150 9 send geometry in here; +#X obj 105 506 outlet; +#X obj 105 208 until; +#X obj 105 246 list append; +#X obj 211 291 bang; +#X obj 105 291 list split 9; +#X obj 206 445 t l; +#X obj 105 445 list prepend; +#X obj 105 165 t b l b; +#X obj 135 340 sx/normal; +#X obj 105 314 t l l; +#N canvas 336 253 450 300 add-vector-to-face 0; +#X obj 16 7 inlet; +#X obj 335 4 inlet; +#X obj 16 274 outlet; +#X obj 16 31 unpack f f f f f f f f f; +#X obj 16 220 +; +#X obj 43 220 +; +#X obj 70 220 +; +#X obj 97 220 +; +#X obj 124 220 +; +#X obj 151 220 +; +#X obj 178 220 +; +#X obj 205 220 +; +#X obj 232 220 +; +#X obj 16 249 pack f f f f f f f f f; +#X obj 335 26 unpack f f f; +#X obj 335 53 *; +#X obj 374 53 *; +#X obj 414 53 *; +#X obj 415 3 inlet; +#X connect 0 0 3 0; +#X connect 1 0 14 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 3 2 6 0; +#X connect 3 3 7 0; +#X connect 3 4 8 0; +#X connect 3 5 9 0; +#X connect 3 6 10 0; +#X connect 3 7 11 0; +#X connect 3 8 12 0; +#X connect 4 0 13 0; +#X connect 5 0 13 1; +#X connect 6 0 13 2; +#X connect 7 0 13 3; +#X connect 8 0 13 4; +#X connect 9 0 13 5; +#X connect 10 0 13 6; +#X connect 11 0 13 7; +#X connect 12 0 13 8; +#X connect 13 0 2 0; +#X connect 14 0 15 0; +#X connect 14 1 16 0; +#X connect 14 2 17 0; +#X connect 15 0 4 1; +#X connect 15 0 7 1; +#X connect 15 0 10 1; +#X connect 16 0 5 1; +#X connect 16 0 11 1; +#X connect 16 0 8 1; +#X connect 17 0 6 1; +#X connect 17 0 9 1; +#X connect 17 0 12 1; +#X connect 18 0 17 1; +#X connect 18 0 16 1; +#X connect 18 0 15 1; +#X restore 105 389 pd add-vector-to-face; +#X obj 105 143 list; +#X obj 105 30 t b a; +#X obj 217 72 r \$0/explode; +#X obj 217 93 t b f; +#X connect 1 0 15 0; +#X connect 4 0 5 0; +#X connect 5 0 7 0; +#X connect 6 0 4 1; +#X connect 7 0 12 0; +#X connect 7 1 5 1; +#X connect 7 2 6 0; +#X connect 8 0 9 1; +#X connect 9 0 8 0; +#X connect 9 0 3 0; +#X connect 10 0 4 0; +#X connect 10 1 5 1; +#X connect 10 2 9 1; +#X connect 11 0 13 1; +#X connect 12 0 13 0; +#X connect 12 1 11 0; +#X connect 13 0 9 0; +#X connect 14 0 10 0; +#X connect 15 0 14 0; +#X connect 15 1 14 1; +#X connect 16 0 17 0; +#X connect 17 0 14 0; +#X connect 17 1 13 2; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/sx/fakecyl.pd b/sx/fakecyl.pd new file mode 100644 index 0000000..f5d0c9d --- /dev/null +++ b/sx/fakecyl.pd @@ -0,0 +1,26 @@ +#N canvas 489 326 450 300 10; +#X obj 44 167 rotateXYZ 45 0 0; +#X obj 44 70 repeat 8; +#X obj 14 45 t a a; +#X obj 14 3 inlet; +#X obj 44 93 translateXYZ 0 0 1.2; +#X obj 44 142 translateXYZ 0 0 -1.2; +#X obj 14 216 outlet; +#X obj 199 68 * 1.2; +#X obj 222 100 * -1; +#X obj 158 47 / 2; +#X obj 44 116 rectangle 2 0.5; +#X obj 191 13 inlet; +#X connect 1 0 4 0; +#X connect 2 0 6 0; +#X connect 2 1 1 0; +#X connect 3 0 2 0; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 7 0 8 0; +#X connect 7 0 4 3; +#X connect 8 0 5 3; +#X connect 9 0 10 2; +#X connect 10 0 5 0; +#X connect 11 0 9 0; +#X connect 11 0 7 0; diff --git a/sx/gemwin.pd b/sx/gemwin.pd new file mode 100644 index 0000000..6f44fac --- /dev/null +++ b/sx/gemwin.pd @@ -0,0 +1,114 @@ +#N canvas 40 166 521 483 10; +#X obj 22 396 gemwin; +#X msg 94 162 destroy; +#X msg 49 212 1; +#X msg 103 185 0; +#N canvas 22 20 213 300 Gem.init 0; +#X obj 71 254 outlet; +#X msg 101 134 reset; +#X obj 71 109 t b b; +#X msg 71 164 lighting 1; +#X msg 95 203 dimen 1024 576; +#X obj 71 81 inlet; +#X msg 58 230 perspec -1 1 -1 1 1 100; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 2 1 1 0; +#X connect 3 0 0 0; +#X connect 3 0 6 0; +#X connect 4 0 0 0; +#X connect 5 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X restore 112 263 pd Gem.init; +#X obj 23 90 route 0 1; +#X obj 8 39 tgl 14 0 \$0/onoff \$1/onoff onoff 0 -6 0 8 -233017 -128992 +-1 0 1; +#X obj 23 67 r \$0/onoff; +#X obj 289 210 world_light; +#X obj 211 338 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X msg 211 362 debug \$1; +#X obj 337 -3 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X msg 333 31 debug \$1; +#X obj 305 120 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X msg 304 140 debug \$1; +#X obj 282 180 rotateXYZ 0 240 0; +#X obj 300 59 rotateXYZ 240 0 0; +#X obj 300 81 world_light 0.5; +#X obj 274 269 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X msg 270 303 debug \$1; +#X obj 322 333 world_light 0.2 0.5 0.9; +#X obj 125 42 inlet; +#X msg 129 231 border \$1; +#X obj 45 39 tgl 14 0 \$0/border \$1/border border 0 -6 0 8 -233017 +-128992 -1 0 1; +#X obj 129 209 r \$0/border; +#X obj 303 275 rotateXYZ 0 -80 180; +#X obj 280 387 rotateXYZ 0 100 0; +#X obj 283 445 world_light; +#X msg 362 418 0.3 0.3 0.3; +#X msg 402 136 0.8 0.8 0.8; +#X obj 402 111 loadbang; +#X obj 450 257 loadbang; +#X obj 416 390 loadbang; +#X msg 438 302 0.7 0.7 0.7; +#X obj 26 154 t b b b; +#X msg 3 193 create; +#X obj 161 112 r \$1/color; +#X msg 161 134 color \$1 \$2 \$3 \;; +#X msg 99 296 lighting 0; +#X obj 246 21 gemhead -80; +#X obj 91 127 t b b b; +#X obj 145 178 r \$1/fog; +#X obj 98 330 r \$1/lighting; +#X msg 97 351 lighting \$1; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 40 0; +#X connect 5 1 34 0; +#X connect 7 0 5 0; +#X connect 9 0 10 0; +#X connect 10 0 27 0; +#X connect 11 0 12 0; +#X connect 12 0 17 0; +#X connect 13 0 14 0; +#X connect 14 0 8 0; +#X connect 15 0 8 0; +#X connect 16 0 17 0; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 21 0 0 0; +#X connect 22 0 0 0; +#X connect 24 0 22 0; +#X connect 25 0 20 0; +#X connect 26 0 27 0; +#X connect 28 0 27 1; +#X connect 29 0 15 3; +#X connect 30 0 29 0; +#X connect 31 0 33 0; +#X connect 32 0 28 0; +#X connect 33 0 20 1; +#X connect 34 0 2 0; +#X connect 34 1 35 0; +#X connect 34 2 4 0; +#X connect 35 0 0 0; +#X connect 36 0 37 0; +#X connect 37 0 0 0; +#X connect 38 0 0 0; +#X connect 39 0 15 0; +#X connect 39 0 16 0; +#X connect 39 0 25 0; +#X connect 39 0 26 0; +#X connect 40 0 1 0; +#X connect 40 1 3 0; +#X connect 40 2 38 0; +#X connect 41 0 0 0; +#X connect 42 0 43 0; +#X connect 43 0 0 0; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/sx/hutz.pd b/sx/hutz.pd new file mode 100644 index 0000000..cdc2adb --- /dev/null +++ b/sx/hutz.pd @@ -0,0 +1,54 @@ +#N canvas 475 4 450 300 10; +#X obj 119 63 repeat 3; +#X obj 119 176 repeat 3; +#X obj 119 269 cube 0.5; +#X obj 119 199 colorRGB 0.66 0.66 0.66; +#X obj 119 128 colorRGB 1 0.52 0.3; +#X obj 119 246 rotateXYZ 0 0 1; +#X obj 119 84 translateXYZ 0.2 0 0; +#X floatatom 282 33 5 0 0 0 - - -; +#X obj 119 105 rotateXYZ 0 90 0; +#X obj 275 61 * 2; +#X obj 119 153 cuboid 0.1 1 1; +#X obj 119 222 translateXYZ 0.33 0 0; +#X floatatom 315 102 5 0 0 0 - - -; +#X obj 264 147 / 60; +#X obj 315 136 / 360; +#X obj 292 171 / 120; +#X obj 6 30 nbx 4 14 -360 360 0 0 \$0/stretch \$1/stretch stretch 0 +-6 0 8 -233017 -128992 -1 -251 256; +#X obj 7 59 nbx 4 14 -360 360 0 0 \$0/twist \$1/twist twist 0 -6 0 +8 -233017 -128992 -1 180 256; +#X obj 119 0 inlet; +#X obj 282 13 r \$0/twist; +#X obj 315 81 r \$0/stretch; +#X obj 119 20 separator; +#X obj 119 40 scaleXYZ 0.5 0.5 0.5; +#X connect 0 0 6 0; +#X connect 1 0 3 0; +#X connect 3 0 11 0; +#X connect 4 0 10 0; +#X connect 5 0 2 0; +#X connect 6 0 8 0; +#X connect 7 0 8 3; +#X connect 7 0 9 0; +#X connect 7 0 5 1; +#X connect 7 0 5 2; +#X connect 8 0 4 0; +#X connect 9 0 8 2; +#X connect 10 0 1 0; +#X connect 11 0 5 0; +#X connect 12 0 13 0; +#X connect 12 0 14 0; +#X connect 12 0 15 0; +#X connect 13 0 11 1; +#X connect 14 0 6 1; +#X connect 14 0 6 3; +#X connect 15 0 5 3; +#X connect 15 0 8 1; +#X connect 18 0 21 0; +#X connect 19 0 7 0; +#X connect 20 0 12 0; +#X connect 21 0 22 0; +#X connect 22 0 0 0; +#X coords 0 -1 1 1 85 80 1 0 0; diff --git a/sx/mirrorball.pd b/sx/mirrorball.pd new file mode 100644 index 0000000..8b64f19 --- /dev/null +++ b/sx/mirrorball.pd @@ -0,0 +1,13 @@ +#N canvas 0 0 450 300 10; +#X msg 168 64 snap; +#X obj 168 35 t b a; +#X obj 168 11 inlet; +#X obj 168 97 pix_snap2tex 0 0 256 256; +#X obj 168 157 sphere 10 20; +#X obj 168 123 separator; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 1 1 3 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 5 0 4 0; diff --git a/sx/netgeom-help.pd b/sx/netgeom-help.pd new file mode 100644 index 0000000..fedfc3c --- /dev/null +++ b/sx/netgeom-help.pd @@ -0,0 +1,23 @@ +#N canvas 222 16 582 378 10; +#X obj 295 100 sx/gemwin; +#X obj 14 7 gemhead; +#X obj 14 32 sx/props; +#X obj 65 142 netreceive 3142 1; +#X obj 65 189 sx/netgeom Cube; +#X text 115 287 sx/netgeom can receive a list of triangle data for +use with sx/blob. Copy the blender script in utils/net_triangle.py +into your blender scripts directory (./blender/scripts/) and then run +blender and choose File... Export... Raw Triangle over the net... to +send here. Big complicated meshes will probably make things chug.; +#X obj 14 282 sx/blob2; +#X obj 65 165 t b a; +#X obj 295 14 sx/wander; +#X obj 65 216 sx/explode e; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 3 0 7 0; +#X connect 4 0 9 0; +#X connect 7 0 4 0; +#X connect 7 1 4 1; +#X connect 8 0 0 0; +#X connect 9 0 6 1; diff --git a/sx/netgeom.pd b/sx/netgeom.pd new file mode 100644 index 0000000..8d07330 --- /dev/null +++ b/sx/netgeom.pd @@ -0,0 +1,43 @@ +#N canvas 0 0 455 394 10; +#X obj 99 158 route \$1; +#X obj 16 355 list; +#X obj 16 137 inlet; +#X msg 16 158 bang; +#X obj 16 376 outlet; +#X obj 99 133 inlet; +#X obj 227 309 t l; +#X text 13 4 args: [blender object name \; e.g. Cube]; +#X obj 99 309 list append; +#X obj 129 203 list split 1; +#X obj 99 179 t a a; +#X obj 99 286 spigot; +#X msg 208 249 1; +#X msg 129 250 0; +#X obj 129 224 select clear; +#X text 13 36 copy the blender export script into .blender/scripts/ +folder and start blender. Make the argument of this be the same name +as a blender object. Go file.. Export... Raw Triangle Across the net +... and it will arrive as a list of verticies of triangles here. This +can be used with other objects such as sx/explode and sx/blob. The +shape list will be retained between sessions if you use a sssad/panel +save.; +#X obj 99 333 s \$1/geomdata; +#X obj 194 167 sssad/auto \$0/geomdata \$1/geomdata; +#X connect 0 0 10 0; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 5 0 0 0; +#X connect 6 0 8 1; +#X connect 8 0 6 0; +#X connect 8 0 1 1; +#X connect 8 0 16 0; +#X connect 9 0 14 0; +#X connect 10 0 11 0; +#X connect 10 1 9 0; +#X connect 11 0 8 0; +#X connect 12 0 11 1; +#X connect 13 0 11 1; +#X connect 14 0 8 1; +#X connect 14 0 13 0; +#X connect 14 1 12 0; diff --git a/sx/normal.pd b/sx/normal.pd new file mode 100644 index 0000000..8a57819 --- /dev/null +++ b/sx/normal.pd @@ -0,0 +1,45 @@ +#N canvas 283 137 706 514 10; +#X obj 10 9 inlet; +#X text 58 10 takes a list of 9 numbers (3 vectors of a triangular +face); +#X obj 10 486 outlet; +#X obj 10 433 pack f f f; +#X obj 10 33 unpack f f f f f f f f f; +#X obj 101 140 expr ( ($f1 - $f2) * ($f3 - $f4) ) - ( ($f3 - $f5) * +($f1 - $f6) ); +#X obj 10 344 expr ( ($f1 - $f2) * ($f3 - $f4) ) - ( ($f3 - $f5) * +($f1 - $f6) ); +#X obj 10 460 sx/unit; +#X obj 52 244 expr ( ($f3 - $f2) * ($f1 - $f4) ) - ( ($f1 - $f5) * +($f3 - $f6) ); +#X obj 11 106 t f f; +#X obj 13 408 f; +#X obj 10 378 t b f; +#X connect 0 0 4 0; +#X connect 3 0 7 0; +#X connect 4 0 9 0; +#X connect 4 1 5 0; +#X connect 4 1 6 2; +#X connect 4 2 5 2; +#X connect 4 2 8 2; +#X connect 4 3 6 1; +#X connect 4 3 8 4; +#X connect 4 4 5 1; +#X connect 4 4 6 4; +#X connect 4 5 5 4; +#X connect 4 5 8 1; +#X connect 4 6 6 5; +#X connect 4 6 8 3; +#X connect 4 7 5 5; +#X connect 4 7 6 3; +#X connect 4 8 5 3; +#X connect 4 8 8 5; +#X connect 5 0 10 1; +#X connect 6 0 11 0; +#X connect 7 0 2 0; +#X connect 8 0 3 1; +#X connect 9 0 6 0; +#X connect 9 1 8 0; +#X connect 10 0 3 0; +#X connect 11 0 10 0; +#X connect 11 1 3 2; diff --git a/sx/phitz.pd b/sx/phitz.pd new file mode 100644 index 0000000..f9b7402 --- /dev/null +++ b/sx/phitz.pd @@ -0,0 +1,32 @@ +#N canvas 523 326 450 300 10; +#X obj 212 203 rotateXYZ; +#X obj 212 125 repeat 5; +#X obj 212 150 translateXYZ -0.35 -0.07 0.01; +#X obj 283 250 cuboid 6 0.01 0.1; +#X obj 212 250 cube 1.2; +#X obj 212 52 inlet; +#X obj 6 28 nbx 3 14 0 360 0 0 \$0/skitz \$1/skitz skitz 0 -6 0 8 -233017 +-128992 -1 6 256; +#X obj 6 56 nbx 3 14 0 360 0 0 \$0/phat \$1/phat phat 0 -6 0 8 -233017 +-128992 -1 3.025 256; +#X obj 359 205 r \$0/phat; +#X obj 231 173 r \$0/skitz; +#X obj 397 229 * 0.07; +#X obj 212 81 scaleXYZ 0.5 0.5 0.5; +#X obj 45 28 nbx 3 14 0 8 0 0 \$0/num \$1/num num 0 -6 0 8 -233017 +-128992 -1 7 256; +#X obj 263 104 r \$0/num; +#X connect 0 0 4 0; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 5 0 11 0; +#X connect 8 0 3 2; +#X connect 8 0 10 0; +#X connect 9 0 0 1; +#X connect 9 0 0 2; +#X connect 9 0 0 3; +#X connect 10 0 3 3; +#X connect 11 0 1 0; +#X connect 13 0 1 1; +#X coords 0 -1 1 1 85 75 1 0 0; diff --git a/sx/pinger.pd b/sx/pinger.pd new file mode 100644 index 0000000..0e8169d --- /dev/null +++ b/sx/pinger.pd @@ -0,0 +1,46 @@ +#N canvas 19 89 570 578 10; +#X obj 406 281 line; +#X msg 406 253 1 \$1; +#X msg 446 252 0; +#X obj 406 231 t f b; +#X obj 330 415 - 0.2; +#X obj 507 8 inlet; +#X obj 507 30 list; +#X msg 507 53 \$1 \$2 \;; +#X obj 83 26 bng 14 250 50 0 \$0/shot \$1/shot shot 0 -6 0 8 -233017 +-128992 -66577; +#X obj 406 160 r \$0/shot; +#X obj 429 183 r \$0/time; +#X obj 411 371 r \$0/width; +#X obj 6 26 nbx 3 14 -1e+37 1e+37 0 0 \$0/width \$1/width width 0 -6 +0 8 -233017 -128992 -1 0 256; +#X obj 451 306 select 1; +#X obj 352 314 - 1; +#X obj 348 339 * -1; +#X obj 360 392 * 0.2; +#X obj 406 330 * 10; +#X obj 406 208 1000; +#X obj 192 354 inlet; +#X obj 192 452 disk 1 10 0.2; +#X connect 0 0 13 0; +#X connect 0 0 14 0; +#X connect 0 0 17 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 1 0; +#X connect 3 1 2 0; +#X connect 4 0 20 3; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 9 0 18 0; +#X connect 10 0 18 1; +#X connect 11 0 16 1; +#X connect 13 0 2 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 4 1; +#X connect 17 0 4 0; +#X connect 17 0 20 1; +#X connect 18 0 3 0; +#X connect 19 0 20 0; +#X coords 0 -1 1 1 120 45 1 0 0; diff --git a/sx/props.pd b/sx/props.pd new file mode 100644 index 0000000..da0c169 --- /dev/null +++ b/sx/props.pd @@ -0,0 +1,124 @@ +#N canvas 323 232 656 443 10; +#X obj 350 219 translateXYZ; +#X obj 6 28 nbx 3 14 -1e+37 1e+37 0 0 \$0/rX \$1/rX rotate 0 -6 0 8 +-233017 -128992 -1 0 256; +#X obj 44 28 nbx 3 14 -1e+37 1e+37 0 0 \$0/rY \$1/rY empty 0 -6 0 8 +-233017 -128992 -1 0 256; +#X obj 83 28 nbx 3 14 -1e+37 1e+37 0 0 \$0/rZ \$1/rZ empty 0 -6 0 8 +-233017 -128992 -1 0 256; +#X obj 376 154 r \$0/tX; +#X obj 402 176 r \$0/tY; +#X obj 429 198 r \$0/tZ; +#X obj 6 83 nbx 3 14 0 1 0 1 \$0/cR \$1/cR color 0 -6 0 8 -233017 -128992 +-1 1 256; +#X obj 44 83 nbx 3 14 0 1 0 1 \$0/cG \$1/cG empty 0 -6 0 8 -233017 +-128992 -1 1 256; +#X obj 83 83 nbx 3 14 0 1 0 1 \$0/cB \$1/cB empty 0 -6 0 8 -233017 +-128992 -1 1 256; +#X obj 350 8 inlet; +#X obj 369 245 r \$0/rX; +#X obj 388 266 r \$0/rY; +#X obj 408 288 r \$0/rZ; +#X obj 350 311 rotateXYZ; +#X obj 350 130 colorRGB; +#X obj 388 82 r \$0/cB; +#X obj 375 61 r \$0/cG; +#X obj 362 40 r \$0/cR; +#X obj 401 103 r \$0/cA; +#X obj 6 56 nbx 3 14 -1e+37 1e+37 0 0 \$0/tX \$1/tX translate 0 -6 +0 8 -233017 -128992 -1 0 256; +#X obj 44 56 nbx 3 14 -1e+37 1e+37 0 0 \$0/tY \$1/tY empty 0 -6 0 8 +-233017 -128992 -1 0 256; +#X obj 83 56 nbx 3 14 -1e+37 1e+37 0 0 \$0/tZ \$1/tZ empty 0 -6 0 8 +-233017 -128992 -1 0 256; +#X obj 122 83 nbx 3 14 0.01 1 0 1 \$0/cA \$1/cA empty 0 -6 0 8 -233017 +-128992 -1 0.299213 256; +#X obj 350 335 outlet; +#X obj 499 27 unpack f f f f; +#X obj 499 112 s \$0/cR; +#X obj 499 159 unpack f f f; +#X obj 499 136 r \$1/translate; +#X obj 499 272 unpack f f f; +#X obj 499 249 r \$1/rotate; +#X obj 499 4 r \$1/color; +#X obj 5 395 s \$1/translate; +#X obj 5 372 sssad/sssad \$1/translate; +#X obj 5 113 r \$0/tX; +#X obj 37 136 r \$0/tY; +#X obj 70 158 r \$0/tZ; +#X obj 168 351 r \$0/translate; +#X obj 5 180 pack f f f; +#X obj 5 201 s \$0/translate; +#X obj 5 312 pack f f f; +#X obj 5 245 r \$0/rX; +#X obj 37 268 r \$0/rY; +#X obj 70 290 r \$0/rZ; +#X obj 174 91 r \$0/cR; +#X obj 200 114 r \$0/cG; +#X obj 174 183 pack f f f f; +#X obj 253 160 r \$0/cA; +#X obj 226 136 r \$0/cB; +#X obj 174 204 s \$0/color; +#X obj 5 333 s \$0/rotate; +#X obj 345 369 r \$0/rotate; +#X obj 203 390 sssad/sssad \$1/rotate; +#X obj 203 413 s \$1/rotate; +#X obj 565 371 r \$0/color; +#X obj 430 392 sssad/sssad \$1/color; +#X obj 430 415 s \$1/color; +#X obj 538 203 s \$1/tY; +#X obj 578 182 s \$1/tZ; +#X obj 499 227 s \$1/tX; +#X obj 561 70 s \$1/cB; +#X obj 592 49 s \$1/cA; +#X obj 530 91 s \$1/cG; +#X obj 499 340 s \$1/rX; +#X obj 538 316 s \$1/rY; +#X obj 578 295 s \$1/rZ; +#X connect 0 0 14 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 6 0 0 3; +#X connect 10 0 15 0; +#X connect 11 0 14 1; +#X connect 12 0 14 2; +#X connect 13 0 14 3; +#X connect 14 0 24 0; +#X connect 15 0 0 0; +#X connect 16 0 15 3; +#X connect 17 0 15 2; +#X connect 18 0 15 1; +#X connect 19 0 15 4; +#X connect 25 0 26 0; +#X connect 25 1 62 0; +#X connect 25 2 60 0; +#X connect 25 3 61 0; +#X connect 27 0 59 0; +#X connect 27 1 57 0; +#X connect 27 2 58 0; +#X connect 28 0 27 0; +#X connect 29 0 63 0; +#X connect 29 1 64 0; +#X connect 29 2 65 0; +#X connect 30 0 29 0; +#X connect 31 0 25 0; +#X connect 33 0 32 0; +#X connect 34 0 38 0; +#X connect 35 0 38 1; +#X connect 36 0 38 2; +#X connect 37 0 33 1; +#X connect 38 0 39 0; +#X connect 40 0 50 0; +#X connect 41 0 40 0; +#X connect 42 0 40 1; +#X connect 43 0 40 2; +#X connect 44 0 46 0; +#X connect 45 0 46 1; +#X connect 46 0 49 0; +#X connect 47 0 46 3; +#X connect 48 0 46 2; +#X connect 51 0 52 1; +#X connect 52 0 53 0; +#X connect 54 0 55 1; +#X connect 55 0 56 0; +#X coords 0 -1 1 1 160 103 1 0 0; diff --git a/sx/ring.pd b/sx/ring.pd new file mode 100644 index 0000000..6121903 --- /dev/null +++ b/sx/ring.pd @@ -0,0 +1,61 @@ +#N canvas 362 185 526 460 10; +#X obj 119 0 inlet; +#X obj 149 65 rotateXYZ 0 90 0; +#X obj 149 386 rotateXYZ 0 90 0; +#X obj 149 298 translateXYZ 1 0 1; +#X obj 149 252 cuboid 0.1 0.1 1.1; +#X obj 29 110 outlet; +#X obj 119 23 GEMglPushMatrix; +#X obj 29 88 GEMglPopMatrix; +#X obj 119 44 t a a; +#X obj 307 173 \$2; +#X obj 307 151 loadbang; +#X obj 215 130 inlet; +#X obj 296 127 inlet; +#X obj 307 193 select 0; +#X obj 390 204 * 1.1; +#X obj 169 169 select 0; +#X obj 173 109 loadbang; +#X obj 173 131 \$1; +#X obj 149 208 repeat 4; +#X obj 220 362 expr 360 / $f1; +#X obj 390 180 inlet; +#X obj 425 80 loadbang; +#X obj 425 104 \$3; +#X obj 425 126 select 0; +#X text 247 3 args: [pieces] [thickness] [width]; +#X obj 149 89 translateXYZ -0.5 0 -0.5; +#X obj 319 66 / -2; +#X connect 0 0 6 0; +#X connect 1 0 25 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 5 0; +#X connect 8 0 7 0; +#X connect 8 1 1 0; +#X connect 9 0 13 0; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 9 0; +#X connect 13 1 4 2; +#X connect 14 0 4 3; +#X connect 15 1 18 1; +#X connect 15 1 19 0; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 18 0 4 0; +#X connect 19 0 2 2; +#X connect 20 0 14 0; +#X connect 20 0 3 3; +#X connect 20 0 3 1; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 1 14 0; +#X connect 23 1 3 3; +#X connect 23 1 4 3; +#X connect 23 1 26 0; +#X connect 25 0 18 0; +#X connect 26 0 25 3; +#X connect 26 0 25 1; +#X coords 0 0 1 1 85 80 0; diff --git a/sx/rumble.pd b/sx/rumble.pd new file mode 100644 index 0000000..ce568c4 --- /dev/null +++ b/sx/rumble.pd @@ -0,0 +1,37 @@ +#N canvas 147 48 647 639 10; +#X obj 198 82 part_head; +#X obj 198 136 part_color; +#X obj 198 447 part_draw; +#X obj 198 334 part_orbitpoint 0 1 0 0.08; +#X obj 198 174 part_size 0.4; +#X obj 360 61 loadbang; +#X msg 336 97 0 0 0; +#X obj 198 56 inlet; +#X msg 126 411 draw 6; +#X obj 126 387 loadbang; +#X text 381 250 small values (0.1) is normal; +#X text 384 269 larger values (1) is intense; +#X text 382 288 negative values is explosive; +#X obj 5 42 nbx 4 14 -0.2 1.2 0 0 \$0/rumble \$1/rumble rumble 0 -6 +0 8 -233017 -128992 -1 0.228346 256; +#X obj 375 305 r \$0/rumble; +#X obj 198 220 part_velocity sphere 0 0 0 0.2; +#X msg 396 98 0 0 1; +#X obj 198 270 part_source 3; +#X obj 198 381 part_killold 30; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 3 0 18 0; +#X connect 4 0 15 0; +#X connect 5 0 16 0; +#X connect 5 0 6 0; +#X connect 6 0 1 1; +#X connect 7 0 0 0; +#X connect 8 0 2 0; +#X connect 9 0 8 0; +#X connect 14 0 3 2; +#X connect 15 0 17 0; +#X connect 16 0 1 2; +#X connect 17 0 3 0; +#X connect 18 0 2 0; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/sx/shadow.pd b/sx/shadow.pd new file mode 100644 index 0000000..f254416 --- /dev/null +++ b/sx/shadow.pd @@ -0,0 +1,19 @@ +#N canvas 0 0 450 300 10; +#X obj 68 73 separator; +#X obj 68 129 scaleXYZ 1.25 0 1.25; +#X obj 229 254 outlet; +#X obj 283 21 inlet; +#X obj 283 46 t a a; +#X obj 68 184 alpha 0; +#X obj 68 155 colorRGB 0.01 0.01 0.01 1; +#X obj 68 100 translateXYZ 0.5 -6 0.5; +#X obj 313 69 separator; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X connect 4 1 8 0; +#X connect 5 0 2 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X connect 8 0 2 0; diff --git a/sx/sigplane.pd b/sx/sigplane.pd new file mode 100644 index 0000000..8006a5e --- /dev/null +++ b/sx/sigplane.pd @@ -0,0 +1,22 @@ +#N canvas 380 148 383 404 10; +#X obj 74 303 pix_texture; +#X obj 138 172 +~; +#X obj 74 234 pix_sig2pix~ 64 64; +#X msg 90 279 quality 0; +#X obj 149 48 block~ 4096; +#X obj 74 106 inlet; +#X obj 137 106 inlet~; +#X obj 155 142 inlet~; +#X obj 90 257 loadbang; +#X obj 74 336 outlet; +#X connect 0 0 9 0; +#X connect 1 0 2 2; +#X connect 1 0 2 1; +#X connect 1 0 2 0; +#X connect 1 0 2 3; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 5 0 2 0; +#X connect 6 0 1 0; +#X connect 7 0 1 1; +#X connect 8 0 3 0; diff --git a/sx/unit.pd b/sx/unit.pd new file mode 100644 index 0000000..0f971b5 --- /dev/null +++ b/sx/unit.pd @@ -0,0 +1,28 @@ +#N canvas 167 33 599 530 10; +#X obj 10 8 inlet; +#X text 57 7 Takes a vector and calculates the unit; +#X obj 10 311 outlet; +#X obj 167 94 unpack f f f; +#X obj 167 160 expr sqrt(($f1 * $f1) + ($f2 * $f2) + ($f3 * $f3)); +#X obj 10 34 t l l; +#X obj 10 187 unpack f f f; +#X obj 10 246 /; +#X obj 49 246 /; +#X obj 89 246 /; +#X obj 10 287 pack f f f; +#X connect 0 0 5 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 3 2 4 2; +#X connect 4 0 7 1; +#X connect 4 0 8 1; +#X connect 4 0 9 1; +#X connect 5 0 6 0; +#X connect 5 1 3 0; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 6 2 9 0; +#X connect 7 0 10 0; +#X connect 8 0 10 1; +#X connect 9 0 10 2; +#X connect 10 0 2 0; diff --git a/sx/vibber-help.pd b/sx/vibber-help.pd new file mode 100644 index 0000000..96140a7 --- /dev/null +++ b/sx/vibber-help.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 450 300 10; +#X obj 6 8 sx/gemwin; +#X obj 101 9 gemhead 99; +#X obj 101 32 sx/props; +#X obj 101 141 sx/vibber; +#X connect 1 0 2 0; +#X connect 2 0 3 0; diff --git a/sx/vibber.pd b/sx/vibber.pd new file mode 100644 index 0000000..f3303a6 --- /dev/null +++ b/sx/vibber.pd @@ -0,0 +1,101 @@ +#N canvas 15 10 755 647 10; +#X msg 23 318 draw line; +#X obj 23 294 loadbang; +#X obj 212 137 alpha; +#X msg 201 103 1; +#X obj 138 55 inlet; +#X obj 138 79 t a a; +#X obj 114 122 separator; +#X obj 211 548 rotateXYZ; +#X obj 328 262 random 10; +#X obj 329 283 expr $f1 / 10 - 0.5; +#X obj 286 307 random 10; +#X obj 257 352 random 10; +#X obj 110 147 repeat 3; +#X obj 110 168 t a a b; +#X obj 59 270 scaleXYZ; +#X obj 5 20 nbx 2 14 0 10 0 0 \$0/wobble \$1/wobble wobble 30 8 0 8 +-233017 -128992 -1 2 256; +#X obj 5 40 nbx 2 14 0 10 0 1 \$0/spring \$1/spring spring 30 8 0 8 +-233017 -128992 -1 1.06457 256; +#X obj 86 234 r \$0/spring; +#X obj 324 414 r \$0/wobble; +#X obj 285 328 expr $f1 / 10 - 0.5; +#X obj 256 373 expr $f1 / 10 - 0.5; +#X obj 233 458 *; +#X obj 255 490 *; +#X obj 287 469 *; +#X obj 398 452 r \$0/wobble; +#X obj 332 486 sssad/sssad \$1/wobble; +#X obj 393 545 r \$0/spring; +#X obj 327 579 sssad/sssad \$1/spring; +#X obj 563 240 cube; +#X obj 563 262 scaleXYZ 0.5 0.5 0.5; +#X obj 563 305 cube; +#X obj 563 347 cube; +#X obj 563 394 scaleXYZ 2 2 2; +#X obj 563 283 translateXYZ 3 0 0; +#X obj 563 326 translateXYZ -6 0 0; +#X obj 563 372 translateXYZ 3 0 0; +#X obj 95 335 cube; +#X obj 95 357 scaleXYZ 0.5 0.5 0.5; +#X obj 95 400 cube; +#X obj 95 442 cube; +#X obj 95 489 scaleXYZ 2 2 2; +#X obj 95 378 translateXYZ 3 0 0; +#X obj 95 421 translateXYZ -6 0 0; +#X obj 95 467 translateXYZ 3 0 0; +#X obj 367 516 s \$1/wobble; +#X obj 362 609 s \$1/spring; +#X connect 0 0 36 0; +#X connect 0 0 38 0; +#X connect 0 0 39 0; +#X connect 1 0 0 0; +#X connect 2 0 28 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 5 1 3 0; +#X connect 5 1 6 0; +#X connect 6 0 12 0; +#X connect 8 0 9 0; +#X connect 9 0 23 0; +#X connect 10 0 19 0; +#X connect 11 0 20 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 13 1 36 0; +#X connect 13 2 8 0; +#X connect 13 2 10 0; +#X connect 13 2 11 0; +#X connect 17 0 14 1; +#X connect 17 0 14 2; +#X connect 17 0 14 3; +#X connect 18 0 21 1; +#X connect 18 0 23 1; +#X connect 18 0 22 1; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 7 1; +#X connect 22 0 7 2; +#X connect 23 0 7 3; +#X connect 24 0 25 1; +#X connect 25 0 44 0; +#X connect 26 0 27 1; +#X connect 27 0 45 0; +#X connect 28 0 29 0; +#X connect 29 0 33 0; +#X connect 30 0 34 0; +#X connect 31 0 35 0; +#X connect 33 0 30 0; +#X connect 34 0 31 0; +#X connect 35 0 32 0; +#X connect 36 0 37 0; +#X connect 37 0 41 0; +#X connect 38 0 42 0; +#X connect 39 0 43 0; +#X connect 40 0 7 0; +#X connect 41 0 38 0; +#X connect 42 0 39 0; +#X connect 43 0 40 0; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/sx/voibu.pd b/sx/voibu.pd new file mode 100644 index 0000000..b8c1e9c --- /dev/null +++ b/sx/voibu.pd @@ -0,0 +1,86 @@ +#N canvas 475 4 528 494 10; +#X obj 6 30 nbx 4 14 -2 50 0 1 \$0/stretch \$1/stretch stretch 0 -6 +0 8 -233017 -128992 -1 1 256; +#X obj 7 59 nbx 4 14 -360 360 0 0 \$0/twist \$1/twist twist 0 -6 0 +8 -233017 -128992 -1 0 256; +#X obj 155 7 inlet; +#X obj 329 149 separator; +#X obj 329 240 repeat 7; +#X obj 329 270 translateXYZ 0 1 0; +#X obj 329 196 translateXYZ 0 -3.5 0; +#X obj 423 175 * -3.5; +#X obj 155 31 t a a; +#X obj 155 159 separator; +#X obj 155 280 translateXYZ 0 1 0; +#X obj 155 232 translateXYZ 0 -3.5 0; +#X obj 330 107 colorRGB 0.7 0.7 0.7; +#X obj 155 134 colorRGB 1 0.3 0.3; +#X obj 250 206 * -2.5; +#X obj 155 256 repeat 6; +#X obj 155 180 translateXYZ 0 -0.5 0; +#X obj 245 156 / -2; +#X obj 55 30 nbx 4 14 0 2 0 0 \$0/flavour \$1/flavour flavour 0 -6 +0 8 -233017 -128992 -1 0 256; +#X obj 155 301 rotateXYZ; +#X obj 329 294 rotateXYZ; +#X obj 407 128 r \$0/stretch; +#X obj 402 226 r \$0/twist; +#X obj 440 247 r \$0/warp; +#X obj 55 59 nbx 4 14 -360 360 0 0 \$0/warp \$1/warp warp 0 -6 0 8 +-233017 -128992 -1 0 256; +#X obj 191 106 unpack f f f; +#X msg 258 64 0.3 0.3 1; +#X obj 238 21 r \$0/flavour; +#X obj 238 44 select 0 1 2; +#X msg 285 84 1 0.6 0.2; +#X floatatom 257 299 5 0 0 0 - - -; +#X obj 156 323 sx/ring 5 0.1 1; +#X obj 330 314 sx/ring 5 0.1 1; +#X msg 192 85 1 0.25 0.25; +#X obj 7 371 sssad/auto \$0/stretch \$1/stretch; +#X obj 7 394 sssad/auto \$0/flavour \$1/flavour; +#X obj 7 417 sssad/auto \$0/warp \$1/warp; +#X obj 7 440 sssad/auto \$0/twist \$1/twist; +#X connect 2 0 8 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 20 0; +#X connect 6 0 4 0; +#X connect 7 0 6 2; +#X connect 8 0 13 0; +#X connect 8 1 12 0; +#X connect 9 0 16 0; +#X connect 10 0 19 0; +#X connect 11 0 15 0; +#X connect 12 0 3 0; +#X connect 13 0 9 0; +#X connect 14 0 11 2; +#X connect 15 0 10 0; +#X connect 16 0 11 0; +#X connect 17 0 16 2; +#X connect 19 0 31 0; +#X connect 20 0 32 0; +#X connect 21 0 17 0; +#X connect 21 0 7 0; +#X connect 21 0 14 0; +#X connect 21 0 10 2; +#X connect 21 0 5 2; +#X connect 22 0 20 2; +#X connect 22 0 19 2; +#X connect 23 0 20 3; +#X connect 23 0 20 1; +#X connect 23 0 19 3; +#X connect 23 0 19 1; +#X connect 25 0 13 1; +#X connect 25 1 13 2; +#X connect 25 2 13 3; +#X connect 26 0 25 0; +#X connect 27 0 28 0; +#X connect 28 0 33 0; +#X connect 28 1 26 0; +#X connect 28 2 29 0; +#X connect 29 0 25 0; +#X connect 30 0 31 3; +#X connect 30 0 32 3; +#X connect 33 0 25 0; +#X coords 0 -1 1 1 100 78 1 0 0; diff --git a/sx/wander.pd b/sx/wander.pd new file mode 100644 index 0000000..ccf0537 --- /dev/null +++ b/sx/wander.pd @@ -0,0 +1,205 @@ +#N canvas 0 9 628 655 10; +#X obj 132 614 outlet; +#X obj 194 546 loadbang; +#X obj 136 146 t b b b; +#X obj 52 61 tgl 14 0 \$0/onoff \$1/onoff onoff 0 -6 0 8 -233017 -128992 +-1 0 1; +#X obj 6 61 nbx 4 14 0 127 0 0 \$0/speed \$1/speed speed 0 -6 0 8 -233017 +-128992 -1 0 256; +#X obj 126 80 r \$0/onoff; +#X obj 201 80 r \$0/speed; +#X obj 136 124 metro 3000; +#X floatatom 137 271 5 0 0 0 - - -; +#X floatatom 277 274 5 0 0 0 - - -; +#X floatatom 402 265 5 0 0 0 - - -; +#X obj 331 366 +; +#X obj 273 318 t b f; +#X obj 270 366 f; +#X floatatom 267 397 5 0 0 0 - - -; +#X obj 413 314 t b f; +#X obj 207 352 +; +#X obj 137 317 t b f; +#X obj 135 346 f; +#X floatatom 133 369 5 0 0 0 - - -; +#X obj 500 283 unpack f f f; +#X msg 500 260 2 2 5; +#X obj 464 380 +; +#X obj 411 379 f; +#X floatatom 411 404 5 0 0 0 - - -; +#N canvas 0 0 450 300 pickrandom 0; +#X obj 97 150 +; +#X obj 40 51 t b b; +#X obj 130 78 random 3; +#X obj 145 99 - 1; +#X obj 159 121 * 0.01; +#X obj 27 148 f; +#X obj 54 123 clip -0.1 0.1; +#X obj 39 19 inlet; +#X obj 30 187 outlet; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 0 1; +#X connect 5 0 6 0; +#X connect 5 0 8 0; +#X connect 6 0 0 0; +#X connect 7 0 1 0; +#X restore 444 234 pd pickrandom; +#N canvas 0 0 450 300 pickrandom 0; +#X obj 97 150 +; +#X obj 40 51 t b b; +#X obj 130 78 random 3; +#X obj 145 99 - 1; +#X obj 159 121 * 0.01; +#X obj 27 148 f; +#X obj 54 123 clip -0.1 0.1; +#X obj 39 19 inlet; +#X obj 30 187 outlet; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 0 1; +#X connect 5 0 6 0; +#X connect 5 0 8 0; +#X connect 6 0 0 0; +#X connect 7 0 1 0; +#X restore 278 241 pd pickrandom; +#N canvas 0 0 450 300 pickrandom 0; +#X obj 97 150 +; +#X obj 40 51 t b b; +#X obj 130 78 random 3; +#X obj 145 99 - 1; +#X obj 159 121 * 0.01; +#X obj 27 148 f; +#X obj 54 123 clip -0.1 0.1; +#X obj 39 19 inlet; +#X obj 30 187 outlet; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 0 1; +#X connect 5 0 6 0; +#X connect 5 0 8 0; +#X connect 6 0 0 0; +#X connect 7 0 1 0; +#X restore 133 241 pd pickrandom; +#X obj 322 342 clip -2 2; +#X obj 466 348 clip -2 2; +#X obj 188 324 clip -2 2; +#X obj 201 102 mtof; +#X obj 363 31 r \$1/target; +#X obj 362 58 unpack f f f; +#X obj 260 418 +; +#X obj 407 425 +; +#X obj 135 410 +; +#X obj 134 502 pack f f f f f f; +#X msg 132 525 view \$1 \$2 \$3 \$4 \$5 \$6 0 1 0; +#X obj 460 34 sssad/sssad \$1/speed; +#X obj 460 56 s \$1/speed; +#X obj 530 11 r \$0/speed; +#X msg 348 524 view 10 0 0 0 0 0 0 1 0; +#X obj 133 468 line; +#X obj 133 446 pack f f; +#X obj 207 472 line; +#X obj 207 450 pack f f; +#X obj 290 476 line; +#X obj 290 454 pack f f; +#X obj 6 33 nbx 4 14 0 127 0 1 \$0/distance \$1/distance distance 0 +-6 0 8 -233017 -128992 -1 3 256; +#X obj 229 39 * -1; +#X obj 272 1 r \$0/distance; +#X obj 488 88 inlet; +#X obj 488 109 list; +#X msg 488 131 \; \$1 \$2 \$3 \$4 \$5 \;; +#X msg 194 570 perspec -1 1 -1 1 1 100; +#X obj 10 379 r \$1/position; +#X obj 10 400 unpack f f f; +#X msg 365 91 bang; +#X obj 412 5 r \$1/floor; +#X connect 1 0 55 0; +#X connect 2 0 27 0; +#X connect 2 1 26 0; +#X connect 2 2 25 0; +#X connect 5 0 7 0; +#X connect 6 0 31 0; +#X connect 7 0 2 0; +#X connect 8 0 17 0; +#X connect 9 0 12 0; +#X connect 10 0 15 0; +#X connect 11 0 13 1; +#X connect 12 0 13 0; +#X connect 12 1 11 1; +#X connect 13 0 14 0; +#X connect 13 0 28 0; +#X connect 14 0 34 0; +#X connect 15 0 23 0; +#X connect 15 1 22 1; +#X connect 16 0 18 1; +#X connect 17 0 18 0; +#X connect 17 1 16 1; +#X connect 18 0 19 0; +#X connect 18 0 30 0; +#X connect 19 0 36 0; +#X connect 20 0 18 1; +#X connect 20 1 13 1; +#X connect 20 2 23 1; +#X connect 21 0 20 0; +#X connect 22 0 23 1; +#X connect 23 0 24 0; +#X connect 23 0 29 0; +#X connect 24 0 35 0; +#X connect 25 0 10 0; +#X connect 26 0 9 0; +#X connect 27 0 8 0; +#X connect 28 0 11 0; +#X connect 29 0 22 0; +#X connect 30 0 16 0; +#X connect 31 0 7 1; +#X connect 31 0 48 1; +#X connect 31 0 46 1; +#X connect 31 0 44 1; +#X connect 32 0 33 0; +#X connect 33 0 36 1; +#X connect 33 0 37 3; +#X connect 33 0 58 0; +#X connect 33 1 34 1; +#X connect 33 1 37 4; +#X connect 33 2 35 1; +#X connect 33 2 37 5; +#X connect 34 0 46 0; +#X connect 35 0 48 0; +#X connect 36 0 44 0; +#X connect 37 0 38 0; +#X connect 38 0 0 0; +#X connect 39 0 40 0; +#X connect 41 0 39 1; +#X connect 42 0 0 0; +#X connect 43 0 37 0; +#X connect 44 0 43 0; +#X connect 45 0 37 1; +#X connect 46 0 45 0; +#X connect 47 0 37 2; +#X connect 48 0 47 0; +#X connect 50 0 30 1; +#X connect 50 0 28 1; +#X connect 50 0 29 1; +#X connect 51 0 50 0; +#X connect 51 0 30 2; +#X connect 51 0 28 2; +#X connect 51 0 29 2; +#X connect 52 0 53 0; +#X connect 53 0 54 0; +#X connect 55 0 0 0; +#X connect 56 0 57 0; +#X connect 57 0 37 0; +#X connect 57 1 37 1; +#X connect 57 2 37 2; +#X connect 58 0 37 0; +#X connect 59 0 28 1; +#X coords 0 -1 1 1 85 80 1 0 0; diff --git a/sx/wobtower.pd b/sx/wobtower.pd new file mode 100644 index 0000000..d1c62c2 --- /dev/null +++ b/sx/wobtower.pd @@ -0,0 +1,108 @@ +#N canvas 138 22 755 647 10; +#X obj 134 15 inlet; +#X obj 134 39 t a a; +#X obj 134 85 separator; +#X obj 5 20 nbx 3 14 0 10 0 1 \$0/thicken \$1/thicken thicken 36 8 +0 8 -233017 -128992 -1 0 256; +#X obj 5 40 nbx 2 14 0 99 0 1 \$0/throb \$1/throb throb 30 8 0 8 -233017 +-128992 -1 0 256; +#X obj 166 279 repeat 3; +#X obj 134 62 scaleXYZ 0.2 0.2 0.2; +#X obj 166 304 t a b; +#X obj 373 354 random 10; +#X obj 447 354 random 10; +#X obj 520 354 random 10; +#X obj 366 406 -; +#X obj 382 379 / 2; +#X obj 295 145 separator; +#X obj 166 346 translateXYZ 0 2 0; +#X obj 445 405 -; +#X obj 461 378 / 2; +#X obj 521 407 -; +#X obj 537 380 / 2; +#X obj 134 108 t a a a; +#X obj 166 256 separator; +#X obj 137 450 separator; +#X obj 166 370 rotateXYZ 0 0 5; +#X obj 137 521 rotateXYZ 0 0 -5; +#X obj 485 443 expr -$f1; +#X obj 137 579 translateXYZ 0 -3 0; +#X obj 137 557 cuboid 0.1 -2 0.1; +#X obj 164 422 cuboid 0.1 2 0.1; +#X obj 137 500 repeat 3; +#X obj 137 473 translateXYZ 0 -3 0; +#X obj 424 272 r \$0/throb; +#X obj 423 302 t f f; +#X obj 222 395 r \$0/thicken; +#X obj 259 524 r \$0/thicken; +#X text 317 115 heads; +#X text 204 194 bits; +#X obj 391 445 expr -$f1; +#X obj 314 442 expr -$f1; +#X obj 295 169 translateXYZ 0 -10 0; +#X obj 296 219 translateXYZ 0 19 0; +#X obj 654 -2 r \$0/thicken; +#X obj 588 32 sssad/sssad \$1/thicken; +#X obj 623 62 s \$0/thicken; +#X obj 664 119 r \$0/throb; +#X obj 598 153 sssad/sssad \$1/throb; +#X obj 633 183 s \$0/throb; +#X obj 295 195 cube 1.25; +#X obj 295 245 cube 1.25; +#X obj 137 601 outlet; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 2 0 19 0; +#X connect 5 0 7 0; +#X connect 6 0 2 0; +#X connect 7 0 14 0; +#X connect 7 1 8 0; +#X connect 7 1 9 0; +#X connect 7 1 10 0; +#X connect 8 0 11 0; +#X connect 9 0 15 0; +#X connect 10 0 17 0; +#X connect 11 0 37 0; +#X connect 11 0 22 1; +#X connect 12 0 11 1; +#X connect 13 0 38 0; +#X connect 14 0 22 0; +#X connect 15 0 36 0; +#X connect 15 0 22 2; +#X connect 16 0 15 1; +#X connect 17 0 22 3; +#X connect 17 0 24 0; +#X connect 18 0 17 1; +#X connect 19 1 20 0; +#X connect 19 2 13 0; +#X connect 20 0 5 0; +#X connect 21 0 29 0; +#X connect 22 0 27 0; +#X connect 23 0 26 0; +#X connect 24 0 23 3; +#X connect 25 0 48 0; +#X connect 26 0 25 0; +#X connect 27 0 21 0; +#X connect 28 0 23 0; +#X connect 29 0 28 0; +#X connect 30 0 31 0; +#X connect 31 0 8 1; +#X connect 31 0 9 1; +#X connect 31 0 10 1; +#X connect 31 1 18 0; +#X connect 31 1 16 0; +#X connect 31 1 12 0; +#X connect 32 0 27 3; +#X connect 32 0 27 1; +#X connect 33 0 26 3; +#X connect 33 0 26 1; +#X connect 36 0 23 2; +#X connect 37 0 23 1; +#X connect 38 0 46 0; +#X connect 39 0 47 0; +#X connect 40 0 41 1; +#X connect 41 0 42 0; +#X connect 43 0 44 1; +#X connect 44 0 45 0; +#X connect 46 0 39 0; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/uninstall b/uninstall new file mode 100755 index 0000000..223b546 --- /dev/null +++ b/uninstall @@ -0,0 +1,7 @@ +#!/bin/bash + +echo "Uninstalling path and abstraction entry from your .pdrc file. A backup is at .pdrc.bak" +cp ~/.pdrc ~/.pdrc.bak +grep -v "`pwd`" ~/.pdrc >> ~/.pdrc-tmp +mv ~/.pdrc-tmp ~/.pdrc + diff --git a/utils/net_triangle.py b/utils/net_triangle.py new file mode 100644 index 0000000..884f9ef --- /dev/null +++ b/utils/net_triangle.py @@ -0,0 +1,115 @@ +#!BPY + +""" +Name: 'Raw Triangle Across The Net Via UDP...' +Blender: 232 +Group: 'Export' +Tooltip: 'Export selected mesh via UDP packets in Raw Triangle Format' +""" + +__author__ = "Chris McCormick" +__url__ = ("blender", "mccormick", +"Author's homepage, http://mccormick.cx/") +__version__ = "0.1" + +__bpydoc__ = """\ +This script exports meshes to Raw Triangle file format across the network via UDP. +It's used to send mesh data into puredata for GEM. + +This is a modified version of the Raw Triangle exporter by Anthony D'Agostino and is mostly his work. +Any mistakes are my own. + +The raw triangle format is very simple; it has no verts or faces lists. +It's just a simple ascii text file with the vertices of each triangle +listed on each line. There were some very old utilities (when the PovRay +forum was in existence on CompuServe) that preformed operations on these +files. + +Usage:
+ Select meshes to be exported and run this script from "File->Export" menu. +""" + +# $Id: net_triangle.py,v 1.1.1.1 2007-07-10 07:44:47 chr15m Exp $ +# +# +--------------------------------------------------------------+ +# | Copyright (c) 2002 Anthony D'Agostino, 2006 Chris McCormick | +# | http://mccormick.cx/ | +# | chris@mccormick.cx | +# | April 28, 2002 | +# | Send RAW Triangle File Format via UDP | +# +--------------------------------------------------------------+ + +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# ***** END GPL LICENCE BLOCK ***** + +import Blender, meshtools +import sys, socket +#import time + +# ============================================================== +# === Write RAW Triangle Format to a UDP socket at localhost === +# ============================================================== + +# open socket with the file descriptor "file" +s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +s.connect(("localhost", 3142)) + +objects = Blender.Object.GetSelected() +objname = objects[0].name +meshname = objects[0].data.name +mesh = Blender.NMesh.GetRaw(meshname) +obj = Blender.Object.Get(objname) + +# first send the clear command to get rid of existing mesh data for this object +s.send(objname + " clear;\n") + +# this is our buffer for sending triangle data +data = "" + +for face in mesh.faces: + # send four faces at a time until we're done + if not (mesh.faces.index(face) % 4): + # finish off the last one, if this isn't the first one + if mesh.faces.index(face): + data += ";\n" + s.send(data) + # start a new buffer + data = objname + " " + + if len(face.v) == 3: # triangle + v1, v2, v3 = face.v + faceverts = tuple(v1.co) + tuple(v2.co) + tuple(v3.co) + data += "%f %f %f %f %f %f %f %f %f " % faceverts + else: # quadrilateral + v1, v2, v3, v4 = face.v + faceverts1 = tuple(v1.co) + tuple(v2.co) + tuple(v3.co) + faceverts2 = tuple(v3.co) + tuple(v4.co) + tuple(v1.co) + data += "%.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f " % faceverts1 + data += "%.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f " % faceverts2 + +# finish off the very last one +data += ";\n" +s.send(data) + +Blender.Window.DrawProgressBar(1.0, '') # clear progressbar + +s.close() + +message = "Successfully sent " + objname +meshtools.print_boxed(message) + diff --git a/vead~.pd b/vead~.pd new file mode 100644 index 0000000..ff65980 --- /dev/null +++ b/vead~.pd @@ -0,0 +1,48 @@ +#N canvas 0 0 810 546 10; +#X obj 281 314 vline~; +#X obj 158 65 max 0.1; +#X obj 258 65 max 0.1; +#X text 156 22 attack (ms); +#X text 256 22 decay (ms); +#X text 86 22 trigger; +#X obj 87 45 inlet; +#X obj 158 45 inlet; +#X obj 258 45 inlet; +#X obj 144 467 outlet~; +#X obj 87 65 b; +#X obj 87 308 vline~; +#X obj 87 215 pack 3 4; +#X text 129 283 attack; +#X text 317 285 decay; +#X msg 87 261 1 \, 0 \$1 0 \, 1 0 \$1; +#X msg 281 261 0 \, 1 0 \$1 \, 0 \$2 \$1; +#X obj 87 195 f 3; +#X obj 251 127 f \$1; +#X obj 251 102 loadbang; +#X obj 251 153 select 0; +#X obj 325 101 loadbang; +#X obj 325 152 select 0; +#X obj 325 126 f \$2; +#X obj 281 361 expr~ pow($v1 \, 6); +#X obj 88 359 expr~ 1 - pow($v1 \, 6); +#X connect 0 0 24 0; +#X connect 1 0 17 1; +#X connect 2 0 12 1; +#X connect 6 0 10 0; +#X connect 7 0 1 0; +#X connect 8 0 2 0; +#X connect 10 0 17 0; +#X connect 11 0 25 0; +#X connect 12 0 16 0; +#X connect 12 0 15 0; +#X connect 15 0 11 0; +#X connect 16 0 0 0; +#X connect 17 0 12 0; +#X connect 18 0 20 0; +#X connect 19 0 18 0; +#X connect 20 1 17 1; +#X connect 21 0 23 0; +#X connect 22 1 12 1; +#X connect 23 0 22 0; +#X connect 24 0 9 0; +#X connect 25 0 9 0; -- cgit v1.2.1