From 3980b38b7d9efb6f1d322ef0785feaed1f06a806 Mon Sep 17 00:00:00 2001 From: "N.N." Date: Sat, 17 Nov 2007 13:58:45 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r9017, which included commits to RCS files with non-trunk default branches. svn path=/trunk/abstractions/s-abstractions/; revision=9018 --- .cvsignore | 1 + s-alindx~-help.pd | 99 +++++++++++++++++++++++++++++++++ s-alindx~.pd | 49 +++++++++++++++++ s-blockout-help.pd | 13 +++++ s-blockout.pd | 24 ++++++++ s-chordarp-help.pd | 19 +++++++ s-chordarp.pd | 120 ++++++++++++++++++++++++++++++++++++++++ s-controlsurface-help.pd | 17 ++++++ s-ireplace-help.pd | 16 ++++++ s-ireplace.pd | 36 ++++++++++++ s-lsystem-help.pd | 23 ++++++++ s-lsystem.pd | 79 +++++++++++++++++++++++++++ s-midictlbuddy-help.pd | 6 ++ s-midictlbuddy.pd | 57 +++++++++++++++++++ s-midirange-help.pd | 9 +++ s-midirange.pd | 12 ++++ s-partial~-help.pd | 29 ++++++++++ s-partial~.pd | 77 ++++++++++++++++++++++++++ s-recorder~-help.pd | 16 ++++++ s-serialize-help.pd | 13 +++++ s-serialize.pd | 18 ++++++ s-sinesum~-help.pd | 36 ++++++++++++ s-sinesum~.pd | 139 +++++++++++++++++++++++++++++++++++++++++++++++ sssad/multifile.pd | 81 +++++++++++++++++++++++++++ sssad/namedstore-help.pd | 30 ++++++++++ sssad/namedstore.pd | 71 ++++++++++++++++++++++++ sx/recorder.pd | 23 ++++++++ sx/repeater.pd | 44 +++++++++++++++ 28 files changed, 1157 insertions(+) create mode 100644 .cvsignore create mode 100644 s-alindx~-help.pd create mode 100644 s-alindx~.pd create mode 100644 s-blockout-help.pd create mode 100644 s-blockout.pd create mode 100644 s-chordarp-help.pd create mode 100644 s-chordarp.pd create mode 100644 s-controlsurface-help.pd create mode 100644 s-ireplace-help.pd create mode 100644 s-ireplace.pd create mode 100644 s-lsystem-help.pd create mode 100644 s-lsystem.pd create mode 100644 s-midictlbuddy-help.pd create mode 100644 s-midictlbuddy.pd create mode 100644 s-midirange-help.pd create mode 100644 s-midirange.pd create mode 100644 s-partial~-help.pd create mode 100644 s-partial~.pd create mode 100644 s-recorder~-help.pd create mode 100644 s-serialize-help.pd create mode 100644 s-serialize.pd create mode 100644 s-sinesum~-help.pd create mode 100644 s-sinesum~.pd create mode 100644 sssad/multifile.pd create mode 100644 sssad/namedstore-help.pd create mode 100644 sssad/namedstore.pd create mode 100644 sx/recorder.pd create mode 100644 sx/repeater.pd diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..90ec22b --- /dev/null +++ b/.cvsignore @@ -0,0 +1 @@ +.svn diff --git a/s-alindx~-help.pd b/s-alindx~-help.pd new file mode 100644 index 0000000..f67f7f3 --- /dev/null +++ b/s-alindx~-help.pd @@ -0,0 +1,99 @@ +#N canvas 278 181 496 371 10; +#X obj 164 109 osc~ 440; +#N canvas 0 0 450 300 graph1 0; +#X array alindx_in 300 float 1; +#A 0 1 0.998028 0.992138 0.982351 0.968707 0.951259 0.930075 0.905239 +0.876848 0.845013 0.80985 0.771503 0.730127 0.685885 0.638949 0.589504 +0.537744 0.483871 0.428098 0.37064 0.311724 0.251584 0.190457 0.128582 +0.0662019 0.00356192 -0.0590925 -0.121515 -0.183461 -0.244684 -0.304945 +-0.364009 -0.421643 -0.477621 -0.531723 -0.583738 -0.633461 -0.680696 +-0.725248 -0.766951 -0.805642 -0.841169 -0.873393 -0.902188 -0.927439 +-0.949049 -0.966932 -0.981005 -0.991223 -0.997548 -0.999956 -0.998438 +-0.992998 -0.983659 -0.970457 -0.953445 -0.932678 -0.908243 -0.880241 +-0.848784 -0.813993 -0.776006 -0.734972 -0.69105 -0.644415 -0.595245 +-0.543731 -0.490083 -0.434511 -0.377233 -0.318474 -0.258463 -0.197438 +-0.135636 -0.0733009 -0.0106769 0.0519882 0.114449 0.176459 0.237777 +0.298161 0.357374 0.415185 0.471366 0.525689 0.577946 0.627933 0.675454 +0.720323 0.762363 0.801409 0.837309 0.869921 0.899106 0.924757 0.946776 +0.965077 0.979588 0.990252 0.997028 0.999888 0.998823 0.993827 0.984921 +0.972147 0.955556 0.935212 0.911196 0.883602 0.852538 0.818125 0.780496 +0.739793 0.696185 0.649844 0.600951 0.549699 0.496287 0.440926 0.383833 +0.325232 0.265349 0.204424 0.142698 0.0804109 0.0178085 -0.044864 -0.107361 +-0.169436 -0.230847 -0.291348 -0.350704 -0.408682 -0.465055 -0.519602 +-0.572108 -0.622368 -0.670184 -0.715369 -0.757737 -0.797125 -0.833383 +-0.866367 -0.895949 -0.922013 -0.944457 -0.963191 -0.978144 -0.989249 +-0.99646 -0.999757 -0.999129 -0.994577 -0.986119 -0.973789 -0.957635 +-0.937721 -0.914121 -0.886919 -0.856234 -0.822188 -0.784912 -0.744555 +-0.701274 -0.655239 -0.60663 -0.555638 -0.502456 -0.447301 -0.39039 +-0.331946 -0.272199 -0.211383 -0.149737 -0.0875016 -0.0249223 0.0377554 +0.100284 0.162418 0.223914 0.284531 0.34403 0.402179 0.458748 0.513517 +0.566266 0.616785 0.664882 0.710368 0.753064 0.792803 0.829429 0.862798 +0.892779 0.91925 0.942101 0.961252 0.976627 0.988168 0.995828 0.999578 +0.999403 0.995303 0.987295 0.975394 0.959663 0.940164 0.916972 0.89018 +0.859893 0.826228 0.789319 0.749309 0.706348 0.66061 0.612279 0.561544 +0.508604 0.453667 0.396947 0.338669 0.27906 0.218352 0.156785 0.0946039 +0.0320514 -0.0306267 -0.0931846 -0.155377 -0.216959 -0.27769 -0.33733 +-0.395641 -0.452397 -0.507377 -0.560364 -0.611151 -0.659537 -0.705334 +-0.748362 -0.78845 -0.82543 -0.859169 -0.889533 -0.916404 -0.939676 +-0.959259 -0.975074 -0.987061 -0.995171 -0.999359 -0.999621 -0.995958 +-0.988383 -0.976928 -0.961635 -0.942567 -0.919797 -0.893415 -0.863514 +-0.830218 -0.793663 -0.75399 -0.711358 -0.665931 -0.61789 -0.567422 +-0.514725 -0.460002 -0.40347 -0.345353 -0.285881 -0.225286 -0.163807 +-0.101685 -0.0391622 0.0235146 0.0860995 0.148345 0.210007 0.270845 +0.330618 0.389093 0.44604 0.501235 0.554463 0.605515 0.654178 0.700272 +0.743616 0.78404 0.821384 0.855503 0.886263 0.913542 0.937235 0.957235 +0.973473 0.985887 0.99443; +#X coords 0 1.2 299 -1.2 150 100 1; +#X restore 26 239 graph; +#N canvas 0 0 450 300 graph2 0; +#X array alindx_out 300 float 1; +#A 0 1 1 1 1 1 1 1 1 0.999999 0.999999 0.999998 0.999996 0.999992 0.999983 +0.999964 0.99992 0.999817 0.999566 0.99894 0.997342 0.993178 0.982143 +0.952513 0.872203 0.653278 0.0553972 -0.611507 -0.856905 -0.94689 -0.980059 +-0.992396 -0.997045 -0.998825 -0.99952 -0.999798 -0.999912 -0.999961 +-0.999982 -0.999991 -0.999995 -0.999998 -0.999999 -0.999999 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999999 -0.999999 -0.999998 -0.999996 +-0.999992 -0.999984 -0.999967 -0.999927 -0.999833 -0.999607 -0.999044 +-0.997608 -0.993876 -0.984004 -0.957532 -0.885843 -0.690505 -0.157036 +0.56474 0.839775 0.940593 0.977728 0.991525 0.996714 0.998697 0.99947 +0.999778 0.999904 0.999957 0.99998 0.99999 0.999995 0.999997 0.999999 +0.999999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.999999 0.999999 0.999998 0.999996 +0.999993 0.999986 0.99997 0.999933 0.999849 0.999644 0.999137 0.997848 +0.994504 0.985673 0.962024 0.898039 0.723785 0.247937 -0.512188 -0.820534 +-0.933528 -0.975117 -0.990548 -0.996344 -0.998554 -0.999413 -0.999755 +-0.999894 -0.999953 -0.999978 -0.999989 -0.999995 -0.999997 -0.999998 +-0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999999 -0.999999 +-0.999998 -0.999997 -0.999993 -0.999987 -0.999972 -0.999939 -0.999862 +-0.999678 -0.999221 -0.998062 -0.995064 -0.98716 -0.966025 -0.908899 +-0.75341 -0.328846 0.453427 0.799019 0.925629 0.972198 0.989459 0.995932 +0.998396 0.999351 0.99973 0.999884 0.999948 0.999976 0.999989 0.999994 +0.999997 0.999998 0.999999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.999999 0.999999 +0.999998 0.999997 0.999994 0.999988 0.999974 0.999944 0.999875 0.999708 +0.999296 0.998255 0.995567 0.988495 0.96961 0.918615 0.779898 0.401197 +-0.38739 -0.774842 -0.91676 -0.968925 -0.98824 -0.995471 -0.998219 +-0.999282 -0.999702 -0.999872 -0.999943 -0.999974 -0.999987 -0.999994 +-0.999997 -0.999998 -0.999999 -0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -0.999999 -0.999998 -0.999997 -0.999994 -0.999989 +-0.999977 -0.999949 -0.999886 -0.999735 -0.999364 -0.998428 -0.996017 +-0.989684 -0.972801 -0.927264 -0.803473 -0.465592 0.313558 0.747815 +0.906848 0.965269 0.986879 0.994958 0.998022 0.999205 0.999671 0.99986 +0.999938 0.999972 0.999987 0.999993 0.999997 0.999998 0.999999 0.999999 +1 1 1 1 1 1; +#X coords 0 1.2 299 -1.2 150 100 1; +#X restore 206 239 graph; +#X obj 26 201 tabwrite~ alindx_in; +#X obj 166 201 tabwrite~ alindx_out; +#X obj 130 63 metro 500; +#X obj 215 88 f 1; +#X obj 165 135 s-alindx~; +#X text 85 3 This is an s-abstraction based completely on the work +of Tristan Chambers http://mbass.sf.net/pd-resources; +#X obj 130 38 loadbang; +#X connect 0 0 3 0; +#X connect 0 0 7 0; +#X connect 5 0 3 0; +#X connect 5 0 4 0; +#X connect 5 0 6 0; +#X connect 6 0 0 1; +#X connect 7 0 4 0; +#X connect 9 0 5 0; diff --git a/s-alindx~.pd b/s-alindx~.pd new file mode 100644 index 0000000..795f924 --- /dev/null +++ b/s-alindx~.pd @@ -0,0 +1,49 @@ +#N canvas 424 167 621 529 10; +#X obj 124 224 *~; +#X obj 124 174 clip~ 0 1; +#X obj 40 174 clip~ -1 0; +#X obj 40 199 *~ -1; +#X obj 40 223 *~; +#X obj 40 334 -~ 1; +#X obj 124 269 *~ -1; +#X obj 124 366 +~ 1; +#X obj 124 246 expr~ exp(-($v1*1000)/100); +#X obj 40 308 expr~ exp(-($v1*1000)/100); +#X obj 124 401 /~; +#X obj 112 149 inlet~; +#X obj 124 463 outlet~; +#X obj 185 349 expr~ 1 - exp(-($v1*1000)/100); +#X obj 277 191 vline~; +#X text 210 48 This is an s-abstraction based completely on the work +of Tristan Chambers http://mbass.sf.net/pd-resources; +#X text 211 79 Any mistakes are mine \, not his!; +#X obj 10 38 hsl 64 16 0 127 0 0 \$0/crank \$1/crank crank -2 -6 0 +8 -260818 -1 -1 100 1; +#X text 210 26 Args: [name]; +#X obj 277 108 r \$0/crank; +#X obj 277 127 + 1; +#X obj 277 146 / 80; +#X obj 277 168 pack f 10; +#X obj 401 493 sssad/auto \$0/crank \$1/crank; +#X connect 0 0 8 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 9 0; +#X connect 5 0 7 0; +#X connect 6 0 7 0; +#X connect 7 0 10 0; +#X connect 8 0 6 0; +#X connect 9 0 5 0; +#X connect 10 0 12 0; +#X connect 11 0 2 0; +#X connect 11 0 1 0; +#X connect 13 0 10 1; +#X connect 14 0 0 1; +#X connect 14 0 4 1; +#X connect 14 0 13 0; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 14 0; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/s-blockout-help.pd b/s-blockout-help.pd new file mode 100644 index 0000000..f8d7271 --- /dev/null +++ b/s-blockout-help.pd @@ -0,0 +1,13 @@ +#N canvas 132 173 450 300 10; +#X obj 310 73 s-metro time; +#X text 12 10 This abstraction 'blocks out' the outlet (sends a zero) +for the period of one tick length (or however many specified) when +the inlet changes. Useful if you want a midi knob to shut down something +else while it's operating.; +#X floatatom 37 87 5 0 127 0 - - -; +#X floatatom 37 140 5 0 0 0 - - -; +#X obj 130 86 r time/ticksize; +#X obj 37 114 s-blockout 100; +#X connect 2 0 5 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; diff --git a/s-blockout.pd b/s-blockout.pd new file mode 100644 index 0000000..b7d107e --- /dev/null +++ b/s-blockout.pd @@ -0,0 +1,24 @@ +#N canvas 0 0 450 300 10; +#X obj 24 28 inlet; +#X obj 24 51 change; +#X obj 54 98 delay; +#X obj 24 73 t b b; +#X msg 24 98 0; +#X obj 24 146 outlet; +#X msg 54 125 1; +#X obj 96 98 loadbang; +#X obj 84 28 inlet; +#X text 23 4 args: time; +#X obj 84 77 \$1; +#X obj 126 28 loadbang; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 3 1 2 0; +#X connect 4 0 5 0; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 8 0 10 0; +#X connect 10 0 2 1; +#X connect 11 0 10 0; diff --git a/s-chordarp-help.pd b/s-chordarp-help.pd new file mode 100644 index 0000000..b37bf97 --- /dev/null +++ b/s-chordarp-help.pd @@ -0,0 +1,19 @@ +#N canvas 16 292 450 300 10; +#X obj 75 22 s-midinote; +#X obj 75 112 unpack f f; +#X obj 75 160 osc~; +#X obj 75 185 *~; +#X obj 140 133 / 127; +#X obj 75 138 mtof~; +#X obj 75 211 s-ezdac~ midinoises; +#X obj 213 22 s-midictl 1 arp/speed; +#X obj 75 44 s-chordarp arp; +#X connect 0 0 8 0; +#X connect 1 0 5 0; +#X connect 1 1 4 0; +#X connect 2 0 3 0; +#X connect 3 0 6 0; +#X connect 3 0 6 1; +#X connect 4 0 3 1; +#X connect 5 0 2 0; +#X connect 8 0 1 0; diff --git a/s-chordarp.pd b/s-chordarp.pd new file mode 100644 index 0000000..c5b6c72 --- /dev/null +++ b/s-chordarp.pd @@ -0,0 +1,120 @@ +#N canvas 508 82 595 588 10; +#X obj 460 3 table \$0/notes 127; +#X obj 449 94 tabwrite \$0/notes; +#X obj 449 47 unpack f f; +#X obj 405 3 inlet; +#X obj 6 39 nbx 3 14 0 127 0 1 \$0/speed \$1/speed speed 0 -6 0 8 -260818 +-1 -1 80 256; +#X obj 319 547 outlet; +#X obj 289 238 f; +#X obj 320 238 + 1; +#X obj 449 420 mtof; +#X obj 449 442 s-ftoms; +#X obj 289 305 tabread \$0/notes; +#X msg 311 211 0; +#X obj 289 285 t f f; +#X obj 449 398 + 1; +#X obj 449 377 r \$0/speed; +#X obj 289 418 sel 0; +#X obj 319 526 pack f f; +#X obj 203 347 spigot; +#X obj 240 306 < 127; +#X msg 340 211 0; +#X obj 270 376 spigot; +#X obj 449 70 swap; +#X obj 289 71 unpack f f; +#X obj 289 189 t f b b; +#X obj 240 327 t f f; +#X obj 319 440 t f b b; +#X msg 376 440 1; +#X obj 270 348 sel 0; +#X msg 270 397 0; +#X obj 289 261 t f f; +#X obj 319 462 swap; +#X obj 391 485 t b b b; +#X msg 435 505 0; +#X obj 9 448 sssad/auto \$0/speed \$1/speed; +#X obj 391 464 delay 100; +#X obj 427 126 sel 0; +#X obj 289 95 swap; +#X obj 289 117 sel 0; +#X obj 289 167 f; +#X msg 319 137 bang; +#X obj 405 23 t l l l; +#X msg 471 147 1; +#X msg 427 146 -1; +#X obj 427 166 t b f; +#X obj 471 167 t b f; +#X obj 362 105 unpack f f; +#X obj 457 217 + 1; +#X obj 427 217 0; +#X obj 457 240 sel 0; +#X msg 457 261 0; +#X connect 2 0 21 0; +#X connect 2 1 21 1; +#X connect 3 0 40 0; +#X connect 6 0 7 0; +#X connect 6 0 29 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 34 1; +#X connect 10 0 15 0; +#X connect 11 0 6 1; +#X connect 12 0 10 0; +#X connect 12 1 30 1; +#X connect 13 0 8 0; +#X connect 14 0 13 0; +#X connect 15 0 17 0; +#X connect 15 1 25 0; +#X connect 16 0 5 0; +#X connect 17 0 6 0; +#X connect 18 0 24 0; +#X connect 19 0 20 1; +#X connect 20 0 28 0; +#X connect 21 0 1 0; +#X connect 21 1 1 1; +#X connect 22 0 36 0; +#X connect 22 1 36 1; +#X connect 23 0 6 0; +#X connect 23 1 11 0; +#X connect 23 2 19 0; +#X connect 24 0 17 1; +#X connect 24 1 27 0; +#X connect 25 0 30 0; +#X connect 25 1 34 0; +#X connect 25 2 26 0; +#X connect 26 0 20 1; +#X connect 27 0 20 0; +#X connect 28 0 23 0; +#X connect 29 0 12 0; +#X connect 29 1 18 0; +#X connect 30 0 16 0; +#X connect 30 1 16 1; +#X connect 31 0 6 0; +#X connect 31 1 16 0; +#X connect 31 2 32 0; +#X connect 32 0 16 1; +#X connect 34 0 31 0; +#X connect 35 0 42 0; +#X connect 35 1 41 0; +#X connect 36 0 37 0; +#X connect 36 1 38 1; +#X connect 37 1 39 0; +#X connect 38 0 23 0; +#X connect 39 0 38 0; +#X connect 40 0 22 0; +#X connect 40 1 45 0; +#X connect 40 2 2 0; +#X connect 41 0 44 0; +#X connect 42 0 43 0; +#X connect 43 0 47 0; +#X connect 43 1 46 1; +#X connect 44 0 47 0; +#X connect 44 1 46 1; +#X connect 45 1 35 0; +#X connect 46 0 47 1; +#X connect 46 0 48 0; +#X connect 47 0 46 0; +#X connect 48 0 49 0; +#X connect 49 0 20 1; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/s-controlsurface-help.pd b/s-controlsurface-help.pd new file mode 100644 index 0000000..abb86e0 --- /dev/null +++ b/s-controlsurface-help.pd @@ -0,0 +1,17 @@ +#N struct 1005template float x0 float y0 float id float c; +#N canvas 343 233 503 400 10; +#X msg 113 95 bang; +#X obj 113 116 s-controlsurface; +#X obj 113 351 unpack f f; +#X floatatom 113 372 5 0 0 0 - - -; +#X floatatom 178 372 5 0 0 0 - - -; +#X obj 113 51 loadbang; +#X obj 113 73 metro 100; +#X text 10 12 s-controlsurface is like a 2d virtual kaospad with the +ability to add multiple points.; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; diff --git a/s-ireplace-help.pd b/s-ireplace-help.pd new file mode 100644 index 0000000..5395fe2 --- /dev/null +++ b/s-ireplace-help.pd @@ -0,0 +1,16 @@ +#N canvas 221 400 450 300 10; +#X msg 14 102 clear; +#X msg 28 134 rule 1 2 3 2 \, rule 2 3 3 1 \, rule 3 2 1; +#X floatatom 36 163 5 0 0 0 - - -; +#X obj 14 218 print; +#X text 12 10 s-replacer replaces integers with lists of other integers. +First \, set up rules using the 'rule x x x x x ...' message. The 'clear' +message clears out all rules. Next \, send the first integer of a rule +to recall the list that it corresponds to.; +#X text 88 164 <- 1 \, 2 \, and 3 will yeild the lists input above. +; +#X obj 14 196 s-ireplace; +#X connect 0 0 6 0; +#X connect 1 0 6 0; +#X connect 2 0 6 0; +#X connect 6 0 3 0; diff --git a/s-ireplace.pd b/s-ireplace.pd new file mode 100644 index 0000000..d1048da --- /dev/null +++ b/s-ireplace.pd @@ -0,0 +1,36 @@ +#N canvas 702 105 450 375 10; +#X obj 9 13 inlet; +#X obj 9 177 textfile; +#X obj 9 35 route clear rule; +#X msg 9 58 clear; +#X obj 62 85 list prepend add; +#X obj 62 107 list trim; +#X obj 75 178 until; +#X obj 75 133 t b b; +#X msg 105 154 rewind; +#X obj 9 227 list split 1; +#X obj 9 252 ==; +#X obj 9 300 list; +#X obj 9 273 sel 1; +#X obj 9 347 outlet; +#X obj 116 57 t b l; +#X connect 0 0 2 0; +#X connect 1 0 9 0; +#X connect 1 1 6 1; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 2 2 14 0; +#X connect 3 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 6 0 1 0; +#X connect 7 0 6 0; +#X connect 7 1 8 0; +#X connect 8 0 1 0; +#X connect 9 0 10 0; +#X connect 9 1 11 1; +#X connect 10 0 12 0; +#X connect 11 0 13 0; +#X connect 12 0 11 0; +#X connect 14 0 7 0; +#X connect 14 1 10 1; diff --git a/s-lsystem-help.pd b/s-lsystem-help.pd new file mode 100644 index 0000000..e374f8f --- /dev/null +++ b/s-lsystem-help.pd @@ -0,0 +1,23 @@ +#N canvas 658 155 450 330 10; +#X obj 13 293 print; +#X msg 42 227 3 2 1; +#X msg 13 170 clear \, rule 1 2 3 2 \, rule 2 3 3 1 \, rule 3 2 1; +#X msg 42 195 1; +#X floatatom 85 252 5 0 0 0 - - -; +#X obj 13 270 s-lsystem 2; +#X text 127 254 Iterations - watch out! Don't go above 5; +#X text 12 8 s-lsystem is a Lindenmayer System implemented in Pd. See +Wikipedia for exactly what a Lindenmayer System is. Basically you can +set up rules (using the 'rule' message with a list) and then send source +data into the abstraction. The list elements of the source data will +be replaced by their corresponding rules (the first element of the +rule list corresponds to the element that will be replaced). e.g. in +this example \, 1 will be replaced by '2 3 2' because there is a 'rule +1 2 3 2'. The 'clear' message will clear all rules out. The argument +specifies the number of replacement iterations. Requires s-ireplace. +; +#X connect 1 0 5 0; +#X connect 2 0 5 0; +#X connect 3 0 5 0; +#X connect 4 0 5 1; +#X connect 5 0 0 0; diff --git a/s-lsystem.pd b/s-lsystem.pd new file mode 100644 index 0000000..edbef0e --- /dev/null +++ b/s-lsystem.pd @@ -0,0 +1,79 @@ +#N canvas 705 11 516 709 10; +#X obj 14 382 s-ireplace; +#X obj 14 43 route clear rule; +#X obj 14 65 list prepend clear; +#X obj 14 167 list trim; +#X obj 67 192 list prepend rule; +#X obj 67 213 list trim; +#X obj 14 20 inlet; +#X obj 18 683 outlet; +#X obj 90 293 list split 1; +#X obj 144 397 list append; +#X obj 151 441 t l; +#X obj 18 465 list; +#X obj 41 441 list prepend; +#X obj 121 169 t l b b; +#X obj 60 331 t b l; +#X obj 121 147 list; +#X obj 248 61 loadbang; +#X obj 248 82 \$1; +#X obj 248 103 sel 0; +#X msg 248 124 1; +#X obj 121 91 t l b; +#X obj 232 151 f; +#X obj 261 179 - 1; +#X obj 232 179 f; +#X obj 72 515 f; +#X obj 18 487 t b l; +#X obj 50 657 list; +#X obj 95 658 list; +#X obj 307 124 inlet; +#X obj 102 627 t b b; +#X obj 72 557 sel 1; +#X obj 72 536 <= 1; +#X connect 0 0 12 0; +#X connect 1 0 2 0; +#X connect 1 1 4 0; +#X connect 1 2 20 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 0 0; +#X connect 6 0 1 0; +#X connect 8 0 14 0; +#X connect 8 1 9 1; +#X connect 8 2 11 0; +#X connect 9 0 8 0; +#X connect 10 0 12 1; +#X connect 11 0 25 0; +#X connect 12 0 10 0; +#X connect 12 0 11 1; +#X connect 13 0 8 0; +#X connect 13 1 12 1; +#X connect 13 2 9 1; +#X connect 14 0 9 0; +#X connect 14 1 0 0; +#X connect 15 0 13 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 1 21 1; +#X connect 19 0 21 1; +#X connect 20 0 15 0; +#X connect 20 1 21 0; +#X connect 21 0 23 0; +#X connect 22 0 23 1; +#X connect 23 0 22 0; +#X connect 23 0 24 1; +#X connect 24 0 31 0; +#X connect 25 0 24 0; +#X connect 25 1 26 1; +#X connect 25 1 27 1; +#X connect 26 0 7 0; +#X connect 27 0 13 0; +#X connect 28 0 21 1; +#X connect 29 0 27 0; +#X connect 29 1 23 0; +#X connect 30 0 26 0; +#X connect 30 1 29 0; +#X connect 31 0 30 0; diff --git a/s-midictlbuddy-help.pd b/s-midictlbuddy-help.pd new file mode 100644 index 0000000..de424e0 --- /dev/null +++ b/s-midictlbuddy-help.pd @@ -0,0 +1,6 @@ +#N canvas 151 173 450 300 10; +#X text 9 10 s-midibuddy is the all round nice-guy for helping you +manage your midi devices. SSSAD enabled \, you can train a s-midibuddy +instance once \, SSSAD save it \, and then forget about it - it will +recall the correct midi listening configuration next time.; +#X obj 132 155 s-midictlbuddy; diff --git a/s-midictlbuddy.pd b/s-midictlbuddy.pd new file mode 100644 index 0000000..fb76a08 --- /dev/null +++ b/s-midictlbuddy.pd @@ -0,0 +1,57 @@ +#N canvas 484 13 756 493 10; +#X obj 58 227 ctlin; +#X obj 58 394 spigot; +#X obj 58 454 outlet; +#X obj 173 182 loadbang; +#X obj 173 227 == 0; +#X obj 88 250 spigot; +#X obj 58 341 spigot; +#X obj 125 228 != 0; +#X obj 120 431 spigot; +#X obj 178 335 loadbang; +#X msg 178 399 1; +#X msg 236 399 0; +#X obj 308 181 inlet; +#X obj 308 202 route set; +#X obj 308 225 unpack f f; +#X obj 88 284 == \$3; +#X obj 173 204 \$3; +#X obj 120 455 s \$2; +#X obj 178 377 select \$2; +#X obj 178 356 symbol \$2; +#X obj 95 371 == \$1; +#X obj 5 19 tgl 16 0 \$0/record \$0/record record 20 8 0 8 -260818 +-1 -1 0 1; +#X floatatom 116 22 5 0 0 0 - - -; +#X floatatom 157 22 5 0 0 0 - - -; +#X text 235 6 s-midictl [ctrl-num] [send-name] [channel]; +#X obj 402 110 ctlin; +#X obj 458 110 r \$0/record; +#X obj 425 164 spigot; +#X connect 0 0 6 0; +#X connect 0 1 20 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 17 0; +#X connect 9 0 19 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 20 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 18 0 10 0; +#X connect 18 1 11 0; +#X connect 19 0 18 0; +#X connect 20 0 1 1; +#X coords 0 -1 1 1 200 40 1 0 0; diff --git a/s-midirange-help.pd b/s-midirange-help.pd new file mode 100644 index 0000000..cce960d --- /dev/null +++ b/s-midirange-help.pd @@ -0,0 +1,9 @@ +#N canvas 203 263 450 300 10; +#X floatatom 24 46 5 0 127 0 - - -; +#X text 22 8 Maps the integers 0 -> 127 to 0 -> X where X is one larger +than your maximum.; +#X floatatom 24 91 5 0 0 0 - - -; +#X text 67 91 Output goes from 0 to 16; +#X obj 24 67 s-midirange 17; +#X connect 0 0 4 0; +#X connect 4 0 2 0; diff --git a/s-midirange.pd b/s-midirange.pd new file mode 100644 index 0000000..81567b2 --- /dev/null +++ b/s-midirange.pd @@ -0,0 +1,12 @@ +#N canvas 0 0 450 300 10; +#X obj 12 8 inlet; +#X obj 12 53 * \$1; +#X obj 12 74 int; +#X obj 12 96 change; +#X obj 12 117 outlet; +#X obj 12 30 / 128; +#X connect 0 0 5 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 5 0 1 0; diff --git a/s-partial~-help.pd b/s-partial~-help.pd new file mode 100644 index 0000000..052073e --- /dev/null +++ b/s-partial~-help.pd @@ -0,0 +1,29 @@ +#N canvas 89 28 719 605 10; +#X obj 173 497 s-ezdac~ o; +#X obj 156 389 catch~ a/sum; +#X obj 221 424 catch~ b/sum; +#X msg 362 26 \; a/trigger bang \; b/trigger bang \;; +#X obj 493 115 s a/frequency; +#X obj 482 138 s b/frequency; +#X obj 482 87 mtof; +#X obj 601 138 s b/duration; +#X obj 613 115 s a/duration; +#X obj 482 68 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262144 -1 -1 64 256; +#X obj 601 67 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262144 -1 -1 236 256; +#X obj 601 86 * 10; +#X obj 25 97 s-partial~ a 3 1 1 0; +#X obj 25 119 s-partial~ a 5 0.5 1.3333 0.1; +#X obj 25 145 s-partial~ a 2 1 2.66667 0.1; +#X obj 254 96 s-partial~ b 3 1 1 0.2; +#X obj 253 118 s-partial~ b 5 0.5 1.3333 0.3; +#X obj 253 144 s-partial~ b 2.5 1 2.66667 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 6 0 5 0; +#X connect 6 0 4 0; +#X connect 9 0 6 0; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; diff --git a/s-partial~.pd b/s-partial~.pd new file mode 100644 index 0000000..3f00664 --- /dev/null +++ b/s-partial~.pd @@ -0,0 +1,77 @@ +#N canvas 18 78 880 448 10; +#X obj 465 234 sqrt; +#X text 17 71 trigger; +#X text 33 175 relative frequency; +#X obj 17 341 *~; +#X obj 227 322 line~; +#X obj 227 349 *~; +#X obj 227 376 *~; +#X msg 227 285 0 \$1; +#X obj 465 261 sqrt; +#X obj 227 158 t b b; +#X text 303 209 relative duration; +#X obj 17 123 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 465 288 \$1 5; +#X obj 227 185 del 5; +#X obj 465 207 * 0.1; +#X text 550 178 get amplitude from argument 1; +#X text 524 206 normalize to 0.1; +#X text 516 233 take fourth root (square root twice); +#X text 544 250 because we'll raise line~ output to; +#X text 543 267 fourth power; +#X text 515 292 attack time 5 msec; +#X text 280 184 decay after 5 msec; +#X text 469 157 attack; +#X obj 227 258 *; +#X text 264 258 actual duration; +#X obj 17 252 *; +#X obj 17 314 osc~; +#X text 49 252 times global freq.; +#X text 60 279 plus detune; +#X text 271 285 decay msg to line~; +#X text 266 350 raise to fourth power for; +#X text 267 368 natural-sounding decay shape; +#X text 73 405 add to global; +#X text 72 424 summing bus; +#X text 631 12 arguments:; +#X text 25 4 s-partial is based on D01.additive.pd but is more generic. +Any mistakes are my own!; +#X text 605 37 0 name \; 1 amplitude \; 2 relative duration \; 3 relative +frequency \; 4 detune; +#X obj 17 96 r \$1/trigger; +#X obj 17 200 float \$4; +#X obj 226 211 float \$3; +#X obj 39 226 r \$1/frequency; +#X obj 17 279 + \$5; +#X obj 249 235 r \$1/duration; +#X obj 465 180 float \$2; +#X obj 70 377 throw~ \$1/sum; +#X obj 14 398 outlet~; +#X connect 0 0 8 0; +#X connect 3 0 44 0; +#X connect 3 0 45 0; +#X connect 4 0 5 0; +#X connect 4 0 5 1; +#X connect 5 0 6 0; +#X connect 5 0 6 1; +#X connect 6 0 3 1; +#X connect 7 0 4 0; +#X connect 8 0 12 0; +#X connect 9 0 13 0; +#X connect 9 1 43 0; +#X connect 11 0 9 0; +#X connect 11 0 38 0; +#X connect 12 0 4 0; +#X connect 13 0 39 0; +#X connect 14 0 0 0; +#X connect 23 0 7 0; +#X connect 25 0 41 0; +#X connect 26 0 3 0; +#X connect 37 0 11 0; +#X connect 38 0 25 0; +#X connect 39 0 23 0; +#X connect 40 0 25 1; +#X connect 41 0 26 0; +#X connect 42 0 23 1; +#X connect 43 0 14 0; diff --git a/s-recorder~-help.pd b/s-recorder~-help.pd new file mode 100644 index 0000000..edae981 --- /dev/null +++ b/s-recorder~-help.pd @@ -0,0 +1,16 @@ +#N canvas 589 269 450 300 10; +#X obj 10 108 s-recorder~ rec; +#X obj 10 48 osc~ 440; +#X obj 334 146 osc~ 220; +#X text 9 5 Quick and easy way to record audio streams; +#X text 10 197 Global receivers for left and right are called mainout-l +and mainout-r.; +#X obj 215 146 osc~ 110; +#X msg 170 67 \; rec/record 1 \;; +#X text 168 49 Trigger recording externally.; +#X obj 334 174 throw~ mainout-l; +#X obj 215 174 throw~ mainout-r; +#X connect 1 0 0 0; +#X connect 1 0 0 1; +#X connect 2 0 8 0; +#X connect 5 0 9 0; diff --git a/s-serialize-help.pd b/s-serialize-help.pd new file mode 100644 index 0000000..704a2bb --- /dev/null +++ b/s-serialize-help.pd @@ -0,0 +1,13 @@ +#N canvas 632 290 450 300 10; +#X obj 9 71 s-serialize; +#X text 9 7 Takes a list and serialises it (outputs one value from +the list every time it's banged.; +#X msg 81 47 10 9 8 7 hello mr pants 3 2 1; +#X obj 9 100 print; +#X obj 81 96 print done; +#X obj 9 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1 +; +#X connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 2 0 0 1; +#X connect 5 0 0 0; diff --git a/s-serialize.pd b/s-serialize.pd new file mode 100644 index 0000000..7a1b88f --- /dev/null +++ b/s-serialize.pd @@ -0,0 +1,18 @@ +#N canvas 679 300 450 300 10; +#X obj 6 71 list split 1; +#X obj 56 96 list append; +#X obj 6 96 t l b; +#X obj 6 50 list; +#X obj 6 22 inlet; +#X obj 49 22 inlet; +#X obj 6 121 outlet; +#X obj 85 121 outlet; +#X connect 0 0 2 0; +#X connect 0 1 1 1; +#X connect 0 2 7 0; +#X connect 1 0 3 1; +#X connect 2 0 6 0; +#X connect 2 1 1 0; +#X connect 3 0 0 0; +#X connect 4 0 3 0; +#X connect 5 0 3 1; diff --git a/s-sinesum~-help.pd b/s-sinesum~-help.pd new file mode 100644 index 0000000..c0d1474 --- /dev/null +++ b/s-sinesum~-help.pd @@ -0,0 +1,36 @@ +#N canvas 519 220 502 482 10; +#X obj 10 144 s-sinesum~ sinez; +#X text 6 63 Signal inlet designates frequency; +#X floatatom 10 89 5 0 0 0 - - -; +#X obj 10 107 mtof~; +#X obj 10 342 s-ezdac~ out; +#X msg 276 221 \; sinez/harmonic/4 100 \;; +#X msg 276 256 \; sinez/harmonic/4 20 \;; +#X msg 117 120 0; +#X text 155 135 <- Right inlet resets phase (like [phasor~]); +#X text 8 10 s-sinesum~ makes complex \, harmonically rich sinusoids +\, with SSSAD state saving.; +#X obj 373 64 sssad/datastore; +#N canvas 0 0 450 300 datastore 0; +#X obj 10 10 r SSSADDATA; +#X msg 10 30 \; SSSAD sinez/harmonic/12 0 \; SSSAD sinez/harmonic/11 +0 \; SSSAD sinez/harmonic/10 56 \; SSSAD sinez/harmonic/9 0 \; SSSAD +sinez/harmonic/8 66 \; SSSAD sinez/harmonic/7 1 \; SSSAD sinez/harmonic/6 +1 \; SSSAD sinez/harmonic/5 0 \; SSSAD sinez/harmonic/4 20 \; SSSAD +sinez/harmonic/3 27 \; SSSAD sinez/harmonic/2 9 \; SSSAD sinez/harmonic/1 +71 \; SSSAD out/volume 127 \; SSSAD out/pan 61.9881 \; SSSAD_ADMIN +set \;; +#X connect 0 0 1 0; +#X restore 373 44 pd datastore; +#X obj 10 320 *~ 5; +#X obj 276 316 line; +#X msg 276 293 127 \, 0 2000 \;; +#X obj 276 338 s sinez/harmonic/5 \;; +#X connect 0 0 12 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 7 0 0 1; +#X connect 12 0 4 0; +#X connect 12 0 4 1; +#X connect 13 0 15 0; +#X connect 14 0 13 0; diff --git a/s-sinesum~.pd b/s-sinesum~.pd new file mode 100644 index 0000000..7eabfc3 --- /dev/null +++ b/s-sinesum~.pd @@ -0,0 +1,139 @@ +#N canvas 85 105 1032 604 10; +#X obj 861 10 inlet~; +#X obj 861 122 outlet~; +#X obj 861 37 phasor~; +#X obj 909 9 inlet; +#X obj 861 81 tabread4~ \$0/wavetable; +#X obj 861 146 table \$0/wavetable; +#X obj 254 549 s \$0/wavetable; +#X obj 861 59 *~ 1024; +#X msg 254 526 sinesum 1024 \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 +\$11 \$12; +#X obj 254 502 pack f f f f f f f f f f f f; +#X obj 136 221 r \$0/harmonic/2; +#X obj 23 221 r \$0/harmonic/1; +#X obj 136 261 t b f; +#X obj 136 241 / 127; +#X obj 23 241 / 127; +#X obj 190 283 t b f; +#X obj 190 263 / 127; +#X obj 239 308 t b f; +#X obj 239 288 / 127; +#X obj 190 243 r \$0/harmonic/3; +#X obj 239 268 r \$0/harmonic/4; +#X obj 288 332 t b f; +#X obj 288 312 / 127; +#X obj 288 292 r \$0/harmonic/5; +#X obj 351 268 t b f; +#X obj 351 248 / 127; +#X obj 351 228 r \$0/harmonic/6; +#X obj 405 288 t b f; +#X obj 405 268 / 127; +#X obj 405 248 r \$0/harmonic/7; +#X obj 446 308 t b f; +#X obj 446 288 / 127; +#X obj 446 268 r \$0/harmonic/8; +#X obj 488 328 t b f; +#X obj 488 308 / 127; +#X obj 488 288 r \$0/harmonic/9; +#X obj 562 268 t b f; +#X obj 562 248 / 127; +#X obj 603 288 t b f; +#X obj 603 268 / 127; +#X obj 645 308 t b f; +#X obj 645 288 / 127; +#X obj 562 228 r \$0/harmonic/10; +#X obj 603 248 r \$0/harmonic/11; +#X obj 645 268 r \$0/harmonic/12; +#X obj 5 33 vsl 8 128 0 127 0 0 \$0/harmonic/1 \$1/harmonic/1 harmonics +2 -8 0 8 -260818 -1 -1 7100 1; +#X obj 13 33 vsl 8 128 0 127 0 0 \$0/harmonic/2 \$1/harmonic/2 empty +2 -8 0 8 -260818 -1 -1 900 1; +#X obj 21 33 vsl 8 128 0 127 0 0 \$0/harmonic/3 \$1/harmonic/3 empty +2 -8 0 8 -260818 -1 -1 2700 1; +#X obj 29 33 vsl 8 128 0 127 0 0 \$0/harmonic/4 \$1/harmonic/4 empty +2 -8 0 8 -260818 -1 -1 4300 1; +#X obj 37 33 vsl 8 128 0 127 0 0 \$0/harmonic/5 \$1/harmonic/5 empty +2 -8 0 8 -260818 -1 -1 0 1; +#X obj 45 33 vsl 8 128 0 127 0 0 \$0/harmonic/6 \$1/harmonic/6 empty +2 -8 0 8 -260818 -1 -1 100 1; +#X obj 53 33 vsl 8 128 0 127 0 0 \$0/harmonic/7 \$1/harmonic/7 empty +2 -8 0 8 -260818 -1 -1 100 1; +#X obj 61 33 vsl 8 128 0 127 0 0 \$0/harmonic/8 \$1/harmonic/8 empty +2 -8 0 8 -260818 -1 -1 6600 1; +#X obj 69 33 vsl 8 128 0 127 0 0 \$0/harmonic/9 \$1/harmonic/9 empty +2 -8 0 8 -260818 -1 -1 0 1; +#X obj 77 33 vsl 8 128 0 127 0 0 \$0/harmonic/10 \$1/harmonic/10 empty +0 -8 0 6 -260818 -1 -1 5600 1; +#X obj 85 33 vsl 8 128 0 127 0 0 \$0/harmonic/11 \$1/harmonic/11 empty +0 -8 0 6 -260818 -1 -1 0 1; +#X obj 93 33 vsl 8 128 0 127 0 0 \$0/harmonic/12 \$1/harmonic/12 empty +0 -8 0 6 -260818 -1 -1 0 1; +#X obj 718 316 sssad/auto \$0/harmonic/1 \$1/harmonic/1; +#X obj 718 335 sssad/auto \$0/harmonic/2 \$1/harmonic/2; +#X obj 718 354 sssad/auto \$0/harmonic/3 \$1/harmonic/3; +#X obj 718 373 sssad/auto \$0/harmonic/4 \$1/harmonic/4; +#X obj 718 392 sssad/auto \$0/harmonic/5 \$1/harmonic/5; +#X obj 718 411 sssad/auto \$0/harmonic/6 \$1/harmonic/6; +#X obj 718 430 sssad/auto \$0/harmonic/7 \$1/harmonic/7; +#X obj 718 449 sssad/auto \$0/harmonic/8 \$1/harmonic/8; +#X obj 718 468 sssad/auto \$0/harmonic/9 \$1/harmonic/9; +#X obj 718 487 sssad/auto \$0/harmonic/10 \$1/harmonic/10; +#X obj 718 506 sssad/auto \$0/harmonic/11 \$1/harmonic/11; +#X obj 718 525 sssad/auto \$0/harmonic/12 \$1/harmonic/12; +#X obj 861 102 /~ 127; +#X connect 0 0 2 0; +#X connect 2 0 7 0; +#X connect 3 0 2 1; +#X connect 4 0 69 0; +#X connect 7 0 4 0; +#X connect 8 0 6 0; +#X connect 9 0 8 0; +#X connect 10 0 13 0; +#X connect 11 0 14 0; +#X connect 12 0 9 0; +#X connect 12 1 9 1; +#X connect 13 0 12 0; +#X connect 14 0 9 0; +#X connect 15 0 9 0; +#X connect 15 1 9 2; +#X connect 16 0 15 0; +#X connect 17 0 9 0; +#X connect 17 1 9 3; +#X connect 18 0 17 0; +#X connect 19 0 16 0; +#X connect 20 0 18 0; +#X connect 21 0 9 0; +#X connect 21 1 9 4; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 24 0 9 0; +#X connect 24 1 9 5; +#X connect 25 0 24 0; +#X connect 26 0 25 0; +#X connect 27 0 9 0; +#X connect 27 1 9 6; +#X connect 28 0 27 0; +#X connect 29 0 28 0; +#X connect 30 0 9 0; +#X connect 30 1 9 7; +#X connect 31 0 30 0; +#X connect 32 0 31 0; +#X connect 33 0 9 0; +#X connect 33 1 9 8; +#X connect 34 0 33 0; +#X connect 35 0 34 0; +#X connect 36 0 9 0; +#X connect 36 1 9 9; +#X connect 37 0 36 0; +#X connect 38 0 9 0; +#X connect 38 1 9 10; +#X connect 39 0 38 0; +#X connect 40 0 9 0; +#X connect 40 1 9 11; +#X connect 41 0 40 0; +#X connect 42 0 37 0; +#X connect 43 0 39 0; +#X connect 44 0 41 0; +#X connect 69 0 1 0; +#X coords 0 -1 1 1 106 170 1 0 0; diff --git a/sssad/multifile.pd b/sssad/multifile.pd new file mode 100644 index 0000000..9d66abe --- /dev/null +++ b/sssad/multifile.pd @@ -0,0 +1,81 @@ +#N canvas 0 0 590 570 10; +#N canvas 425 94 599 674 saveme 0; +#X obj 321 386 textfile; +#X msg 210 287 clear; +#X msg 395 369 print; +#X obj 321 310 list prepend add; +#X obj 321 336 list trim; +#X obj 188 387 s SSSAD_ADMIN; +#X obj 321 242 r SSSAD_ADMIN; +#X obj 321 286 route persist; +#X obj 321 264 list trim; +#X msg 188 321 save; +#X msg 202 360 set; +#X obj 166 251 t a b b; +#X msg 166 434 write \$1; +#X obj 107 129 hradio 15 1 0 8 empty empty save 0 -6 0 8 -262144 -1 +-1 0; +#X obj 107 543 until; +#X msg 107 522 100; +#X obj 107 499 t b a; +#X msg 155 543 read \$1 \, rewind; +#X text 139 522 Avoid loops. A bang normally also works.; +#X obj 107 159 hradio 15 1 0 8 empty empty load 0 -6 0 8 -262144 -1 +-1 0; +#X obj 166 220 makefilename state-%d.sssad; +#X obj 107 457 makefilename state-%d.sssad; +#X obj 319 433 s SSSAD; +#X obj 386 430 s SSSAD_ADMIN; +#X msg 386 405 set; +#X connect 0 0 22 0; +#X connect 0 1 24 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X connect 6 0 8 0; +#X connect 7 0 3 0; +#X connect 8 0 7 0; +#X connect 9 0 5 0; +#X connect 10 0 5 0; +#X connect 11 0 12 0; +#X connect 11 1 9 0; +#X connect 11 2 1 0; +#X connect 12 0 0 0; +#X connect 13 0 20 0; +#X connect 14 0 0 0; +#X connect 15 0 14 0; +#X connect 16 0 15 0; +#X connect 16 1 17 0; +#X connect 17 0 0 0; +#X connect 19 0 21 0; +#X connect 20 0 11 0; +#X connect 21 0 16 0; +#X connect 24 0 23 0; +#X coords 0 -1 1 1 155 80 1 100 100; +#X restore 344 171 pd saveme; +#X floatatom 171 91 5 0 0 0 - - -; +#X obj 154 166 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X obj 227 272 pack 0 0; +#X obj 248 251 t b f; +#X floatatom 227 225 5 0 0 0 - - -; +#X floatatom 266 225 5 0 0 0 - - -; +#X obj 104 318 unpack 0 0; +#X obj 106 127 sssad/sssad store_me; +#X obj 94 197 sssad/sssad store_me_too; +#X obj 104 293 sssad/sssad store_a_list; +#X text 56 17 This isn't finished yet. It's something Frank started +that I want to turn into something else.; +#X connect 1 0 8 1; +#X connect 2 0 9 1; +#X connect 3 0 10 1; +#X connect 4 0 3 0; +#X connect 4 1 3 1; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 1 0; +#X connect 9 0 2 0; +#X connect 10 0 7 0; diff --git a/sssad/namedstore-help.pd b/sssad/namedstore-help.pd new file mode 100644 index 0000000..984986b --- /dev/null +++ b/sssad/namedstore-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/namedstore.pd b/sssad/namedstore.pd new file mode 100644 index 0000000..2bc6da0 --- /dev/null +++ b/sssad/namedstore.pd @@ -0,0 +1,71 @@ +#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 369 r SSSAD_ADMIN; +#X obj 442 424 route persist; +#X obj 442 394 list trim; +#X obj 442 480 list trim; +#X msg 96 239 save; +#X obj 118 492 s SSSAD_ADMIN; +#X obj 442 456 list prepend add SSSAD; +#X msg 140 452 set \, addsemi; +#X msg 96 520 add SSSAD_ADMIN set; +#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 122 bang; +#X obj 327 165 list trim; +#X obj 327 144 list append \$1; +#X obj 327 224 route 0; +#X obj 327 102 loadbang; +#X obj 478 253 makefilename pd-%s; +#X obj 154 335 symbol; +#X msg 191 316 symbol \$1; +#X msg 328 253 symbol pd-datastore; +#X obj 478 232 list; +#X msg 154 379 \; \$1 clear \; \$1 obj 10 10 r \$1/SSSADDATA \; \$1 +msg 10 30 \; \$1 connect 0 0 1 0 \;; +#X obj 233 559 s \$1/SSSADDATA; +#X obj 16 126 s \$1/SSSADDATA; +#X obj 154 357 pack s s; +#X obj 357 205 list; +#X obj 327 185 t a a; +#X connect 3 0 30 0; +#X connect 6 0 8 0; +#X connect 7 0 12 0; +#X connect 8 0 7 0; +#X connect 9 0 29 0; +#X connect 10 0 16 0; +#X connect 12 0 9 0; +#X connect 13 0 29 0; +#X connect 14 0 29 0; +#X connect 15 0 10 0; +#X connect 16 0 14 0; +#X connect 16 1 11 0; +#X connect 16 2 13 0; +#X connect 16 3 24 0; +#X connect 16 4 17 0; +#X connect 18 0 20 0; +#X connect 19 0 33 0; +#X connect 20 0 19 0; +#X connect 21 0 26 0; +#X connect 21 1 27 0; +#X connect 22 0 18 0; +#X connect 23 0 25 0; +#X connect 24 0 31 0; +#X connect 25 0 24 1; +#X connect 26 0 25 0; +#X connect 27 0 23 0; +#X connect 31 0 28 0; +#X connect 32 0 31 1; +#X connect 33 0 21 0; +#X connect 33 1 32 0; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/sx/recorder.pd b/sx/recorder.pd new file mode 100644 index 0000000..782cece --- /dev/null +++ b/sx/recorder.pd @@ -0,0 +1,23 @@ +#N canvas 9 16 450 300 10; +#X obj 16 126 gemhead -1; +#X obj 16 270 pix_write; +#X msg 150 147 auto 1; +#X obj 16 170 spigot; +#X obj 150 126 loadbang; +#X obj 217 147 savepanel; +#X msg 217 168 file \$1 80; +#X obj 7 21 tgl 16 0 \$0/record \$1/record record 18 8 0 8 -260818 +-1 -1 0 1; +#X obj 53 147 r \$0/record; +#X obj 7 41 bng 16 250 50 0 \$0/file \$1/file file 18 8 0 8 -260818 +-1 -1; +#X obj 217 126 r \$0/file; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 8 0 3 1; +#X connect 10 0 5 0; +#X coords 0 -1 1 1 85 60 1 0 0; diff --git a/sx/repeater.pd b/sx/repeater.pd new file mode 100644 index 0000000..0f6f7a7 --- /dev/null +++ b/sx/repeater.pd @@ -0,0 +1,44 @@ +#N canvas 13 12 450 300 10; +#X obj 80 35 inlet; +#X obj 80 205 outlet; +#X obj 80 182 gemhead; +#X obj 14 118 loadbang; +#X msg 14 145 0; +#X obj 80 151 t b a; +#X obj 80 87 bang; +#X obj 180 206 outlet; +#N canvas 360 375 401 263 countto 0; +#X obj 105 151 f; +#X obj 139 152 + 1; +#X msg 153 118 0; +#X obj 105 20 inlet; +#X obj 105 181 outlet; +#X obj 105 119 until; +#X obj 105 65 f; +#X obj 105 45 t a b; +#X obj 105 95 max 0; +#X connect 0 0 1 0; +#X connect 0 0 4 0; +#X connect 1 0 0 1; +#X connect 2 0 0 1; +#X connect 3 0 7 0; +#X connect 5 0 0 0; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X connect 7 1 2 0; +#X connect 8 0 5 0; +#X restore 80 130 pd countto; +#X obj 159 36 inlet; +#X obj 80 108 f; +#X obj 159 56 s-default \$1 1; +#X connect 0 0 6 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 5 1 7 0; +#X connect 6 0 10 0; +#X connect 8 0 5 0; +#X connect 9 0 11 0; +#X connect 10 0 8 0; +#X connect 11 0 10 1; -- cgit v1.2.1