├── background.png ├── .gitignore ├── docs └── gui_preview.png ├── lang └── show_hint.pd ├── modules ├── else │ ├── trig2bang~.pd │ ├── trig2bang.pd │ ├── lin2db~.pd │ ├── pol2car.pd │ ├── pol2car~.pd │ ├── lin2db.pd │ ├── ms2samps~.pd │ ├── samps2ms~.pd │ ├── above.pd │ ├── db2lin~.pd │ ├── allpass_unit.pd │ ├── sysrt.in.pd │ ├── echo_unit.pd │ ├── db2lin.pd │ ├── car2pol~.pd │ ├── add.pd │ ├── scale2cents.pd │ ├── sum.pd │ ├── bpm.pd │ ├── frac2dec.pd │ ├── frac2cents.pd │ ├── sysrt.out.pd │ ├── maxpeak~.pd │ ├── avg.pd │ ├── samps2ms.pd │ ├── freq2midi.pd │ ├── midi2freq.pd │ ├── ms2samps.pd │ ├── gatehold~.pd │ ├── schmitt.pd │ ├── rand.list.pd │ ├── dec2hex.pd │ ├── bl.imp~.pd │ ├── vocoder.band_clone.pd │ ├── bl.saw~.pd │ ├── cents2scale.pd │ ├── bl.saw2~.pd │ ├── bl.sine~.pd │ ├── bl.tri~.pd │ ├── e.pd │ ├── pipe2.pd │ ├── meter.pd │ ├── bl.wavetable~.pd │ ├── rm~.pd │ ├── mag~.pd │ ├── median.pd │ ├── bl.vsaw~.pd │ ├── nmess.pd │ ├── pi.pd │ ├── status.pd │ ├── rdelay~.pd │ ├── bl.imp2~.pd │ ├── bl.square~.pd │ ├── oscclone2.pd │ ├── norm~.pd │ ├── bpclone.pd │ ├── resonclone.pd │ ├── crusher~.pd │ ├── car2pol.pd │ ├── reverse.pd │ ├── oscclone.pd │ ├── range.pd │ ├── mov.avg.pd │ ├── freeze.osc.clone~.pd │ ├── timed.gate.pd │ ├── noisegate~.pd │ ├── resonclone2.pd │ ├── mag.pd │ ├── ping.pong~.pd │ ├── hann~.pd │ ├── amean.pd │ ├── phaser~.pd │ ├── vibrato~.pd │ ├── lastvalue.pd │ ├── order.pd │ ├── tremolo~.pd │ ├── randpulse2.pd │ ├── rotate.pd │ ├── pz2coeff.pd │ ├── chorus~.pd │ ├── combine.pd │ ├── deg2rad.pd │ ├── stream.pd │ ├── flanger~.pd │ ├── freeze~.pd │ ├── euclid.pd │ ├── meter~.pd │ ├── insert.pd │ ├── stepnoise.pd │ ├── rad2deg.pd │ ├── pitch.shift~.pd │ ├── morph~.pd │ ├── any2symbol.pd │ ├── rampnoise.pd │ ├── gmean.pd │ ├── coeff2pz.pd │ ├── expand~.pd │ ├── bangdiv.pd │ ├── clock.pd │ ├── iterate.pd │ ├── perlin~.pd │ ├── hex2dec.pd │ ├── scramble.pd │ ├── oscbank2~.pd │ ├── bpbank~.pd │ ├── eqdiv.pd │ ├── resonbank~.pd │ ├── echo.rev~.pd │ ├── oscbank~.pd │ ├── vocoder~.pd │ ├── group.pd │ ├── compress~.pd │ ├── retune.pd │ ├── bin.shift~.pd │ ├── unite.pd │ ├── allpass.filt~.pd │ ├── drunkard.pd │ ├── pick.pd │ ├── resonbank2~.pd │ ├── lfnoise.pd │ ├── meter2~.pd │ ├── duck~.pd │ ├── note2pitch.pd │ ├── autotune2.pd │ └── presets-abs.pd ├── camomile │ ├── gui.link.pd │ ├── program.get.pd │ ├── param.get.pd │ ├── param.set.pd │ └── param.change.pd ├── utils │ ├── myhann~.pd │ ├── sig_mix~.pd │ ├── num_mix.pd │ └── l2s.pd ├── filter_wrapper~.pd ├── channel_vocoder_unit~.pd ├── granular_fx~.pd ├── fft_mod~.pd ├── granular_fx_2nd~.pd ├── wavetable_sampler~.pd ├── audio_in_handler.pd ├── wavetable_fx~.pd ├── granular_sampler~.pd └── cc_in_handler.pd ├── Infos.txt ├── .github └── FUNDING.yml └── README_zh.md /background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chsh2/SlowSampler2/HEAD/background.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /backup/ 2 | /releases/ 3 | /ui_design/ 4 | *.vst3 5 | *.so 6 | *.dll 7 | .DS_Store 8 | -------------------------------------------------------------------------------- /docs/gui_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chsh2/SlowSampler2/HEAD/docs/gui_preview.png -------------------------------------------------------------------------------- /lang/show_hint.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 99 99 ../modules/utils/l2s; 3 | #X obj 7 10 inlet message; 4 | #X msg 99 131 \; gui_hint label \$1, f 38; 5 | #X obj 7 124 s camomile; 6 | #X msg 7 99 gui redraw; 7 | #X obj 7 40 t b a; 8 | #X connect 0 0 2 0; 9 | #X connect 1 0 5 0; 10 | #X connect 4 0 3 0; 11 | #X connect 5 0 4 0; 12 | #X connect 5 1 0 0; 13 | -------------------------------------------------------------------------------- /modules/else/trig2bang~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 723 209 650 214 12; 2 | #X text 354 93 Part of ELSE \; https://github.com/porres/pd-else; 3 | #X text 356 74 Alexandre Torres Porres (2017); 4 | #X obj 77 43 inlet~; 5 | #X obj 77 76 fexpr~ $x1[0] != 0 && $x1[-1] == 0; 6 | #X obj 77 148 outlet; 7 | #X obj 77 111 threshold~ 0.5 0 0.5 0; 8 | #X connect 2 0 3 0; 9 | #X connect 3 0 5 0; 10 | #X connect 5 0 4 0; 11 | -------------------------------------------------------------------------------- /modules/else/trig2bang.pd: -------------------------------------------------------------------------------- 1 | #N canvas 807 155 450 300 12; 2 | #X obj 67 104 != 0; 3 | #X obj 67 139 change; 4 | #X obj 67 66 inlet; 5 | #X obj 67 205 outlet; 6 | #X text 141 146 Part of ELSE \; https://github.com/porres/pd-else; 7 | #X text 143 127 Alexandre Torres Porres (2019); 8 | #X obj 67 172 sel 1; 9 | #X connect 0 0 1 0; 10 | #X connect 1 0 6 0; 11 | #X connect 2 0 0 0; 12 | #X connect 6 0 3 0; 13 | -------------------------------------------------------------------------------- /modules/else/lin2db~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 844 45 462 349 10; 2 | #X obj 86 195 max~ -999; 3 | #X obj 86 82 inlet~; 4 | #X obj 86 227 outlet~; 5 | #X text 182 147 Part of ELSE \; https://github.com/porres/pd-else; 6 | #X text 184 128 Alexandre Torres Porres (2017); 7 | #X obj 86 134 log~ 10; 8 | #X obj 86 166 *~ 20; 9 | #X connect 0 0 2 0; 10 | #X connect 1 0 5 0; 11 | #X connect 5 0 6 0; 12 | #X connect 6 0 0 0; 13 | -------------------------------------------------------------------------------- /modules/else/pol2car.pd: -------------------------------------------------------------------------------- 1 | #N canvas 709 239 472 239 10; 2 | #X text 228 104 Part of ELSE \; https://github.com/porres/pd-else; 3 | #X text 230 85 Alexandre Torres Porres (2018); 4 | #X obj 83 95 expr cos($f2) * $f1 \; sin($f2) * $f1; 5 | #X obj 200 44 inlet; 6 | #X obj 83 45 inlet; 7 | #X obj 83 149 outlet; 8 | #X obj 200 147 outlet; 9 | #X connect 2 0 5 0; 10 | #X connect 2 1 6 0; 11 | #X connect 3 0 2 1; 12 | #X connect 4 0 2 0; 13 | -------------------------------------------------------------------------------- /modules/else/pol2car~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 669 262 509 255 10; 2 | #X obj 87 99 expr~ cos($v2) * $v1 \; sin($v2) * $v1; 3 | #X obj 87 161 outlet~; 4 | #X obj 210 161 outlet~; 5 | #X obj 210 39 inlet~; 6 | #X obj 87 40 inlet~; 7 | #X text 247 106 Part of ELSE \; https://github.com/porres/pd-else; 8 | #X text 249 87 Alexandre Torres Porres (2018); 9 | #X connect 0 0 1 0; 10 | #X connect 0 1 2 0; 11 | #X connect 3 0 0 1; 12 | #X connect 4 0 0 0; 13 | -------------------------------------------------------------------------------- /modules/camomile/gui.link.pd: -------------------------------------------------------------------------------- 1 | #N canvas 691 1167 924 740 10; 2 | #X msg 3 87 set \$1; 3 | #X msg 131 59 set \$1; 4 | #X obj 3 16 r sld-\$2; 5 | #X obj 3 37 s \$2-r; 6 | #X obj 3 66 r \$2; 7 | #X obj 3 108 s sld-\$2-r; 8 | #X obj 131 16 param.set \$1 \$2; 9 | #X obj 131 37 param.get \$1 \$2-r; 10 | #X obj 131 101 s sld-\$2-r; 11 | #X connect 0 0 5 0; 12 | #X connect 1 0 8 0; 13 | #X connect 2 0 3 0; 14 | #X connect 4 0 0 0; 15 | #X connect 7 0 1 0; 16 | -------------------------------------------------------------------------------- /modules/else/lin2db.pd: -------------------------------------------------------------------------------- 1 | #N canvas 844 45 483 351 10; 2 | #X obj 86 226 max -999; 3 | #X obj 86 92 inlet; 4 | #X obj 86 257 outlet; 5 | #X text 223 182 Part of ELSE \; https://github.com/porres/pd-else; 6 | #X text 225 163 Alexandre Torres Porres (2017); 7 | #X obj 86 128 f \$1; 8 | #X obj 86 164 log 10; 9 | #X obj 86 198 * 20; 10 | #X connect 0 0 2 0; 11 | #X connect 1 0 5 0; 12 | #X connect 5 0 6 0; 13 | #X connect 6 0 7 0; 14 | #X connect 7 0 0 0; 15 | -------------------------------------------------------------------------------- /modules/else/ms2samps~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 537 91 518 219 10; 2 | #X declare -path else; 3 | #X text 199 101 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 199 82 Alexandre Torres Porres (2017); 5 | #X obj 45 26 inlet~; 6 | #X obj 45 153 outlet~; 7 | #X obj 45 88 *~ 0; 8 | #X obj 91 107 sr~ -khz; 9 | #X obj 91 83 lb -init; 10 | #X obj 215 51 declare -path else; 11 | #X connect 2 0 4 0; 12 | #X connect 4 0 3 0; 13 | #X connect 5 0 4 1; 14 | #X connect 6 0 5 0; 15 | -------------------------------------------------------------------------------- /modules/else/samps2ms~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 699 213 464 215 10; 2 | #X declare -path else; 3 | #X text 209 106 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 211 87 Alexandre Torres Porres (2017); 5 | #X obj 107 99 sr~ -ms; 6 | #X obj 59 33 inlet~; 7 | #X obj 59 152 outlet~; 8 | #X obj 59 87 *~ 0; 9 | #X obj 106 74 lb -init; 10 | #X obj 233 56 declare -path else; 11 | #X connect 2 0 5 1; 12 | #X connect 3 0 5 0; 13 | #X connect 5 0 4 0; 14 | #X connect 6 0 2 0; 15 | -------------------------------------------------------------------------------- /modules/camomile/program.get.pd: -------------------------------------------------------------------------------- 1 | #N canvas 487 370 259 354 10; 2 | #X obj 17 17 r program; 3 | #X obj 17 128 s camomile; 4 | #X obj 17 38 t b f b, f 20; 5 | #X obj 75 59 outlet; 6 | #X obj 134 59 f \$1; 7 | #X obj 17 59 f \$1; 8 | #X msg 134 84 param change \$1 1; 9 | #X msg 17 84 param change \$1 0; 10 | #X connect 0 0 2 0; 11 | #X connect 2 0 5 0; 12 | #X connect 2 1 3 0; 13 | #X connect 2 2 4 0; 14 | #X connect 4 0 6 0; 15 | #X connect 5 0 7 0; 16 | #X connect 6 0 1 0; 17 | #X connect 7 0 1 0; 18 | -------------------------------------------------------------------------------- /modules/else/above.pd: -------------------------------------------------------------------------------- 1 | #N canvas 712 203 486 290 12; 2 | #X obj 87 199 outlet; 3 | #X obj 147 199 outlet; 4 | #X obj 87 47 inlet; 5 | #X obj 140 47 inlet; 6 | #X obj 87 96 > \$1; 7 | #X obj 87 155 select 1 0; 8 | #X obj 87 126 change; 9 | #X text 199 122 Part of ELSE \; https://github.com/porres/pd-else; 10 | #X text 201 103 Alexandre Torres Porres (2019); 11 | #X connect 2 0 4 0; 12 | #X connect 3 0 4 1; 13 | #X connect 4 0 6 0; 14 | #X connect 5 0 0 0; 15 | #X connect 5 1 1 0; 16 | #X connect 6 0 5 0; 17 | -------------------------------------------------------------------------------- /modules/else/db2lin~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 880 108 473 264 10; 2 | #X declare -path else; 3 | #X obj 144 108 /~ 20; 4 | #X obj 75 146 pow~; 5 | #X msg 75 116 10; 6 | #X obj 144 43 inlet~; 7 | #X obj 75 207 outlet~; 8 | #X text 222 161 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 224 142 Alexandre Torres Porres (2017); 10 | #X obj 75 90 lb -init; 11 | #X obj 249 86 declare -path else; 12 | #X connect 0 0 1 1; 13 | #X connect 1 0 4 0; 14 | #X connect 2 0 1 0; 15 | #X connect 3 0 0 0; 16 | #X connect 7 0 2 0; 17 | -------------------------------------------------------------------------------- /Infos.txt: -------------------------------------------------------------------------------- 1 | SlowSampler2 is a VST3 plugin to play audio samples, focusing on providing rich options of time stretching and pitch tuning, in order to convert different types of sounds into musical instruments. 2 | 3 | --- 4 | 5 | The library is built with a modified version of Camomile and several external objects: 6 | 7 | * libpd 0.52.0-test1 8 | * Camomile v1.0.8-beta10 9 | * pd-else v1.0-beta44 10 | * cyclone v0.6.0 11 | 12 | Please refer to the following repository for more information: 13 | https://github.com/chsh2/Camomile -------------------------------------------------------------------------------- /modules/utils/myhann~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 125 42 inlet~ phase; 3 | #X obj 125 236 *~; 4 | #X obj 125 359 outlet~; 5 | #X obj 125 164 cos~; 6 | #X obj 125 114 *~ 0.5; 7 | #X obj 125 311 -~; 8 | #X obj 55 236 sig~ 1; 9 | #X text 19 399 This module aims at implementing the same function as [else/envelope~ hann] using only native Pd blocks., f 50; 10 | #X connect 0 0 4 0; 11 | #X connect 1 0 5 1; 12 | #X connect 3 0 1 0; 13 | #X connect 3 0 1 1; 14 | #X connect 4 0 3 0; 15 | #X connect 5 0 2 0; 16 | #X connect 6 0 5 0; 17 | -------------------------------------------------------------------------------- /modules/else/allpass_unit.pd: -------------------------------------------------------------------------------- 1 | #N canvas 652 106 487 308 10; 2 | #X declare -path else; 3 | #X obj 69 18 inlet~; 4 | #X obj 69 252 outlet~; 5 | #X obj 103 90 r~ \$1-freq; 6 | #X obj 138 117 r~ \$1-q; 7 | #X obj 263 193 declare -path else; 8 | #X obj 69 148 allpass.2nd~; 9 | #X text 220 138 Part of ELSE \; https://github.com/porres/pd-else; 10 | #X text 222 119 Alexandre Torres Porres (2019); 11 | #X text 250 71 Abstraction used in else/allpass.filt~, f 19; 12 | #X connect 0 0 5 0; 13 | #X connect 2 0 5 1; 14 | #X connect 3 0 5 2; 15 | #X connect 5 0 1 0; 16 | -------------------------------------------------------------------------------- /modules/utils/sig_mix~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 245 128 -~ 1; 3 | #X obj 245 165 *~ -1; 4 | #X obj 245 86 clip~ 0 1; 5 | #X obj 61 187 *~; 6 | #X obj 152 187 *~; 7 | #X obj 61 44 inlet~ sig1; 8 | #X obj 152 44 inlet~ sig2; 9 | #X obj 245 44 inlet~ mix_factor; 10 | #X obj 61 263 +~; 11 | #X obj 61 315 outlet~; 12 | #X connect 0 0 1 0; 13 | #X connect 1 0 4 1; 14 | #X connect 2 0 0 0; 15 | #X connect 2 0 3 1; 16 | #X connect 3 0 8 0; 17 | #X connect 4 0 8 1; 18 | #X connect 5 0 3 0; 19 | #X connect 6 0 4 0; 20 | #X connect 7 0 2 0; 21 | #X connect 8 0 9 0; 22 | -------------------------------------------------------------------------------- /modules/else/sysrt.in.pd: -------------------------------------------------------------------------------- 1 | #N canvas 589 218 628 194 10; 2 | #X obj 58 40 inlet; 3 | #X obj 58 110 outlet; 4 | #X obj 58 76 select 248 250 251 252 254 255, f 47; 5 | #X obj 104 111 outlet; 6 | #X obj 151 112 outlet; 7 | #X obj 197 112 outlet; 8 | #X obj 244 112 outlet; 9 | #X obj 290 112 outlet; 10 | #X text 375 89 Part of ELSE \; https://github.com/porres/pd-else; 11 | #X text 377 70 Alexandre Torres Porres (2018); 12 | #X connect 0 0 2 0; 13 | #X connect 2 0 1 0; 14 | #X connect 2 1 3 0; 15 | #X connect 2 2 4 0; 16 | #X connect 2 3 5 0; 17 | #X connect 2 4 6 0; 18 | #X connect 2 5 7 0; 19 | -------------------------------------------------------------------------------- /modules/else/echo_unit.pd: -------------------------------------------------------------------------------- 1 | #N canvas 617 454 442 267 10; 2 | #X declare -path else; 3 | #X obj 74 120 +~; 4 | #X obj 139 120 -~; 5 | #X obj 73 29 inlet~; 6 | #X obj 154 29 inlet~; 7 | #X obj 74 179 outlet~; 8 | #X obj 139 179 outlet~; 9 | #X obj 214 98 r \$2-size; 10 | #X obj 214 125 expr pow(\$1 \, $f1); 11 | #X obj 139 150 ffdelay~; 12 | #X obj 265 61 declare -path else; 13 | #X connect 0 0 4 0; 14 | #X connect 1 0 8 0; 15 | #X connect 2 0 0 0; 16 | #X connect 2 0 1 0; 17 | #X connect 3 0 0 1; 18 | #X connect 3 0 1 1; 19 | #X connect 6 0 7 0; 20 | #X connect 7 0 8 1; 21 | #X connect 8 0 5 0; 22 | -------------------------------------------------------------------------------- /modules/else/db2lin.pd: -------------------------------------------------------------------------------- 1 | #N canvas 880 108 445 286 10; 2 | #X obj 68 24 inlet; 3 | #X obj 125 105 / 20; 4 | #X obj 125 158 pow, f 7; 5 | #X obj 125 204 outlet; 6 | #X obj 68 78 moses -905; 7 | #X msg 68 134 0; 8 | #X text 187 129 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 189 110 Alexandre Torres Porres (2017); 10 | #X obj 125 130 swap 10; 11 | #X obj 68 51 f \$1; 12 | #X connect 0 0 9 0; 13 | #X connect 1 0 8 0; 14 | #X connect 2 0 3 0; 15 | #X connect 4 0 5 0; 16 | #X connect 4 1 1 0; 17 | #X connect 5 0 3 0; 18 | #X connect 8 0 2 0; 19 | #X connect 8 1 2 1; 20 | #X connect 9 0 4 0; 21 | -------------------------------------------------------------------------------- /modules/camomile/param.get.pd: -------------------------------------------------------------------------------- 1 | #N canvas 582 337 222 276 10; 2 | #X obj 6 41 route \$1; 3 | #X obj 33 108 outlet; 4 | #X obj 51 151 symbol \$2; 5 | #X obj 6 239 send \$2; 6 | #X obj 6 216 spigot 0; 7 | #X obj 6 85 t f f; 8 | #X obj 51 172 sel \$2; 9 | #X obj 51 130 loadbang; 10 | #X obj 51 194 f 1; 11 | #X obj 6 19 receive param; 12 | #X obj 6 63 change -1e+37; 13 | #X connect 0 0 10 0; 14 | #X connect 2 0 6 0; 15 | #X connect 4 0 3 0; 16 | #X connect 5 0 4 0; 17 | #X connect 5 1 1 0; 18 | #X connect 6 0 8 0; 19 | #X connect 7 0 2 0; 20 | #X connect 8 0 4 1; 21 | #X connect 9 0 0 0; 22 | #X connect 10 0 5 0; 23 | -------------------------------------------------------------------------------- /modules/else/car2pol~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 713 173 551 332 10; 2 | #X text 290 145 Part of ELSE \; https://github.com/porres/pd-else; 3 | #X text 292 126 Alexandre Torres Porres (2018); 4 | #X obj 112 52 inlet~; 5 | #X obj 75 135 *~; 6 | #X obj 47 53 inlet~; 7 | #X obj 60 163 +~; 8 | #X obj 60 188 sqrt~; 9 | #X obj 60 216 outlet~; 10 | #X obj 131 216 outlet~; 11 | #X obj 33 134 *~; 12 | #X obj 131 138 expr~ atan2($v2 \, $v1); 13 | #X connect 2 0 3 1; 14 | #X connect 2 0 3 0; 15 | #X connect 2 0 10 1; 16 | #X connect 3 0 5 1; 17 | #X connect 4 0 9 0; 18 | #X connect 4 0 9 1; 19 | #X connect 4 0 10 0; 20 | #X connect 5 0 6 0; 21 | #X connect 6 0 7 0; 22 | #X connect 9 0 5 0; 23 | #X connect 10 0 8 0; 24 | -------------------------------------------------------------------------------- /modules/else/add.pd: -------------------------------------------------------------------------------- 1 | #N canvas 679 101 496 340 10; 2 | #X declare -path else; 3 | #X obj 143 231 f; 4 | #X obj 85 113 route float bang set; 5 | #X obj 163 142 route float; 6 | #X obj 124 199 f \$1; 7 | #X obj 109 230 +; 8 | #X obj 85 57 inlet; 9 | #X obj 109 264 outlet; 10 | #X text 205 198 Part of ELSE \; https://github.com/porres/pd-else; 11 | #X text 207 179 Alexandre Torres Porres (2018); 12 | #X obj 100 85 lb -init; 13 | #X obj 262 91 declare -path else; 14 | #X connect 0 0 4 1; 15 | #X connect 1 0 4 0; 16 | #X connect 1 1 3 0; 17 | #X connect 1 2 2 0; 18 | #X connect 2 0 3 0; 19 | #X connect 3 0 4 1; 20 | #X connect 4 0 0 0; 21 | #X connect 4 0 6 0; 22 | #X connect 5 0 1 0; 23 | #X connect 9 0 1 0; 24 | -------------------------------------------------------------------------------- /modules/else/scale2cents.pd: -------------------------------------------------------------------------------- 1 | #N canvas 753 233 627 347 12; 2 | #X declare -path else; 3 | #X obj 70 37 inlet; 4 | #X obj 70 263 outlet; 5 | #X obj 163 138 * 100; 6 | #X obj 163 176 add; 7 | #X obj 70 78 trigger bang list bang, f 27; 8 | #X msg 256 132 0; 9 | #X obj 163 109 iterate; 10 | #X obj 70 220 group; 11 | #X text 321 147 Part of ELSE \; https://github.com/porres/pd-else; 12 | #X text 323 128 Alexandre Torres Porres (2021); 13 | #X obj 338 97 declare -path else; 14 | #X connect 0 0 4 0; 15 | #X connect 2 0 3 0; 16 | #X connect 3 0 7 0; 17 | #X connect 4 0 3 0; 18 | #X connect 4 0 7 0; 19 | #X connect 4 1 6 0; 20 | #X connect 4 2 5 0; 21 | #X connect 5 0 3 0; 22 | #X connect 6 0 2 0; 23 | #X connect 7 0 1 0; 24 | -------------------------------------------------------------------------------- /modules/else/sum.pd: -------------------------------------------------------------------------------- 1 | #N canvas 789 137 597 338 10; 2 | #X declare -path else; 3 | #X obj 108 214 array sum \$0-sum; 4 | #X obj 179 99 list length; 5 | #X obj 179 153 array define \$0-sum; 6 | #X obj 127 187 array set \$0-sum; 7 | #X obj 108 99 t b l l; 8 | #X obj 108 49 inlet; 9 | #X obj 108 268 outlet; 10 | #X msg 179 125 resize \$1; 11 | #X text 344 164 Part of ELSE \; https://github.com/porres/pd-else; 12 | #X text 346 145 Alexandre Torres Porres (2019); 13 | #X obj 108 73 message; 14 | #X obj 371 98 declare -path else; 15 | #X connect 0 0 6 0; 16 | #X connect 1 0 7 0; 17 | #X connect 4 0 0 0; 18 | #X connect 4 1 3 0; 19 | #X connect 4 2 1 0; 20 | #X connect 5 0 10 0; 21 | #X connect 7 0 2 0; 22 | #X connect 10 0 4 0; 23 | -------------------------------------------------------------------------------- /modules/else/bpm.pd: -------------------------------------------------------------------------------- 1 | #N canvas 682 147 357 464 10; 2 | #X declare -path else; 3 | #X obj 59 33 inlet; 4 | #X obj 59 418 outlet; 5 | #X text 102 129 Part of ELSE \; https://github.com/porres/pd-else; 6 | #X msg 257 350 1000; 7 | #X obj 158 313 samplerate~; 8 | #X text 102 110 Alexandre Torres Porres (2019); 9 | #X obj 158 253 symbol \$1; 10 | #X obj 158 283 select -samps; 11 | #X obj 158 223 trigger bang bang; 12 | #X obj 59 344 expr 60 * $f2/$f1; 13 | #X obj 158 193 lb -init; 14 | #X obj 164 80 declare -path else; 15 | #X connect 0 0 9 0; 16 | #X connect 3 0 9 1; 17 | #X connect 4 0 9 1; 18 | #X connect 6 0 7 0; 19 | #X connect 7 0 4 0; 20 | #X connect 8 0 6 0; 21 | #X connect 8 1 3 0; 22 | #X connect 9 0 1 0; 23 | #X connect 10 0 8 0; 24 | -------------------------------------------------------------------------------- /modules/else/frac2dec.pd: -------------------------------------------------------------------------------- 1 | #N canvas 660 65 602 342 12; 2 | #X declare -path else; 3 | #X obj 73 297 outlet; 4 | #X obj 73 52 inlet; 5 | #X obj 105 168 separate /; 6 | #X obj 105 111 iterate; 7 | #X obj 105 197 route float list; 8 | #X obj 159 226 /; 9 | #X obj 73 263 group; 10 | #X obj 73 84 t b a; 11 | #X text 256 172 Part of ELSE \; https://github.com/porres/pd-else; 12 | #X text 258 153 Alexandre Torres Porres (2017); 13 | #X obj 308 94 declare -path else; 14 | #X obj 105 139 any2symbol; 15 | #X connect 1 0 7 0; 16 | #X connect 2 0 4 0; 17 | #X connect 3 0 11 0; 18 | #X connect 4 0 6 0; 19 | #X connect 4 1 5 0; 20 | #X connect 5 0 6 0; 21 | #X connect 6 0 0 0; 22 | #X connect 7 0 6 0; 23 | #X connect 7 1 3 0; 24 | #X connect 11 0 2 0; 25 | -------------------------------------------------------------------------------- /modules/camomile/param.set.pd: -------------------------------------------------------------------------------- 1 | #N canvas 835 417 259 354 10; 2 | #X obj 26 28 inlet; 3 | #X obj 26 288 s camomile; 4 | #X obj 26 240 pack f \$1; 5 | #X obj 26 170 t f b; 6 | #X obj 53 192 f \$1; 7 | #X obj 53 214 s camo.param.change; 8 | #X msg 26 264 param set \$2 \$1; 9 | #X obj 116 73 symbol \$2; 10 | #X obj 71 140 spigot 0; 11 | #X obj 116 96 sel \$2; 12 | #X obj 116 50 loadbang; 13 | #X obj 116 118 f 1; 14 | #X obj 71 28 receive \$2; 15 | #X obj 26 49 spigot \$1; 16 | #X connect 0 0 13 0; 17 | #X connect 2 0 6 0; 18 | #X connect 3 0 2 0; 19 | #X connect 3 1 4 0; 20 | #X connect 4 0 5 0; 21 | #X connect 6 0 1 0; 22 | #X connect 7 0 9 0; 23 | #X connect 8 0 3 0; 24 | #X connect 9 0 11 0; 25 | #X connect 10 0 7 0; 26 | #X connect 11 0 8 1; 27 | #X connect 12 0 8 0; 28 | #X connect 13 0 3 0; 29 | -------------------------------------------------------------------------------- /modules/utils/num_mix.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 26 28 inlet val1; 3 | #X obj 117 28 inlet val2; 4 | #X obj 210 28 inlet mix_factor; 5 | #X obj 210 70 clip 0 1; 6 | #X obj 210 112 - 1; 7 | #X obj 210 149 * -1; 8 | #X obj 117 276 *; 9 | #X obj 26 276 *; 10 | #X obj 26 352 +; 11 | #X obj 26 404 outlet; 12 | #X obj 210 206 t b f; 13 | #X obj 64 206 t b f; 14 | #X obj 117 310 t b f; 15 | #X connect 0 0 7 0; 16 | #X connect 1 0 6 0; 17 | #X connect 2 0 3 0; 18 | #X connect 3 0 4 0; 19 | #X connect 3 0 11 0; 20 | #X connect 4 0 5 0; 21 | #X connect 5 0 10 0; 22 | #X connect 6 0 12 0; 23 | #X connect 7 0 8 0; 24 | #X connect 8 0 9 0; 25 | #X connect 10 0 6 0; 26 | #X connect 10 1 6 1; 27 | #X connect 11 0 7 0; 28 | #X connect 11 1 7 1; 29 | #X connect 12 0 8 0; 30 | #X connect 12 1 8 1; 31 | -------------------------------------------------------------------------------- /modules/else/frac2cents.pd: -------------------------------------------------------------------------------- 1 | #N canvas 660 65 602 381 12; 2 | #X declare -path else; 3 | #X obj 82 328 outlet; 4 | #X obj 82 43 inlet; 5 | #X obj 114 188 route float list; 6 | #X obj 168 217 /; 7 | #X obj 82 75 t b a; 8 | #X text 265 163 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 267 144 Alexandre Torres Porres (2017); 10 | #X obj 114 102 iterate; 11 | #X obj 114 129 any2symbol; 12 | #X obj 114 158 separate /; 13 | #X obj 82 294 group; 14 | #X obj 114 257 ratio2cents; 15 | #X obj 294 98 declare -path else; 16 | #X connect 1 0 4 0; 17 | #X connect 2 0 11 0; 18 | #X connect 2 1 3 0; 19 | #X connect 3 0 11 0; 20 | #X connect 4 0 10 0; 21 | #X connect 4 1 7 0; 22 | #X connect 7 0 8 0; 23 | #X connect 8 0 9 0; 24 | #X connect 9 0 2 0; 25 | #X connect 10 0 0 0; 26 | #X connect 11 0 10 0; 27 | -------------------------------------------------------------------------------- /modules/else/sysrt.out.pd: -------------------------------------------------------------------------------- 1 | #N canvas 657 214 647 259 10; 2 | #X obj 89 29 inlet; 3 | #X text 397 130 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 399 111 Alexandre Torres Porres (2018); 5 | #X msg 89 132 248; 6 | #X msg 134 132 250; 7 | #X msg 180 132 251; 8 | #X msg 225 132 252; 9 | #X msg 316 132 255; 10 | #X msg 271 132 254; 11 | #X obj 89 83 select clock start continue stop sensing reset; 12 | #X obj 224 195 outlet; 13 | #X obj 89 57 symbol; 14 | #X connect 0 0 11 0; 15 | #X connect 3 0 10 0; 16 | #X connect 4 0 10 0; 17 | #X connect 5 0 10 0; 18 | #X connect 6 0 10 0; 19 | #X connect 7 0 10 0; 20 | #X connect 8 0 10 0; 21 | #X connect 9 0 3 0; 22 | #X connect 9 1 4 0; 23 | #X connect 9 2 5 0; 24 | #X connect 9 3 6 0; 25 | #X connect 9 4 8 0; 26 | #X connect 9 5 7 0; 27 | #X connect 11 0 9 0; 28 | -------------------------------------------------------------------------------- /modules/else/maxpeak~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 635 289 619 353 12; 2 | #X declare -path else; 3 | #X obj 98 74 abs~; 4 | #X obj 98 151 fexpr~ if($x > $y \, $x \, $y); 5 | #X obj 98 42 inlet~; 6 | #X obj 98 281 outlet~; 7 | #X obj 206 59 inlet; 8 | #X obj 206 92 route bang; 9 | #X text 335 146 Part of ELSE \; https://github.com/porres/pd-else; 10 | #X text 337 127 Alexandre Torres Porres (2019); 11 | #X obj 178 281 outlet; 12 | #X obj 98 100 lin2db~; 13 | #X msg 206 117 set -100; 14 | #X obj 178 244 trig2bang~; 15 | #X obj 178 217 above~; 16 | #X obj 373 86 declare -path else; 17 | #X connect 0 0 9 0; 18 | #X connect 1 0 3 0; 19 | #X connect 2 0 0 0; 20 | #X connect 4 0 5 0; 21 | #X connect 5 0 10 0; 22 | #X connect 9 0 1 0; 23 | #X connect 9 0 12 0; 24 | #X connect 10 0 1 0; 25 | #X connect 11 0 8 0; 26 | #X connect 12 0 11 0; 27 | -------------------------------------------------------------------------------- /modules/else/avg.pd: -------------------------------------------------------------------------------- 1 | #N canvas 657 160 607 427 12; 2 | #X obj 137 228 f; 3 | #X obj 103 228 +; 4 | #X obj 103 71 inlet; 5 | #X obj 103 333 outlet; 6 | #X obj 103 167 t f b; 7 | #X obj 198 228 + 1; 8 | #X obj 168 228 f; 9 | #X obj 103 275 /; 10 | #X obj 198 335 outlet; 11 | #X obj 103 127 route float clear; 12 | #X msg 161 167 0; 13 | #X text 272 225 Part of ELSE \; https://github.com/porres/pd-else; 14 | #X text 274 206 Alexandre Torres Porres (2019); 15 | #X connect 0 0 1 1; 16 | #X connect 1 0 0 0; 17 | #X connect 1 0 7 0; 18 | #X connect 2 0 9 0; 19 | #X connect 4 0 1 0; 20 | #X connect 4 1 6 0; 21 | #X connect 5 0 6 1; 22 | #X connect 5 0 7 1; 23 | #X connect 5 0 8 0; 24 | #X connect 6 0 5 0; 25 | #X connect 7 0 3 0; 26 | #X connect 9 0 4 0; 27 | #X connect 9 1 10 0; 28 | #X connect 10 0 6 1; 29 | #X connect 10 0 1 1; 30 | -------------------------------------------------------------------------------- /modules/else/samps2ms.pd: -------------------------------------------------------------------------------- 1 | #N canvas 530 120 589 402 10; 2 | #X declare -path else; 3 | #X text 291 230 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 293 211 Alexandre Torres Porres (2017); 5 | #X obj 86 37 inlet; 6 | #X obj 148 347 outlet; 7 | #X obj 86 234 *; 8 | #X obj 86 203 hot; 9 | #X obj 148 301 spigot; 10 | #X msg 181 100 1; 11 | #X obj 86 90 t f b; 12 | #X obj 112 177 change; 13 | #X obj 112 153 sr~ -ms; 14 | #X obj 112 127 lb -init; 15 | #X obj 306 168 declare -path else; 16 | #X obj 181 72 nbang 1; 17 | #X connect 2 0 8 0; 18 | #X connect 4 0 6 0; 19 | #X connect 5 0 4 0; 20 | #X connect 5 1 4 1; 21 | #X connect 6 0 3 0; 22 | #X connect 7 0 6 1; 23 | #X connect 8 0 5 0; 24 | #X connect 8 1 13 0; 25 | #X connect 9 0 5 1; 26 | #X connect 10 0 9 0; 27 | #X connect 11 0 10 0; 28 | #X connect 13 0 7 0; 29 | -------------------------------------------------------------------------------- /modules/else/freq2midi.pd: -------------------------------------------------------------------------------- 1 | #N canvas 553 152 792 233 12; 2 | #X obj 42 17 inlet; 3 | #X obj 339 164 v A4_\$0; 4 | #X msg 406 130 440; 5 | #X obj 352 99 route float bang; 6 | #X obj 339 17 inlet; 7 | #X text 518 109 Part of ELSE \; https://github.com/porres/pd-else; 8 | #X obj 42 193 outlet; 9 | #X obj 352 52 lb; 10 | #X obj 352 75 args; 11 | #X obj 74 87 iterate; 12 | #X obj 42 55 t b l; 13 | #X obj 42 154 group; 14 | #X text 520 90 Alexandre Torres Porres (2021); 15 | #X obj 74 121 expr 12 * log($f1 / A4_\$0)/log(2) + 69; 16 | #X connect 0 0 10 0; 17 | #X connect 2 0 1 0; 18 | #X connect 3 0 1 0; 19 | #X connect 3 1 2 0; 20 | #X connect 4 0 1 0; 21 | #X connect 7 0 8 0; 22 | #X connect 8 0 3 0; 23 | #X connect 9 0 13 0; 24 | #X connect 10 0 11 0; 25 | #X connect 10 1 9 0; 26 | #X connect 11 0 6 0; 27 | #X connect 13 0 11 0; 28 | -------------------------------------------------------------------------------- /modules/else/midi2freq.pd: -------------------------------------------------------------------------------- 1 | #N canvas 504 130 792 233 12; 2 | #X obj 42 17 inlet; 3 | #X obj 339 164 v A4_\$0; 4 | #X obj 74 121 expr pow(2 \, ($f1 - 69)/12) * A4_\$0; 5 | #X msg 406 130 440; 6 | #X obj 352 99 route float bang; 7 | #X obj 339 17 inlet; 8 | #X text 518 109 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 520 90 Alexandre Torres Porres (2020); 10 | #X obj 42 193 outlet; 11 | #X obj 352 52 lb; 12 | #X obj 352 75 args; 13 | #X obj 74 87 iterate; 14 | #X obj 42 55 t b l; 15 | #X obj 42 154 group; 16 | #X connect 0 0 12 0; 17 | #X connect 2 0 13 0; 18 | #X connect 3 0 1 0; 19 | #X connect 4 0 1 0; 20 | #X connect 4 1 3 0; 21 | #X connect 5 0 1 0; 22 | #X connect 9 0 10 0; 23 | #X connect 10 0 4 0; 24 | #X connect 11 0 2 0; 25 | #X connect 12 0 13 0; 26 | #X connect 12 1 11 0; 27 | #X connect 13 0 8 0; 28 | -------------------------------------------------------------------------------- /modules/else/ms2samps.pd: -------------------------------------------------------------------------------- 1 | #N canvas 611 141 581 463 10; 2 | #X declare -path else; 3 | #X obj 92 61 inlet; 4 | #X obj 154 391 outlet; 5 | #X obj 92 278 *; 6 | #X text 278 211 Part of ELSE \; https://github.com/porres/pd-else; 7 | #X text 280 192 Alexandre Torres Porres (2017); 8 | #X obj 137 193 sr~ -khz; 9 | #X obj 92 247 hot; 10 | #X obj 154 345 spigot; 11 | #X msg 187 124 1; 12 | #X obj 92 114 t f b; 13 | #X obj 137 221 change; 14 | #X obj 142 165 lb -init; 15 | #X obj 328 129 declare -path else; 16 | #X obj 187 96 nbang 1; 17 | #X connect 0 0 9 0; 18 | #X connect 2 0 7 0; 19 | #X connect 5 0 10 0; 20 | #X connect 6 0 2 0; 21 | #X connect 6 1 2 1; 22 | #X connect 7 0 1 0; 23 | #X connect 8 0 7 1; 24 | #X connect 9 0 6 0; 25 | #X connect 9 1 13 0; 26 | #X connect 10 0 6 1; 27 | #X connect 11 0 5 0; 28 | #X connect 13 0 8 0; 29 | -------------------------------------------------------------------------------- /modules/else/gatehold~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 611 291 668 292 10; 2 | #X declare -path else; 3 | #X obj 238 96 fexpr~ $x1 == 0 && $x1[-1] != 0; 4 | #X obj 103 39 inlet~; 5 | #X obj 85 239 outlet~; 6 | #X text 150 119 gate off =>; 7 | #X text 391 158 Part of ELSE \; https://github.com/porres/pd-else; 8 | #X text 393 139 Alexandre Torres Porres (2017); 9 | #X obj 354 35 inlet; 10 | #X obj 33 172 sh~; 11 | #X obj 85 203 *~; 12 | #X obj 103 171 expr~ ($v1 != 0 || $v2); 13 | #X obj 117 89 abs~; 14 | #X obj 238 138 timed.gate~ \$1; 15 | #X obj 480 62 declare -path else; 16 | #X connect 0 0 11 0; 17 | #X connect 1 0 0 0; 18 | #X connect 1 0 7 0; 19 | #X connect 1 0 9 0; 20 | #X connect 1 0 10 0; 21 | #X connect 6 0 11 1; 22 | #X connect 7 0 8 0; 23 | #X connect 8 0 2 0; 24 | #X connect 9 0 8 1; 25 | #X connect 10 0 7 1; 26 | #X connect 11 0 9 1; 27 | -------------------------------------------------------------------------------- /modules/else/schmitt.pd: -------------------------------------------------------------------------------- 1 | #N canvas 721 149 567 319 10; 2 | #X declare -path else; 3 | #X obj 347 214 v last_\$0; 4 | #X obj 106 150 v lo_\$0; 5 | #X obj 161 151 v hi_\$0; 6 | #X obj 106 41 inlet; 7 | #X obj 193 108 f \$1; 8 | #X obj 234 108 f \$2; 9 | #X obj 160 42 inlet; 10 | #X obj 59 41 inlet; 11 | #X obj 59 244 outlet; 12 | #X obj 59 192 expr last_\$0 = ($f1 > lo_\$0 && ($f1 >= hi_\$0 || last_\$0)) 13 | ; 14 | #X text 299 130 Part of ELSE \; https://github.com/porres/pd-else; 15 | #X text 301 111 Alexandre Torres Porres (2017); 16 | #X obj 59 218 change; 17 | #X obj 234 69 lb -init; 18 | #X obj 336 80 declare -path else; 19 | #X connect 3 0 1 0; 20 | #X connect 4 0 1 0; 21 | #X connect 5 0 2 0; 22 | #X connect 6 0 2 0; 23 | #X connect 7 0 9 0; 24 | #X connect 9 0 12 0; 25 | #X connect 12 0 8 0; 26 | #X connect 13 0 4 0; 27 | #X connect 13 0 5 0; 28 | -------------------------------------------------------------------------------- /modules/else/rand.list.pd: -------------------------------------------------------------------------------- 1 | #N canvas 898 109 603 361 12; 2 | #X declare -path else; 3 | #X obj 86 44 inlet; 4 | #X obj 139 44 inlet; 5 | #X obj 86 306 outlet; 6 | #X obj 86 273 tabread \$0-list; 7 | #X obj 139 178 buffer \$0-list; 8 | #X obj 236 247 table \$0-list 1; 9 | #X obj 86 242 random 1; 10 | #X obj 139 209 list length; 11 | #X obj 189 105 args; 12 | #X obj 189 79 loadbang; 13 | #X obj 189 132 route bang; 14 | #X text 310 179 Part of ELSE \; https://github.com/porres/pd-else; 15 | #X text 312 160 Alexandre Torres Porres (2021); 16 | #X obj 86 94 route bang set, f 5; 17 | #X obj 353 113 declare -path else; 18 | #X connect 0 0 13 0; 19 | #X connect 1 0 4 0; 20 | #X connect 3 0 2 0; 21 | #X connect 4 0 7 0; 22 | #X connect 6 0 3 0; 23 | #X connect 7 0 6 1; 24 | #X connect 8 0 10 0; 25 | #X connect 9 0 8 0; 26 | #X connect 10 1 4 0; 27 | #X connect 13 0 6 0; 28 | #X connect 13 1 4 0; 29 | -------------------------------------------------------------------------------- /modules/else/dec2hex.pd: -------------------------------------------------------------------------------- 1 | #N canvas 726 125 519 446 10; 2 | #X declare -path else; 3 | #X obj 98 61 inlet; 4 | #X obj 149 62 inlet; 5 | #X obj 98 360 outlet; 6 | #X text 250 225 Part of ELSE \; https://github.com/porres/pd-else; 7 | #X obj 170 150 route bang; 8 | #X obj 170 107 loadbang; 9 | #X obj 125 266 route float; 10 | #X obj 98 213 t b a; 11 | #X text 252 206 Alexandre Torres Porres (2018-2021); 12 | #X obj 125 291 makefilename 0x%X; 13 | #X obj 170 129 args; 14 | #X obj 98 189 message 0; 15 | #X obj 125 242 iterate; 16 | #X obj 98 332 group; 17 | #X obj 294 157 declare -path else; 18 | #X connect 0 0 11 0; 19 | #X connect 1 0 11 1; 20 | #X connect 4 1 11 1; 21 | #X connect 5 0 10 0; 22 | #X connect 6 0 9 0; 23 | #X connect 7 0 13 0; 24 | #X connect 7 1 12 0; 25 | #X connect 9 0 13 0; 26 | #X connect 10 0 4 0; 27 | #X connect 11 0 7 0; 28 | #X connect 12 0 6 0; 29 | #X connect 13 0 2 0; 30 | -------------------------------------------------------------------------------- /modules/else/bl.imp~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 730 304 482 232 10; 2 | #X declare -path else; 3 | #X obj 60 45 inlet~; 4 | #X obj 112 45 inlet~; 5 | #X obj 165 45 inlet~; 6 | #X obj 78 163 outlet~; 7 | #X obj 264 65 block~ 64 1 16; 8 | #X text 217 129 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 219 110 Alexandre Torres Porres (2018); 10 | #N canvas 68 23 450 300 init 0; 11 | #X obj 147 84 args; 12 | #X obj 151 122 unpack; 13 | #X obj 148 174 outlet; 14 | #X obj 171 149 outlet; 15 | #X obj 147 48 lb -init; 16 | #X connect 0 0 1 0; 17 | #X connect 1 0 2 0; 18 | #X connect 1 1 3 0; 19 | #X connect 4 0 0 0; 20 | #X restore 60 15 pd init; 21 | #X obj 247 33 declare -path else; 22 | #X obj 78 102 imp~; 23 | #X obj 78 132 brickwall~; 24 | #X connect 0 0 9 0; 25 | #X connect 1 0 9 1; 26 | #X connect 2 0 9 2; 27 | #X connect 7 0 0 0; 28 | #X connect 7 1 2 0; 29 | #X connect 9 0 10 0; 30 | #X connect 10 0 3 0; 31 | -------------------------------------------------------------------------------- /modules/else/vocoder.band_clone.pd: -------------------------------------------------------------------------------- 1 | #N canvas 794 200 602 361 10; 2 | #X declare -path else; 3 | #X obj 209 41 inlet; 4 | #X obj 147 268 *~; 5 | #X obj 66 152 mtof; 6 | #X obj 147 309 outlet~; 7 | #X obj 41 40 inlet~; 8 | #X obj 162 41 inlet~; 9 | #X obj 209 72 route freq q; 10 | #X obj 41 197 bandpass~; 11 | #X obj 162 197 bandpass~; 12 | #X text 308 172 Part of ELSE \; https://github.com/porres/pd-else; 13 | #X text 312 216 This is an abstraction used on the [vocoder~] object 14 | , f 27; 15 | #X text 310 153 Alexandre Torres Porres (2018); 16 | #X obj 162 228 mov.rms~ 512; 17 | #X obj 357 118 declare -path else; 18 | #X connect 0 0 6 0; 19 | #X connect 1 0 3 0; 20 | #X connect 2 0 7 1; 21 | #X connect 2 0 8 1; 22 | #X connect 4 0 7 0; 23 | #X connect 5 0 8 0; 24 | #X connect 6 0 2 0; 25 | #X connect 6 1 8 2; 26 | #X connect 6 1 7 2; 27 | #X connect 7 0 1 0; 28 | #X connect 8 0 12 0; 29 | #X connect 12 0 1 1; 30 | -------------------------------------------------------------------------------- /modules/else/bl.saw~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 698 258 482 232 10; 2 | #X declare -path else; 3 | #X obj 50 45 inlet~; 4 | #X obj 103 45 inlet~; 5 | #X obj 155 45 inlet~; 6 | #X obj 78 163 outlet~; 7 | #X obj 78 102 saw~; 8 | #X obj 246 69 block~ 64 1 16; 9 | #X text 227 117 Part of ELSE \; https://github.com/porres/pd-else; 10 | #X text 229 98 Alexandre Torres Porres (2018); 11 | #N canvas 68 23 450 300 init 0; 12 | #X obj 147 84 args; 13 | #X obj 151 122 unpack; 14 | #X obj 148 174 outlet; 15 | #X obj 171 149 outlet; 16 | #X obj 147 48 lb -init; 17 | #X connect 0 0 1 0; 18 | #X connect 1 0 2 0; 19 | #X connect 1 1 3 0; 20 | #X connect 4 0 0 0; 21 | #X restore 50 15 pd init; 22 | #X f 18; 23 | #X obj 237 33 declare -path else; 24 | #X obj 78 132 brickwall~; 25 | #X connect 0 0 4 0; 26 | #X connect 1 0 4 1; 27 | #X connect 2 0 4 2; 28 | #X connect 4 0 10 0; 29 | #X connect 8 0 0 0; 30 | #X connect 8 1 2 0; 31 | #X connect 10 0 3 0; 32 | -------------------------------------------------------------------------------- /modules/else/cents2scale.pd: -------------------------------------------------------------------------------- 1 | #N canvas 668 311 643 432 12; 2 | #X declare -path else; 3 | #X obj 110 163 list length; 4 | #X obj 110 190 - 1; 5 | #X obj 110 248 loop -offset 1; 6 | #X obj 204 86 op / 100; 7 | #X obj 209 166 array define scale_\$0; 8 | #X obj 130 110 buffer scale_\$0, f 11; 9 | #X obj 110 280 expr scale_\$0[$f1] - scale_\$0[$f1-1]; 10 | #X obj 74 326 group; 11 | #X obj 74 80 t b l l, f 11; 12 | #X obj 74 46 inlet; 13 | #X obj 74 360 outlet; 14 | #X obj 110 217 moses 1; 15 | #X text 326 220 Part of ELSE \; https://github.com/porres/pd-else; 16 | #X text 328 201 Alexandre Torres Porres (2021); 17 | #X obj 338 97 declare -path else; 18 | #X connect 0 0 1 0; 19 | #X connect 1 0 11 0; 20 | #X connect 2 0 6 0; 21 | #X connect 3 0 5 1; 22 | #X connect 6 0 7 0; 23 | #X connect 7 0 10 0; 24 | #X connect 8 0 7 0; 25 | #X connect 8 1 0 0; 26 | #X connect 8 2 3 0; 27 | #X connect 9 0 8 0; 28 | #X connect 11 1 2 0; 29 | -------------------------------------------------------------------------------- /modules/else/bl.saw2~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 703 293 482 232 10; 2 | #X declare -path else; 3 | #X obj 60 45 inlet~; 4 | #X obj 112 45 inlet~; 5 | #X obj 165 45 inlet~; 6 | #X obj 78 163 outlet~; 7 | #X obj 248 82 block~ 64 1 16; 8 | #X text 229 130 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 231 111 Alexandre Torres Porres (2018); 10 | #X obj 78 102 saw2~; 11 | #N canvas 752 98 450 300 init 0; 12 | #X obj 147 84 args; 13 | #X obj 151 122 unpack; 14 | #X obj 148 174 outlet; 15 | #X obj 171 149 outlet; 16 | #X obj 147 48 lb -init; 17 | #X connect 0 0 1 0; 18 | #X connect 1 0 2 0; 19 | #X connect 1 1 3 0; 20 | #X connect 4 0 0 0; 21 | #X restore 60 15 pd init; 22 | #X f 18; 23 | #X obj 252 33 declare -path else; 24 | #X obj 78 132 brickwall~; 25 | #X connect 0 0 7 0; 26 | #X connect 1 0 7 1; 27 | #X connect 2 0 7 2; 28 | #X connect 7 0 10 0; 29 | #X connect 8 0 0 0; 30 | #X connect 8 1 2 0; 31 | #X connect 10 0 3 0; 32 | -------------------------------------------------------------------------------- /modules/else/bl.sine~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 777 294 482 232 10; 2 | #X declare -path else; 3 | #X obj 61 52 inlet~; 4 | #X obj 113 52 inlet~; 5 | #X obj 166 52 inlet~; 6 | #X obj 85 109 sine~; 7 | #X obj 85 170 outlet~; 8 | #X obj 238 81 block~ 64 1 16; 9 | #X text 218 136 Part of ELSE \; https://github.com/porres/pd-else; 10 | #X text 220 117 Alexandre Torres Porres (2018); 11 | #N canvas 68 23 450 300 init 0; 12 | #X obj 147 84 args; 13 | #X obj 151 122 unpack; 14 | #X obj 148 174 outlet; 15 | #X obj 171 149 outlet; 16 | #X obj 147 48 lb -init; 17 | #X connect 0 0 1 0; 18 | #X connect 1 0 2 0; 19 | #X connect 1 1 3 0; 20 | #X connect 4 0 0 0; 21 | #X restore 61 22 pd init; 22 | #X f 18; 23 | #X obj 248 34 declare -path else; 24 | #X obj 85 139 brickwall~; 25 | #X connect 0 0 3 0; 26 | #X connect 1 0 3 1; 27 | #X connect 2 0 3 2; 28 | #X connect 3 0 10 0; 29 | #X connect 8 0 0 0; 30 | #X connect 8 1 2 0; 31 | #X connect 10 0 4 0; 32 | -------------------------------------------------------------------------------- /modules/else/bl.tri~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 667 287 482 232 10; 2 | #X declare -path else; 3 | #X obj 61 45 inlet~; 4 | #X obj 113 45 inlet~; 5 | #X obj 166 45 inlet~; 6 | #X obj 87 163 outlet~; 7 | #X obj 266 82 block~ 64 1 16; 8 | #X text 247 130 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 249 111 Alexandre Torres Porres (2018); 10 | #X obj 87 102 tri~; 11 | #N canvas 68 23 450 300 init 0; 12 | #X obj 147 84 args; 13 | #X obj 148 174 outlet; 14 | #X obj 201 172 outlet; 15 | #X obj 151 122 unpack f f; 16 | #X obj 147 48 lb 2 -init; 17 | #X connect 0 0 3 0; 18 | #X connect 3 0 1 0; 19 | #X connect 3 1 2 0; 20 | #X connect 4 0 0 0; 21 | #X restore 50 15 pd init; 22 | #X f 18; 23 | #X obj 263 40 declare -path else; 24 | #X obj 87 131 brickwall~; 25 | #X connect 0 0 7 0; 26 | #X connect 1 0 7 1; 27 | #X connect 2 0 7 2; 28 | #X connect 7 0 10 0; 29 | #X connect 8 0 0 0; 30 | #X connect 8 1 2 0; 31 | #X connect 10 0 3 0; 32 | -------------------------------------------------------------------------------- /modules/else/e.pd: -------------------------------------------------------------------------------- 1 | #N canvas 655 217 610 504 10; 2 | #X declare -path else; 3 | #X obj 121 66 inlet; 4 | #X msg 191 240 1; 5 | #X obj 191 336 f; 6 | #X obj 248 407 outlet; 7 | #X obj 264 64 inlet; 8 | #X text 295 195 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 297 176 Alexandre Torres Porres (2017); 10 | #X obj 145 151 args; 11 | #X obj 145 173 route bang float; 12 | #X obj 191 206 t b f; 13 | #X obj 283 281 click; 14 | #X obj 248 371 * 1; 15 | #X obj 191 268 exp; 16 | #X obj 145 128 lb -init; 17 | #X obj 121 265 lb; 18 | #X obj 382 132 declare -path else; 19 | #X connect 0 0 14 0; 20 | #X connect 1 0 12 0; 21 | #X connect 2 0 11 0; 22 | #X connect 4 0 11 1; 23 | #X connect 7 0 8 0; 24 | #X connect 8 0 1 0; 25 | #X connect 8 1 9 0; 26 | #X connect 9 0 1 0; 27 | #X connect 9 1 11 1; 28 | #X connect 10 0 2 0; 29 | #X connect 11 0 3 0; 30 | #X connect 12 0 2 1; 31 | #X connect 13 0 7 0; 32 | #X connect 14 0 2 0; 33 | -------------------------------------------------------------------------------- /modules/else/pipe2.pd: -------------------------------------------------------------------------------- 1 | #N canvas 862 23 558 482 10; 2 | #X declare -path else; 3 | #X obj 62 83 t b a, f 7; 4 | #X obj 62 321 b; 5 | #X obj 116 366 stack; 6 | #A saved; 7 | #X msg 165 165 dump; 8 | #X msg 210 215 clear; 9 | #X msg 71 221 clear; 10 | #X obj 62 45 inlet; 11 | #X obj 165 45 inlet; 12 | #X obj 116 408 outlet; 13 | #X obj 62 277 pipe \$1; 14 | #X obj 165 120 route flush clear float; 15 | #X text 228 304 Part of ELSE \; https://github.com/porres/pd-else; 16 | #X text 230 285 Alexandre Torres Porres (2021); 17 | #X obj 280 212 declare -path else; 18 | #X connect 0 0 9 0; 19 | #X connect 0 1 2 1; 20 | #X connect 1 0 2 0; 21 | #X connect 2 0 8 0; 22 | #X connect 3 0 2 0; 23 | #X connect 3 0 5 0; 24 | #X connect 4 0 2 0; 25 | #X connect 4 0 9 0; 26 | #X connect 5 0 9 0; 27 | #X connect 6 0 0 0; 28 | #X connect 7 0 10 0; 29 | #X connect 9 0 1 0; 30 | #X connect 10 0 3 0; 31 | #X connect 10 1 4 0; 32 | #X connect 10 2 9 1; 33 | -------------------------------------------------------------------------------- /modules/filter_wrapper~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 34 245 lop~; 3 | #X obj 34 31 inlet~; 4 | #X obj 34 185 utils/sig_mix~; 5 | #X obj 34 348 outlet~; 6 | #X obj 626 31 inlet is_active; 7 | #X obj 192 31 inlet comb_fac; 8 | #X obj 299 31 inlet comb_mix; 9 | #X obj 34 309 utils/sig_mix~; 10 | #X obj 514 31 inlet lop_mix; 11 | #X obj 34 112 comb.filt~ 0 0.5 1; 12 | #X obj 83 31 inlet~ comb_freq; 13 | #X obj 626 106 switch~; 14 | #X obj 409 31 inlet lop_freq; 15 | #X obj 745 31 inlet reset; 16 | #X msg 745 106 clear; 17 | #X connect 0 0 7 0; 18 | #X connect 1 0 2 1; 19 | #X connect 1 0 9 0; 20 | #X connect 2 0 0 0; 21 | #X connect 2 0 7 1; 22 | #X connect 4 0 11 0; 23 | #X connect 5 0 9 2; 24 | #X connect 6 0 2 2; 25 | #X connect 7 0 3 0; 26 | #X connect 8 0 7 2; 27 | #X connect 9 0 2 0; 28 | #X connect 10 0 9 1; 29 | #X connect 12 0 0 1; 30 | #X connect 13 0 14 0; 31 | #X connect 14 0 0 0; 32 | #X connect 14 0 9 0; 33 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: chsh2 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 12 | polar: # Replace with a single Polar username 13 | buy_me_a_coffee: # Replace with a single Buy Me a Coffee username 14 | thanks_dev: # Replace with a single thanks.dev username 15 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 16 | -------------------------------------------------------------------------------- /modules/else/meter.pd: -------------------------------------------------------------------------------- 1 | #N canvas 1135 151 450 300 10; 2 | #X declare -path else; 3 | #X obj 100 162 cputime; 4 | #X obj 100 134 t b b; 5 | #X obj 100 109 metro 500; 6 | #X obj 100 189 * 0.2; 7 | #X obj 100 221 outlet; 8 | #X obj 100 52 inlet; 9 | #N canvas 114 76 329 274 init 0; 10 | #X obj 124 90 args; 11 | #X obj 123 112 route bang float; 12 | #X obj 169 140 != 0; 13 | #X msg 123 139 1; 14 | #X obj 169 168 outlet; 15 | #X obj 124 67 lb -init; 16 | #X connect 0 0 1 0; 17 | #X connect 1 0 3 0; 18 | #X connect 1 1 2 0; 19 | #X connect 2 0 4 0; 20 | #X connect 3 0 4 0; 21 | #X connect 5 0 0 0; 22 | #X restore 127 81 pd init; 23 | #X text 191 154 Part of ELSE \; https://github.com/porres/pd-else; 24 | #X text 193 134 Alexandre Torres Porres (2019); 25 | #X obj 242 88 declare -path else; 26 | #X connect 0 0 3 0; 27 | #X connect 1 0 0 0; 28 | #X connect 1 1 0 1; 29 | #X connect 2 0 1 0; 30 | #X connect 3 0 4 0; 31 | #X connect 5 0 2 0; 32 | #X connect 6 0 2 0; 33 | -------------------------------------------------------------------------------- /modules/else/bl.wavetable~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 678 269 470 248 10; 2 | #X declare -path else; 3 | #X obj 156 78 inlet~; 4 | #X obj 204 78 inlet~; 5 | #X obj 119 187 outlet~; 6 | #X obj 272 113 block~ 64 1 16; 7 | #X text 253 161 Part of ELSE \; https://github.com/porres/pd-else; 8 | #X text 255 142 Alexandre Torres Porres (2018); 9 | #X obj 119 126 wavetable~ \$1; 10 | #N canvas 235 319 450 300 init 0; 11 | #X obj 147 84 args; 12 | #X obj 188 161 outlet; 13 | #X obj 232 159 outlet; 14 | #X obj 151 122 unpack s f f; 15 | #X obj 147 47 lb -init; 16 | #X connect 0 0 3 0; 17 | #X connect 3 1 1 0; 18 | #X connect 3 2 2 0; 19 | #X connect 4 0 0 0; 20 | #X restore 62 51 pd init; 21 | #X f 22; 22 | #X obj 286 76 declare -path else; 23 | #X obj 119 156 brickwall~; 24 | #X obj 62 79 inlet~ fwd; 25 | #X connect 0 0 6 1; 26 | #X connect 1 0 6 2; 27 | #X connect 6 0 9 0; 28 | #X connect 7 0 10 0; 29 | #X connect 7 1 1 0; 30 | #X connect 9 0 2 0; 31 | #X connect 10 0 6 0; 32 | #X connect 10 1 6 0; 33 | -------------------------------------------------------------------------------- /modules/else/rm~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 712 140 532 323 10; 2 | #X declare -path else; 3 | #X obj 162 219 *~; 4 | #X obj 45 43 inlet~; 5 | #X obj 177 43 inlet; 6 | #X obj 45 278 outlet~; 7 | #X text 179 22 Hz; 8 | #X text 45 22 input; 9 | #X text 292 180 Part of ELSE \; https://github.com/porres/pd-else; 10 | #X text 294 161 Alexandre Torres Porres (2018); 11 | #X obj 177 194 osc~; 12 | #X obj 177 104 f2s~ 5 \$1; 13 | #X obj 126 117 change; 14 | #X obj 55 219 + 1; 15 | #X obj 126 94 != 0; 16 | #X obj 45 247 xselect~ 2 10 2; 17 | #X obj 217 163 sel 0; 18 | #X obj 217 185 del 10; 19 | #X msg 217 208 0; 20 | #X obj 311 100 declare -path else; 21 | #X connect 0 0 13 1; 22 | #X connect 1 0 0 0; 23 | #X connect 1 0 13 0; 24 | #X connect 2 0 9 0; 25 | #X connect 2 0 12 0; 26 | #X connect 8 0 0 1; 27 | #X connect 9 0 8 0; 28 | #X connect 10 0 11 0; 29 | #X connect 10 0 14 0; 30 | #X connect 11 0 13 0; 31 | #X connect 12 0 10 0; 32 | #X connect 13 0 3 0; 33 | #X connect 14 0 15 0; 34 | #X connect 15 0 16 0; 35 | #X connect 16 0 8 1; 36 | -------------------------------------------------------------------------------- /modules/else/mag~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 904 172 403 327 10; 2 | #X declare -path else; 3 | #X text 183 195 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 185 176 Alexandre Torres Porres (2018); 5 | #X obj 112 43 inlet~; 6 | #X obj 97 105 *~; 7 | #X obj 55 43 inlet~; 8 | #X obj 82 133 +~; 9 | #X obj 52 188 sqrt~; 10 | #X obj 105 267 outlet~; 11 | #X obj 55 104 *~; 12 | #X obj 143 112 symbol \$1; 13 | #X obj 143 133 sel power; 14 | #X obj 52 223 *~ 1; 15 | #X obj 105 207 *~ 0; 16 | #X msg 143 165 1; 17 | #X msg 112 165 0; 18 | #X obj 143 88 lb -init; 19 | #X obj 248 92 declare -path else; 20 | #X connect 2 0 3 1; 21 | #X connect 2 0 3 0; 22 | #X connect 3 0 5 1; 23 | #X connect 4 0 8 0; 24 | #X connect 4 0 8 1; 25 | #X connect 5 0 6 0; 26 | #X connect 5 0 12 0; 27 | #X connect 6 0 11 0; 28 | #X connect 8 0 5 0; 29 | #X connect 9 0 10 0; 30 | #X connect 10 0 14 0; 31 | #X connect 10 0 13 0; 32 | #X connect 11 0 7 0; 33 | #X connect 12 0 7 0; 34 | #X connect 13 0 12 1; 35 | #X connect 14 0 11 1; 36 | #X connect 15 0 9 0; 37 | -------------------------------------------------------------------------------- /modules/else/median.pd: -------------------------------------------------------------------------------- 1 | #N canvas 502 131 620 250 10; 2 | #X declare -path else; 3 | #X obj 31 12 inlet; 4 | #X obj 245 50 list length; 5 | #X obj 258 72 v size_\$0; 6 | #X obj 77 123 v size_\$0; 7 | #X obj 260 123 table buf_\$0; 8 | #X obj 145 123 array set buf_\$0; 9 | #X obj 245 95 array size buf_\$0; 10 | #X obj 77 154 expr if($f1 % 2 \, buf_\$0[$f1/2] \, 0.5*(buf_\$0[($f1/2)-1] 11 | + buf_\$0[$f1/2])), f 40; 12 | #X obj 32 205 outlet; 13 | #X text 361 119 Part of ELSE \; https://github.com/porres/pd-else; 14 | #X text 363 100 Alexandre Torres Porres (2018); 15 | #X obj 31 58 route float list; 16 | #X obj 77 88 t b l; 17 | #X obj 145 74 sort; 18 | #X obj 145 97 trigger l l; 19 | #X obj 407 60 declare -path else; 20 | #X connect 0 0 11 0; 21 | #X connect 1 0 2 0; 22 | #X connect 1 0 6 0; 23 | #X connect 3 0 7 0; 24 | #X connect 7 0 8 0; 25 | #X connect 11 0 8 0; 26 | #X connect 11 1 12 0; 27 | #X connect 12 0 3 0; 28 | #X connect 12 1 13 0; 29 | #X connect 13 0 14 0; 30 | #X connect 14 0 5 0; 31 | #X connect 14 1 1 0; 32 | -------------------------------------------------------------------------------- /modules/else/bl.vsaw~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 521 281 482 232 10; 2 | #X declare -path else; 3 | #X obj 60 45 inlet~; 4 | #X obj 112 45 inlet~; 5 | #X obj 165 45 inlet~; 6 | #X obj 112 163 outlet~; 7 | #X obj 271 93 block~ 64 1 16; 8 | #X text 252 141 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 254 122 Alexandre Torres Porres (2018); 10 | #X obj 112 102 vsaw~; 11 | #X obj 218 45 inlet~; 12 | #N canvas 68 23 450 300 init 0; 13 | #X obj 147 84 args; 14 | #X obj 148 174 outlet; 15 | #X obj 188 161 outlet; 16 | #X obj 151 122 unpack f f f; 17 | #X obj 232 159 outlet; 18 | #X obj 147 48 lb 2 -init; 19 | #X connect 0 0 3 0; 20 | #X connect 3 0 1 0; 21 | #X connect 3 1 2 0; 22 | #X connect 3 2 4 0; 23 | #X connect 5 0 0 0; 24 | #X restore 60 15 pd init; 25 | #X f 18; 26 | #X obj 298 36 declare -path else; 27 | #X obj 112 132 brickwall~; 28 | #X connect 0 0 7 0; 29 | #X connect 1 0 7 1; 30 | #X connect 2 0 7 2; 31 | #X connect 7 0 11 0; 32 | #X connect 8 0 7 3; 33 | #X connect 9 0 0 0; 34 | #X connect 9 1 1 0; 35 | #X connect 9 2 8 0; 36 | #X connect 11 0 3 0; 37 | -------------------------------------------------------------------------------- /modules/else/nmess.pd: -------------------------------------------------------------------------------- 1 | #N canvas 605 171 596 333 12; 2 | #X declare -path else; 3 | #X obj 106 166 f; 4 | #X obj 146 175 + 1; 5 | #X msg 124 133 0; 6 | #X obj 124 66 route bang float; 7 | #X obj 178 96 t b f; 8 | #X obj 72 237 router; 9 | #X obj 72 66 t a b; 10 | #X obj 146 266 outlet; 11 | #X obj 72 266 outlet; 12 | #X obj 72 38 inlet; 13 | #X obj 124 38 inlet; 14 | #X text 304 171 Part of ELSE \; https://github.com/porres/pd-else; 15 | #X text 306 152 Alexandre Torres Porres (2021); 16 | #X obj 241 128 f \$1; 17 | #X obj 210 160 max 0; 18 | #X obj 146 208 >; 19 | #X obj 241 104 loadbanger -init; 20 | #X obj 393 93 declare -path else; 21 | #X connect 0 0 1 0; 22 | #X connect 1 0 0 1; 23 | #X connect 1 0 15 0; 24 | #X connect 2 0 0 1; 25 | #X connect 3 0 2 0; 26 | #X connect 3 1 4 0; 27 | #X connect 4 0 2 0; 28 | #X connect 4 1 14 0; 29 | #X connect 5 0 8 0; 30 | #X connect 5 1 7 0; 31 | #X connect 6 0 5 0; 32 | #X connect 6 1 0 0; 33 | #X connect 9 0 6 0; 34 | #X connect 10 0 3 0; 35 | #X connect 13 0 14 0; 36 | #X connect 14 0 15 1; 37 | #X connect 15 0 5 1; 38 | #X connect 16 0 13 0; 39 | -------------------------------------------------------------------------------- /modules/else/pi.pd: -------------------------------------------------------------------------------- 1 | #N canvas 631 163 465 455 10; 2 | #X declare -path else; 3 | #X obj 83 264 b; 4 | #X obj 83 65 inlet; 5 | #X msg 133 229 1; 6 | #X obj 133 257 atan; 7 | #X obj 133 283 * 4; 8 | #X obj 160 416 outlet; 9 | #X obj 176 63 inlet; 10 | #X text 222 209 Part of ELSE \; https://github.com/porres/pd-else; 11 | #X text 224 190 Alexandre Torres Porres (2017); 12 | #X obj 115 118 args; 13 | #X obj 115 140 route bang float; 14 | #X msg 115 161 1; 15 | #X obj 160 380 *; 16 | #X obj 133 205 t b f; 17 | #X obj 202 275 click; 18 | #X obj 118 325 f; 19 | #X obj 115 95 lb -init; 20 | #X obj 207 300 loadbang; 21 | #X obj 274 131 declare -path else; 22 | #X connect 0 0 15 0; 23 | #X connect 1 0 0 0; 24 | #X connect 2 0 3 0; 25 | #X connect 3 0 4 0; 26 | #X connect 4 0 15 1; 27 | #X connect 6 0 12 1; 28 | #X connect 9 0 10 0; 29 | #X connect 10 0 11 0; 30 | #X connect 10 1 13 0; 31 | #X connect 11 0 13 0; 32 | #X connect 12 0 5 0; 33 | #X connect 13 0 2 0; 34 | #X connect 13 1 12 1; 35 | #X connect 14 0 15 0; 36 | #X connect 15 0 12 0; 37 | #X connect 16 0 9 0; 38 | #X connect 17 0 15 0; 39 | -------------------------------------------------------------------------------- /modules/else/status.pd: -------------------------------------------------------------------------------- 1 | #N canvas 493 57 573 330 10; 2 | #X declare -path else; 3 | #X obj 177 156 == 0; 4 | #X obj 249 129 == 0; 5 | #X msg 249 155 set \$1; 6 | #X obj 177 208 change; 7 | #X obj 177 267 outlet; 8 | #X obj 235 267 outlet; 9 | #X obj 203 73 args; 10 | #X obj 203 96 route bang float; 11 | #X msg 203 128 -1; 12 | #X obj 39 29 inlet; 13 | #X text 310 162 Part of ELSE \; https://github.com/porres/pd-else; 14 | #X text 312 143 Alexandre Torres Porres (2018); 15 | #X obj 39 61 route change bang float; 16 | #X obj 177 182 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 17 | 1; 18 | #X obj 177 230 select 0 1, f 20; 19 | #X obj 203 51 lb -init; 20 | #X obj 358 99 declare -path else; 21 | #X connect 0 0 13 0; 22 | #X connect 1 0 2 0; 23 | #X connect 2 0 3 0; 24 | #X connect 3 0 14 0; 25 | #X connect 6 0 7 0; 26 | #X connect 7 0 8 0; 27 | #X connect 7 1 1 0; 28 | #X connect 8 0 2 0; 29 | #X connect 9 0 12 0; 30 | #X connect 12 0 13 0; 31 | #X connect 12 1 3 0; 32 | #X connect 12 2 0 0; 33 | #X connect 13 0 3 0; 34 | #X connect 14 0 4 0; 35 | #X connect 14 1 5 0; 36 | #X connect 15 0 6 0; 37 | -------------------------------------------------------------------------------- /modules/else/rdelay~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 580 226 640 383 12; 2 | #X declare -path else; 3 | #X obj 128 193 * 2; 4 | #X msg 128 246 size \$1; 5 | #X obj 199 186 /; 6 | #X msg 199 157 1000 \$1; 7 | #X obj 199 77 loadbang; 8 | #X obj 199 101 args; 9 | #X obj 199 125 route float; 10 | #X obj 61 45 inlet~ fwd; 11 | #X obj 368 103 declare -path else; 12 | #X obj 61 337 outlet~; 13 | #X msg 77 193 clear; 14 | #X obj 128 71 route resize clear, f 6; 15 | #X obj 61 300 ffdelay~ 2000; 16 | #X obj 199 259 *~ 2000; 17 | #X obj 199 215 phasor~ 1; 18 | #X text 339 185 Part of ELSE \; https://github.com/porres/pd-else; 19 | #X text 341 166 Alexandre Torres Porres (2020); 20 | #X connect 0 0 1 0; 21 | #X connect 0 0 13 1; 22 | #X connect 1 0 12 0; 23 | #X connect 2 0 14 0; 24 | #X connect 3 0 2 0; 25 | #X connect 4 0 5 0; 26 | #X connect 5 0 6 0; 27 | #X connect 6 0 3 0; 28 | #X connect 6 0 0 0; 29 | #X connect 7 0 12 0; 30 | #X connect 7 1 11 0; 31 | #X connect 10 0 12 0; 32 | #X connect 11 0 0 0; 33 | #X connect 11 0 3 0; 34 | #X connect 11 1 10 0; 35 | #X connect 12 0 9 0; 36 | #X connect 13 0 12 1; 37 | #X connect 14 0 13 0; 38 | -------------------------------------------------------------------------------- /modules/else/bl.imp2~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 735 282 482 232 10; 2 | #X declare -path else; 3 | #X obj 60 45 inlet~; 4 | #X obj 112 45 inlet~; 5 | #X obj 165 45 inlet~; 6 | #X obj 107 164 outlet~; 7 | #X obj 274 84 block~ 64 1 16; 8 | #X obj 107 103 imp2~; 9 | #X obj 220 44 inlet~; 10 | #X text 231 129 Part of ELSE \; https://github.com/porres/pd-else; 11 | #X text 233 110 Alexandre Torres Porres (2018); 12 | #N canvas 351 61 450 300 init 0; 13 | #X obj 154 94 args; 14 | #X obj 139 159 outlet; 15 | #X obj 188 159 outlet; 16 | #X obj 154 125 unpack f f f; 17 | #X obj 242 159 outlet; 18 | #X msg 229 92 0.5; 19 | #X obj 154 62 lb -init 2; 20 | #X connect 0 0 3 0; 21 | #X connect 3 0 1 0; 22 | #X connect 3 1 2 0; 23 | #X connect 3 2 4 0; 24 | #X connect 5 0 2 0; 25 | #X connect 6 0 0 0; 26 | #X connect 6 1 5 0; 27 | #X restore 93 12 pd init; 28 | #X obj 298 42 declare -path else; 29 | #X obj 107 133 brickwall~; 30 | #X connect 0 0 5 0; 31 | #X connect 1 0 5 1; 32 | #X connect 2 0 5 2; 33 | #X connect 5 0 11 0; 34 | #X connect 6 0 5 3; 35 | #X connect 9 0 0 0; 36 | #X connect 9 1 1 0; 37 | #X connect 9 2 6 0; 38 | #X connect 11 0 3 0; 39 | -------------------------------------------------------------------------------- /modules/else/bl.square~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 643 257 482 232 10; 2 | #X declare -path else; 3 | #X obj 40 45 inlet~; 4 | #X obj 92 45 inlet~; 5 | #X obj 145 45 inlet~; 6 | #X obj 78 163 outlet~; 7 | #X obj 265 82 block~ 64 1 16; 8 | #X text 246 130 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 248 111 Alexandre Torres Porres (2018); 10 | #X obj 78 102 square~; 11 | #X obj 193 47 inlet~; 12 | #N canvas 68 23 450 300 init 0; 13 | #X obj 147 84 args; 14 | #X obj 148 174 outlet; 15 | #X obj 188 161 outlet; 16 | #X obj 151 122 unpack f f f; 17 | #X obj 232 159 outlet; 18 | #X msg 241 84 0.5; 19 | #X obj 147 48 lb 2 -init; 20 | #X connect 0 0 3 0; 21 | #X connect 3 0 1 0; 22 | #X connect 3 1 2 0; 23 | #X connect 3 2 4 0; 24 | #X connect 5 0 2 0; 25 | #X connect 6 0 0 0; 26 | #X connect 6 1 5 0; 27 | #X restore 50 15 pd init; 28 | #X f 18; 29 | #X obj 266 35 declare -path else; 30 | #X obj 78 132 brickwall~; 31 | #X connect 0 0 7 0; 32 | #X connect 1 0 7 1; 33 | #X connect 2 0 7 2; 34 | #X connect 7 0 11 0; 35 | #X connect 8 0 7 3; 36 | #X connect 9 0 0 0; 37 | #X connect 9 1 1 0; 38 | #X connect 9 2 8 0; 39 | #X connect 11 0 3 0; 40 | -------------------------------------------------------------------------------- /modules/else/oscclone2.pd: -------------------------------------------------------------------------------- 1 | #N canvas 412 257 546 323 10; 2 | #X declare -path else; 3 | #X obj 107 281 outlet~; 4 | #X obj 142 21 inlet; 5 | #X obj 107 179 *~; 6 | #X obj 198 20 inlet; 7 | #X text 307 144 Part of ELSE \; https://github.com/porres/pd-else; 8 | #X text 309 125 Alexandre Torres Porres (2017); 9 | #X obj 194 226 sel 0; 10 | #X msg 194 250 1; 11 | #X obj 51 134 sine~; 12 | #X obj 51 20 inlet; 13 | #X obj 93 21 inlet; 14 | #X obj 107 230 /~ \$1; 15 | #X obj 194 203 f \$1; 16 | #X obj 132 148 float2sig~; 17 | #X obj 51 91 float2sig~; 18 | #X obj 93 59 float2sig~; 19 | #X text 311 189 This is an abstraction used on the [oscbank2~] object 20 | , f 27; 21 | #X obj 194 179 lb -init; 22 | #X obj 331 76 declare -path else; 23 | #X connect 1 0 13 0; 24 | #X connect 2 0 11 0; 25 | #X connect 3 0 13 1; 26 | #X connect 3 0 14 1; 27 | #X connect 3 0 15 1; 28 | #X connect 6 0 7 0; 29 | #X connect 7 0 11 1; 30 | #X connect 8 0 2 0; 31 | #X connect 9 0 14 0; 32 | #X connect 10 0 15 0; 33 | #X connect 11 0 0 0; 34 | #X connect 12 0 6 0; 35 | #X connect 13 0 2 1; 36 | #X connect 14 0 8 0; 37 | #X connect 15 0 8 2; 38 | #X connect 17 0 12 0; 39 | -------------------------------------------------------------------------------- /modules/channel_vocoder_unit~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 78 63 inlet~ source; 3 | #X obj 256 63 inlet~ mod; 4 | #X obj 256 240 env~; 5 | #X obj 78 330 *~; 6 | #X obj 78 462 outlet~; 7 | #X obj 400 63 \$1; 8 | #X obj 400 130 + 28; 9 | #X obj 400 97 * \$2; 10 | #X obj 400 159 mtof; 11 | #X obj 400 31 loadbang; 12 | #X obj 256 302 dbtorms~; 13 | #X obj 584 63 inlet clear; 14 | #X msg 584 130 clear; 15 | #X obj 582 97 t b; 16 | #X obj 467 63 inlet is_active; 17 | #X obj 467 92 switch~; 18 | #X obj 78 209 bp~ 440 \$3; 19 | #X obj 256 209 bp~ 440 \$3; 20 | #X obj 78 395 *~ \$4; 21 | #X obj 256 270 lop~ 50; 22 | #X connect 0 0 16 0; 23 | #X connect 1 0 17 0; 24 | #X connect 2 0 19 0; 25 | #X connect 3 0 18 0; 26 | #X connect 5 0 7 0; 27 | #X connect 6 0 8 0; 28 | #X connect 7 0 6 0; 29 | #X connect 8 0 16 1; 30 | #X connect 8 0 17 1; 31 | #X connect 9 0 5 0; 32 | #X connect 10 0 3 1; 33 | #X connect 11 0 13 0; 34 | #X connect 12 0 16 0; 35 | #X connect 12 0 17 0; 36 | #X connect 12 0 19 0; 37 | #X connect 13 0 12 0; 38 | #X connect 14 0 15 0; 39 | #X connect 16 0 3 0; 40 | #X connect 17 0 2 0; 41 | #X connect 18 0 4 0; 42 | #X connect 19 0 10 0; 43 | -------------------------------------------------------------------------------- /modules/else/norm~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 682 173 483 379 10; 2 | #X declare -path else; 3 | #X obj 93 287 /~; 4 | #X obj 93 49 inlet~; 5 | #X obj 93 327 outlet~; 6 | #X obj 235 49 inlet; 7 | #X obj 235 226 db2lin; 8 | #X obj 108 258 /~ 0; 9 | #X text 189 279 Part of ELSE \; https://github.com/porres/pd-else; 10 | #X text 191 260 Alexandre Torres Porres (2018); 11 | #X obj 257 108 args; 12 | #X obj 257 134 break -; 13 | #X obj 343 188 s \$0-size; 14 | #X obj 165 155 r \$0-size; 15 | #X msg 122 190 size \$1; 16 | #X msg 257 186 0; 17 | #X obj 257 161 route bang float -size; 18 | #X floatatom 300 187 5 0 0 0 - - -; 19 | #X obj 108 219 mov.rms~ 1024; 20 | #X obj 257 85 lb -init; 21 | #X obj 348 113 declare -path else; 22 | #X connect 0 0 2 0; 23 | #X connect 1 0 0 0; 24 | #X connect 1 0 16 0; 25 | #X connect 3 0 4 0; 26 | #X connect 4 0 5 1; 27 | #X connect 5 0 0 1; 28 | #X connect 8 0 9 0; 29 | #X connect 9 0 14 0; 30 | #X connect 11 0 12 0; 31 | #X connect 11 0 16 1; 32 | #X connect 12 0 16 0; 33 | #X connect 13 0 4 0; 34 | #X connect 14 0 13 0; 35 | #X connect 14 1 15 0; 36 | #X connect 14 2 10 0; 37 | #X connect 15 0 4 0; 38 | #X connect 16 0 5 0; 39 | #X connect 17 0 8 0; 40 | -------------------------------------------------------------------------------- /modules/else/bpclone.pd: -------------------------------------------------------------------------------- 1 | #N canvas 568 291 633 366 10; 2 | #X declare -path else; 3 | #X obj 206 300 outlet~; 4 | #X obj 93 39 inlet; 5 | #X obj 43 39 inlet~; 6 | #X obj 134 40 inlet; 7 | #X obj 221 39 inlet; 8 | #X obj 206 198 *~; 9 | #X obj 306 43 inlet; 10 | #X text 394 134 Part of ELSE \; https://github.com/porres/pd-else; 11 | #X text 396 115 Alexandre Torres Porres (2017); 12 | #X obj 293 245 sel 0; 13 | #X msg 293 269 1; 14 | #X obj 70 153 bandpass~; 15 | #X obj 221 167 float2sig~; 16 | #X obj 293 221 f \$1; 17 | #X obj 206 250 /~ \$1; 18 | #X text 398 179 This is an abstraction used on the [bpbank~] object 19 | , f 27; 20 | #X obj 93 117 float2sig~; 21 | #X obj 106 78 float2sig~; 22 | #X obj 293 198 lb -init; 23 | #X obj 409 89 declare -path else; 24 | #X connect 1 0 16 0; 25 | #X connect 2 0 11 0; 26 | #X connect 3 0 17 0; 27 | #X connect 4 0 12 0; 28 | #X connect 5 0 14 0; 29 | #X connect 6 0 12 1; 30 | #X connect 6 0 16 1; 31 | #X connect 6 0 17 1; 32 | #X connect 9 0 10 0; 33 | #X connect 10 0 14 1; 34 | #X connect 11 0 5 0; 35 | #X connect 12 0 5 1; 36 | #X connect 13 0 9 0; 37 | #X connect 14 0 0 0; 38 | #X connect 16 0 11 1; 39 | #X connect 17 0 11 2; 40 | #X connect 18 0 13 0; 41 | -------------------------------------------------------------------------------- /modules/else/resonclone.pd: -------------------------------------------------------------------------------- 1 | #N canvas 458 348 604 317 10; 2 | #X declare -path else; 3 | #X obj 192 281 outlet~; 4 | #X obj 79 20 inlet; 5 | #X obj 29 20 inlet~; 6 | #X obj 120 21 inlet; 7 | #X obj 56 134 resonant~; 8 | #X obj 207 20 inlet; 9 | #X obj 192 179 *~; 10 | #X obj 251 17 inlet; 11 | #X text 375 131 Part of ELSE \; https://github.com/porres/pd-else; 12 | #X text 377 112 Alexandre Torres Porres (2017); 13 | #X text 379 176 This is an abstraction used on the [resonbank~] object 14 | , f 27; 15 | #X obj 279 226 sel 0; 16 | #X msg 279 250 1; 17 | #X obj 207 148 float2sig~; 18 | #X obj 79 98 float2sig~; 19 | #X obj 92 59 float2sig~; 20 | #X obj 279 203 f \$1; 21 | #X obj 192 226 /~ \$1; 22 | #X obj 279 179 lb -init; 23 | #X obj 393 66 declare -path else; 24 | #X connect 1 0 14 0; 25 | #X connect 2 0 4 0; 26 | #X connect 3 0 15 0; 27 | #X connect 4 0 6 0; 28 | #X connect 5 0 13 0; 29 | #X connect 6 0 17 0; 30 | #X connect 7 0 13 1; 31 | #X connect 7 0 14 1; 32 | #X connect 7 0 15 1; 33 | #X connect 11 0 12 0; 34 | #X connect 12 0 17 1; 35 | #X connect 13 0 6 1; 36 | #X connect 14 0 4 1; 37 | #X connect 15 0 4 2; 38 | #X connect 16 0 11 0; 39 | #X connect 17 0 0 0; 40 | #X connect 18 0 16 0; 41 | -------------------------------------------------------------------------------- /modules/else/crusher~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 665 174 513 342 10; 2 | #X declare -path else; 3 | #X obj 236 70 inlet~; 4 | #X obj 157 70 inlet~; 5 | #X obj 83 263 outlet~; 6 | #X obj 40 70 inlet~; 7 | #X obj 157 115 clip~ 0 1; 8 | #X text 250 239 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 252 221 Alexandre Torres Porres (2018); 10 | #X obj 389 136 sr~; 11 | #X obj 236 107 clip~ 0 0.98; 12 | #X obj 236 159 expr~ (1 - pow($v1 \, 0.1)) * $f2, f 26; 13 | #X obj 40 159 quantizer~ 0 \$1; 14 | #X obj 83 204 downsample~ 0 \$2; 15 | #N canvas 197 55 223 206 init 0; 16 | #X obj 84 81 args; 17 | #X obj 84 111 unpack; 18 | #X obj 83 147 outlet; 19 | #X obj 134 149 outlet; 20 | #X obj 84 41 lb -init; 21 | #X connect 0 0 1 0; 22 | #X connect 1 0 2 0; 23 | #X connect 1 1 3 0; 24 | #X connect 4 0 0 0; 25 | #X restore 197 34 pd init; 26 | #X obj 329 65 declare -path else; 27 | #X obj 389 113 lb -init; 28 | #X connect 0 0 8 0; 29 | #X connect 1 0 4 0; 30 | #X connect 3 0 10 0; 31 | #X connect 4 0 10 1; 32 | #X connect 7 0 9 1; 33 | #X connect 8 0 9 0; 34 | #X connect 9 0 11 1; 35 | #X connect 10 0 11 0; 36 | #X connect 11 0 2 0; 37 | #X connect 12 0 1 0; 38 | #X connect 12 1 0 0; 39 | #X connect 14 0 7 0; 40 | -------------------------------------------------------------------------------- /modules/else/car2pol.pd: -------------------------------------------------------------------------------- 1 | #N canvas 777 189 551 332 10; 2 | #X obj 223 35 inlet; 3 | #X obj 62 34 inlet; 4 | #X obj 130 265 outlet; 5 | #X obj 201 265 outlet; 6 | #X obj 103 182 *; 7 | #X obj 145 183 *; 8 | #X obj 130 211 +; 9 | #X obj 130 236 sqrt; 10 | #X obj 201 187 atan2; 11 | #X obj 202 158 swap; 12 | #X obj 103 158 t f f; 13 | #X obj 145 158 t f f; 14 | #X obj 62 119 f; 15 | #X obj 103 91 unpack; 16 | #X obj 103 119 t f f; 17 | #X obj 62 62 route bang list float; 18 | #X text 290 145 Part of ELSE \; https://github.com/porres/pd-else; 19 | #X text 292 126 Alexandre Torres Porres (2018); 20 | #X connect 0 0 11 0; 21 | #X connect 0 0 9 1; 22 | #X connect 1 0 15 0; 23 | #X connect 4 0 6 0; 24 | #X connect 5 0 6 1; 25 | #X connect 6 0 7 0; 26 | #X connect 7 0 2 0; 27 | #X connect 8 0 3 0; 28 | #X connect 9 0 8 0; 29 | #X connect 9 1 8 1; 30 | #X connect 10 0 4 0; 31 | #X connect 10 1 4 1; 32 | #X connect 11 0 5 0; 33 | #X connect 11 1 5 1; 34 | #X connect 12 0 14 0; 35 | #X connect 13 0 14 0; 36 | #X connect 13 1 9 1; 37 | #X connect 13 1 11 0; 38 | #X connect 14 0 10 0; 39 | #X connect 14 0 12 1; 40 | #X connect 14 1 9 0; 41 | #X connect 15 0 12 0; 42 | #X connect 15 1 13 0; 43 | #X connect 15 2 13 0; 44 | -------------------------------------------------------------------------------- /modules/else/reverse.pd: -------------------------------------------------------------------------------- 1 | #N canvas 698 112 727 563 12; 2 | #X declare -path else; 3 | #X obj 375 275 list store; 4 | #X msg 375 217 prepend \$1; 5 | #X obj 325 151 t b a; 6 | #X obj 325 230 t b b; 7 | #X obj 80 99 routetype bang anything; 8 | #X obj 80 61 inlet; 9 | #X obj 209 267 list store; 10 | #X msg 209 209 prepend \$1; 11 | #X obj 159 143 t b a; 12 | #X obj 159 222 t b b; 13 | #X obj 209 460 outlet; 14 | #X obj 209 301 list trim; 15 | #X obj 80 367 message; 16 | #X text 443 357 Part of ELSE \; https://github.com/porres/pd-else; 17 | #X text 445 338 Alexandre Torres Porres (2019); 18 | #X obj 515 276 declare -path else; 19 | #X obj 375 188 iterate; 20 | #X obj 209 180 iterate; 21 | #X connect 0 0 10 0; 22 | #X connect 0 0 12 1; 23 | #X connect 1 0 0 0; 24 | #X connect 2 0 3 0; 25 | #X connect 2 1 16 0; 26 | #X connect 3 0 0 1; 27 | #X connect 3 1 0 0; 28 | #X connect 4 0 12 0; 29 | #X connect 4 1 8 0; 30 | #X connect 4 2 2 0; 31 | #X connect 5 0 4 0; 32 | #X connect 6 0 11 0; 33 | #X connect 7 0 6 0; 34 | #X connect 8 0 9 0; 35 | #X connect 8 1 17 0; 36 | #X connect 9 0 6 1; 37 | #X connect 9 1 6 0; 38 | #X connect 11 0 10 0; 39 | #X connect 11 0 12 1; 40 | #X connect 12 0 10 0; 41 | #X connect 16 0 1 0; 42 | #X connect 17 0 7 0; 43 | -------------------------------------------------------------------------------- /modules/else/oscclone.pd: -------------------------------------------------------------------------------- 1 | #N canvas 817 336 659 388 10; 2 | #X declare -path else; 3 | #X obj 213 335 outlet~; 4 | #X obj 248 55 inlet; 5 | #X obj 213 233 *~; 6 | #X obj 304 54 inlet; 7 | #X text 398 205 Part of ELSE \; https://github.com/porres/pd-else; 8 | #X text 400 186 Alexandre Torres Porres (2017); 9 | #X obj 300 280 sel 0; 10 | #X msg 300 304 1; 11 | #X obj 142 200 sine~; 12 | #X obj 157 54 inlet; 13 | #X text 402 250 This is an abstraction used on the [oscbank~] object 14 | , f 27; 15 | #X obj 199 55 inlet; 16 | #X obj 88 53 inlet~; 17 | #X obj 116 166 *~; 18 | #X obj 199 93 float2sig~; 19 | #X obj 157 125 float2sig~; 20 | #X obj 228 202 float2sig~; 21 | #X obj 213 284 /~ \$1; 22 | #X obj 300 257 f \$1; 23 | #X obj 300 233 lb -init; 24 | #X obj 398 130 declare -path else; 25 | #X connect 1 0 16 0; 26 | #X connect 2 0 17 0; 27 | #X connect 3 0 14 1; 28 | #X connect 3 0 15 1; 29 | #X connect 3 0 16 1; 30 | #X connect 6 0 7 0; 31 | #X connect 7 0 17 1; 32 | #X connect 8 0 2 0; 33 | #X connect 9 0 15 0; 34 | #X connect 11 0 14 0; 35 | #X connect 12 0 13 0; 36 | #X connect 13 0 8 0; 37 | #X connect 14 0 8 2; 38 | #X connect 15 0 13 1; 39 | #X connect 16 0 2 1; 40 | #X connect 17 0 0 0; 41 | #X connect 18 0 6 0; 42 | #X connect 19 0 18 0; 43 | -------------------------------------------------------------------------------- /modules/else/range.pd: -------------------------------------------------------------------------------- 1 | #N canvas 709 158 519 348 10; 2 | #X declare -path else; 3 | #X obj 43 33 inlet; 4 | #X obj 43 69 route reset float; 5 | #X obj 173 204 max; 6 | #X obj 212 229 f; 7 | #X obj 92 161 t f f; 8 | #X obj 132 229 f; 9 | #X obj 92 279 outlet; 10 | #X obj 173 279 outlet; 11 | #X obj 92 204 min; 12 | #X obj 188 141 pow 32; 13 | #X msg 188 112 32; 14 | #X obj 188 170 * -1; 15 | #X text 286 160 Part of ELSE \; https://github.com/porres/pd-else; 16 | #X text 288 141 Alexandre Torres Porres (2017); 17 | #X obj 173 254 change; 18 | #X obj 92 253 change; 19 | #X msg 124 203 set \$1; 20 | #X msg 208 203 set \$1; 21 | #X obj 188 80 lb -init; 22 | #X obj 319 101 declare -path else; 23 | #X connect 0 0 1 0; 24 | #X connect 1 0 10 0; 25 | #X connect 1 1 4 0; 26 | #X connect 2 0 3 0; 27 | #X connect 2 0 14 0; 28 | #X connect 3 0 2 1; 29 | #X connect 4 0 8 0; 30 | #X connect 4 1 2 0; 31 | #X connect 5 0 8 1; 32 | #X connect 8 0 5 0; 33 | #X connect 8 0 15 0; 34 | #X connect 9 0 8 1; 35 | #X connect 9 0 11 0; 36 | #X connect 9 0 16 0; 37 | #X connect 10 0 9 0; 38 | #X connect 11 0 2 1; 39 | #X connect 11 0 17 0; 40 | #X connect 14 0 7 0; 41 | #X connect 15 0 6 0; 42 | #X connect 16 0 15 0; 43 | #X connect 17 0 14 0; 44 | #X connect 18 0 10 0; 45 | -------------------------------------------------------------------------------- /modules/else/mov.avg.pd: -------------------------------------------------------------------------------- 1 | #N canvas 645 181 524 513 12; 2 | #X declare -path else; 3 | #X obj 250 395 table tab_\$0 \$1; 4 | #X obj 111 334 s tab_\$0; 5 | #X msg 111 309 const 0; 6 | #X obj 53 239 route float clear; 7 | #X obj 53 455 outlet; 8 | #X obj 53 32 inlet; 9 | #X obj 250 366 v i_\$0; 10 | #X obj 192 32 inlet; 11 | #X obj 192 155 max 1; 12 | #X obj 192 219 v s_\$0; 13 | #X obj 53 365 expr avg("tab_\$0") \; i_\$0 = (i_\$0 + 1) % s_\$0 \; 14 | tab_\$0[i_\$0] = $f1; 15 | #X obj 192 81 route float; 16 | #X obj 192 187 t b f; 17 | #X obj 192 251 change; 18 | #X obj 224 306 array size tab_\$0; 19 | #X obj 192 118 int \$1; 20 | #X obj 192 278 t b f; 21 | #X text 269 173 Part of ELSE \; https://github.com/porres/pd-else; 22 | #X text 271 154 Alexandre Torres Porres (2019); 23 | #X obj 90 82 lb -init; 24 | #X obj 342 94 declare -path else; 25 | #X connect 2 0 1 0; 26 | #X connect 3 0 10 0; 27 | #X connect 3 1 2 0; 28 | #X connect 5 0 3 0; 29 | #X connect 7 0 11 0; 30 | #X connect 8 0 12 0; 31 | #X connect 9 0 13 0; 32 | #X connect 10 0 4 0; 33 | #X connect 11 0 15 0; 34 | #X connect 12 0 9 0; 35 | #X connect 12 1 9 0; 36 | #X connect 13 0 16 0; 37 | #X connect 15 0 8 0; 38 | #X connect 16 0 2 0; 39 | #X connect 16 1 14 0; 40 | #X connect 19 0 15 0; 41 | -------------------------------------------------------------------------------- /modules/else/freeze.osc.clone~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 582 218 600 498 10; 2 | #X declare -path else; 3 | #X obj 66 44 inlet; 4 | #X msg 66 74 \$3 \$1 \$2; 5 | #X obj 66 107 route -1 0 1; 6 | #X msg 66 173 0; 7 | #X msg 112 173 0; 8 | #X obj 102 344 osc~; 9 | #X obj 207 404 *~; 10 | #X msg 153 173 8; 11 | #X obj 189 175 unpack; 12 | #X obj 207 439 outlet~; 13 | #X obj 153 145 t b l; 14 | #X obj 322 54 inlet; 15 | #X obj 102 315 *~ 1; 16 | #X obj 322 254 cents2ratio; 17 | #X obj 222 245 f2s~ 8; 18 | #X obj 102 243 f2s~; 19 | #X text 354 134 Part of ELSE \; https://github.com/porres/pd-else; 20 | #X text 356 115 Alexandre Torres Porres (2018); 21 | #X text 358 178 This is an abstraction used on the [freeze~] object 22 | , f 27; 23 | #X obj 380 314 declare -path else; 24 | #X connect 0 0 1 0; 25 | #X connect 1 0 2 0; 26 | #X connect 2 0 3 0; 27 | #X connect 2 1 10 0; 28 | #X connect 2 2 3 0; 29 | #X connect 2 2 4 0; 30 | #X connect 3 0 14 0; 31 | #X connect 4 0 15 1; 32 | #X connect 5 0 6 0; 33 | #X connect 6 0 9 0; 34 | #X connect 7 0 15 1; 35 | #X connect 8 0 15 0; 36 | #X connect 8 1 14 0; 37 | #X connect 10 0 7 0; 38 | #X connect 10 1 8 0; 39 | #X connect 11 0 13 0; 40 | #X connect 12 0 5 0; 41 | #X connect 13 0 12 1; 42 | #X connect 14 0 6 1; 43 | #X connect 15 0 12 0; 44 | -------------------------------------------------------------------------------- /modules/else/timed.gate.pd: -------------------------------------------------------------------------------- 1 | #N canvas 602 115 829 690 12; 2 | #X declare -path else; 3 | #X obj 156 272 f 1; 4 | #X msg 291 512 0; 5 | #X obj 357 140 args; 6 | #X obj 291 469 delay 0; 7 | #X obj 54 33 inlet; 8 | #X obj 337 33 inlet; 9 | #X text 422 438 Part of ELSE \; https://github.com/porres/pd-else; 10 | #X text 424 419 Alexandre Torres Porres (2019); 11 | #X obj 272 592 outlet; 12 | #X obj 156 299 t b b f; 13 | #X obj 54 476 spigot 1; 14 | #X msg 107 438 0; 15 | #X msg 158 512 1; 16 | #X obj 357 179 unpack f f f; 17 | #X obj 438 300 == 0; 18 | #X obj 107 411 spigot 1; 19 | #X obj 97 91 route bang float retrigger ms; 20 | #X obj 357 111 lb -init; 21 | #X obj 554 236 declare -path else; 22 | #X connect 0 0 9 0; 23 | #X connect 1 0 8 0; 24 | #X connect 2 0 13 0; 25 | #X connect 3 0 1 0; 26 | #X connect 3 0 12 0; 27 | #X connect 4 0 10 0; 28 | #X connect 5 0 3 1; 29 | #X connect 9 0 3 0; 30 | #X connect 9 1 15 0; 31 | #X connect 9 2 8 0; 32 | #X connect 10 0 16 0; 33 | #X connect 11 0 10 1; 34 | #X connect 12 0 10 1; 35 | #X connect 13 0 3 1; 36 | #X connect 13 1 0 1; 37 | #X connect 13 2 14 0; 38 | #X connect 14 0 15 1; 39 | #X connect 15 0 11 0; 40 | #X connect 16 0 0 0; 41 | #X connect 16 1 0 0; 42 | #X connect 16 2 14 0; 43 | #X connect 16 3 3 1; 44 | #X connect 17 0 2 0; 45 | -------------------------------------------------------------------------------- /modules/else/noisegate~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 689 172 513 364 10; 2 | #X declare -path else; 3 | #X obj 51 263 *~; 4 | #X obj 126 211 expr~ $v1 >= $f2; 5 | #X msg 241 171 -100; 6 | #X obj 268 93 args; 7 | #X floatatom 286 172 5 0 0 0 - - -; 8 | #X obj 332 171 unpack; 9 | #X obj 126 238 glide~ 10; 10 | #X obj 51 37 inlet~; 11 | #X obj 51 299 outlet~; 12 | #X obj 219 37 inlet; 13 | #X obj 268 119 break -; 14 | #X obj 241 146 route bang float list -size, f 31; 15 | #X obj 378 171 s \$0-size; 16 | #X obj 136 100 r \$0-size; 17 | #X msg 96 134 size \$1; 18 | #X text 262 251 Part of ELSE \; https://github.com/porres/pd-else; 19 | #X text 264 232 Alexandre Torres Porres (2018); 20 | #X obj 76 170 mov.rms~ 256 -db; 21 | #X obj 268 70 lb -init; 22 | #X obj 356 100 declare -path else; 23 | #X connect 0 0 8 0; 24 | #X connect 1 0 6 0; 25 | #X connect 2 0 1 1; 26 | #X connect 3 0 10 0; 27 | #X connect 4 0 1 1; 28 | #X connect 5 0 4 0; 29 | #X connect 5 1 6 1; 30 | #X connect 6 0 0 1; 31 | #X connect 7 0 0 0; 32 | #X connect 7 0 17 0; 33 | #X connect 9 0 1 1; 34 | #X connect 10 0 11 0; 35 | #X connect 11 0 2 0; 36 | #X connect 11 1 4 0; 37 | #X connect 11 2 5 0; 38 | #X connect 11 3 12 0; 39 | #X connect 13 0 14 0; 40 | #X connect 13 0 17 1; 41 | #X connect 14 0 17 0; 42 | #X connect 17 0 1 0; 43 | #X connect 18 0 3 0; 44 | -------------------------------------------------------------------------------- /modules/else/resonclone2.pd: -------------------------------------------------------------------------------- 1 | #N canvas 591 291 495 409 10; 2 | #X declare -path else; 3 | #X obj 292 365 outlet~; 4 | #X obj 79 27 inlet; 5 | #X obj 29 27 inlet~; 6 | #X obj 120 28 inlet; 7 | #X obj 303 27 inlet; 8 | #X obj 292 232 *~; 9 | #X obj 354 28 inlet; 10 | #X text 31 299 Part of ELSE \; https://github.com/porres/pd-else; 11 | #X text 33 280 Alexandre Torres Porres (2017); 12 | #X obj 379 279 sel 0; 13 | #X msg 379 303 1; 14 | #X obj 122 189 resonant2~; 15 | #X obj 177 25 inlet; 16 | #X text 35 344 This is an abstraction used on the [resonbank2~] object 17 | , f 27; 18 | #X obj 292 283 /~ \$1; 19 | #X obj 379 256 f \$1; 20 | #X obj 307 201 float2sig~; 21 | #X obj 145 153 float2sig~; 22 | #X obj 158 114 float2sig~; 23 | #X obj 177 62 float2sig~; 24 | #X obj 379 232 lb -init; 25 | #X obj 64 246 declare -path else; 26 | #X connect 1 0 17 0; 27 | #X connect 2 0 11 0; 28 | #X connect 3 0 18 0; 29 | #X connect 4 0 16 0; 30 | #X connect 5 0 14 0; 31 | #X connect 6 0 16 1; 32 | #X connect 6 0 17 1; 33 | #X connect 6 0 18 1; 34 | #X connect 6 0 19 1; 35 | #X connect 9 0 10 0; 36 | #X connect 10 0 14 1; 37 | #X connect 11 0 5 0; 38 | #X connect 12 0 19 0; 39 | #X connect 14 0 0 0; 40 | #X connect 15 0 9 0; 41 | #X connect 16 0 5 1; 42 | #X connect 17 0 11 1; 43 | #X connect 18 0 11 2; 44 | #X connect 19 0 11 3; 45 | #X connect 20 0 15 0; 46 | -------------------------------------------------------------------------------- /modules/else/mag.pd: -------------------------------------------------------------------------------- 1 | #N canvas 815 117 489 435 10; 2 | #X declare -path else; 3 | #X obj 66 34 inlet; 4 | #X obj 107 182 *; 5 | #X obj 149 183 *; 6 | #X obj 134 211 +; 7 | #X obj 103 284 sqrt; 8 | #X obj 107 158 t f f; 9 | #X obj 149 158 t f f; 10 | #X obj 107 127 f; 11 | #X obj 107 91 unpack; 12 | #X obj 66 62 route bang list float; 13 | #X text 190 118 Part of ELSE \; https://github.com/porres/pd-else; 14 | #X text 192 99 Alexandre Torres Porres (2018); 15 | #X obj 208 216 symbol \$1; 16 | #X obj 208 237 sel power; 17 | #X msg 208 269 1; 18 | #X msg 177 269 0; 19 | #X obj 170 371 outlet; 20 | #X obj 170 311 spigot; 21 | #X obj 106 312 spigot 1; 22 | #X obj 223 39 inlet; 23 | #X obj 208 192 lb -init; 24 | #X obj 315 198 declare -path else; 25 | #X connect 0 0 9 0; 26 | #X connect 1 0 3 0; 27 | #X connect 2 0 3 1; 28 | #X connect 3 0 4 0; 29 | #X connect 3 0 17 0; 30 | #X connect 4 0 18 0; 31 | #X connect 5 0 1 0; 32 | #X connect 5 1 1 1; 33 | #X connect 6 0 2 0; 34 | #X connect 6 1 2 1; 35 | #X connect 7 0 5 0; 36 | #X connect 8 0 7 0; 37 | #X connect 8 1 6 0; 38 | #X connect 9 0 7 0; 39 | #X connect 9 1 8 0; 40 | #X connect 9 2 8 0; 41 | #X connect 12 0 13 0; 42 | #X connect 13 0 15 0; 43 | #X connect 13 0 14 0; 44 | #X connect 14 0 17 1; 45 | #X connect 15 0 18 1; 46 | #X connect 17 0 16 0; 47 | #X connect 18 0 16 0; 48 | #X connect 19 0 6 0; 49 | #X connect 20 0 12 0; 50 | -------------------------------------------------------------------------------- /modules/else/ping.pong~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 486 231 762 445 12; 2 | #X declare -path else; 3 | #X obj 93 277 +~; 4 | #X obj 135 276 +~; 5 | #X obj 153 246 *~; 6 | #X obj 306 182 / 2; 7 | #X obj 153 198 delread4~ \$0-ping; 8 | #X obj 306 328 delread4~ \$0-pong; 9 | #X obj 369 197 f2s~ 50; 10 | #X obj 93 31 inlet~; 11 | #X obj 153 174 f2s~ 50; 12 | #X obj 306 297 f2s~ 50; 13 | #X obj 93 388 outlet~; 14 | #X obj 306 380 outlet~; 15 | #X obj 306 116 max 0; 16 | #X text 468 206 Part of ELSE \; https://github.com/porres/pd-else; 17 | #X text 470 187 Alexandre Torres Porres (2018); 18 | #X obj 369 31 inlet; 19 | #X obj 306 31 inlet; 20 | #X obj 306 90 f \$1; 21 | #X obj 369 93 f \$2; 22 | #X obj 369 160 clip -1 1; 23 | #X obj 135 306 delwrite~ \$0-pong 5000; 24 | #X obj 104 334 delwrite~ \$0-ping 5000; 25 | #X obj 429 61 lb -init; 26 | #X obj 554 126 declare -path else; 27 | #X connect 0 0 10 0; 28 | #X connect 0 0 21 0; 29 | #X connect 1 0 20 0; 30 | #X connect 2 0 0 1; 31 | #X connect 2 0 1 1; 32 | #X connect 3 0 9 0; 33 | #X connect 4 0 2 0; 34 | #X connect 5 0 11 0; 35 | #X connect 6 0 2 1; 36 | #X connect 7 0 0 0; 37 | #X connect 7 0 1 0; 38 | #X connect 8 0 4 0; 39 | #X connect 9 0 5 0; 40 | #X connect 12 0 3 0; 41 | #X connect 12 0 8 0; 42 | #X connect 15 0 18 0; 43 | #X connect 16 0 17 0; 44 | #X connect 17 0 12 0; 45 | #X connect 18 0 19 0; 46 | #X connect 19 0 6 0; 47 | #X connect 22 0 18 0; 48 | #X connect 22 0 17 0; 49 | -------------------------------------------------------------------------------- /modules/else/hann~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 672 318 568 285 10; 2 | #X declare -path else; 3 | #X obj 87 180 outlet~; 4 | #X obj 87 140 *~; 5 | #X obj 87 33 inlet~; 6 | #N canvas 929 32 415 477 hann-table 0; 7 | #X obj 89 95 r pd-dsp-started; 8 | #X msg 246 256 resize \$1; 9 | #X obj 108 240 loop; 10 | #X obj 245 190 v twopi; 11 | #X obj 108 183 change; 12 | #X obj 108 158 blocksize~; 13 | #X obj 246 277 array define hann_\$0; 14 | #X obj 108 267 expr hann_\$0[$f1] = cos(twopi*$f1/$f2) * -0.5 + 0.5 15 | , f 19; 16 | #X obj 108 210 trigger float float; 17 | #X obj 89 417 outlet~; 18 | #X obj 89 371 tabreceive~; 19 | #X obj 89 131 t b b b; 20 | #X obj 89 335 message set hann_\$0; 21 | #X msg 245 122 1; 22 | #X obj 245 144 atan; 23 | #X obj 245 166 * 8; 24 | #X connect 0 0 11 0; 25 | #X connect 1 0 6 0; 26 | #X connect 2 0 7 0; 27 | #X connect 4 0 8 0; 28 | #X connect 5 0 4 0; 29 | #X connect 8 0 2 0; 30 | #X connect 8 1 1 0; 31 | #X connect 8 1 7 1; 32 | #X connect 10 0 9 0; 33 | #X connect 11 0 12 0; 34 | #X connect 11 1 5 0; 35 | #X connect 11 2 13 0; 36 | #X connect 12 0 10 0; 37 | #X connect 13 0 14 0; 38 | #X connect 14 0 15 0; 39 | #X connect 15 0 3 0; 40 | #X restore 102 115 pd hann-table; 41 | #X text 259 124 Part of ELSE \; https://github.com/porres/pd-else; 42 | #X text 261 105 Alexandre Torres Porres (2018); 43 | #X obj 295 74 declare -path else; 44 | #X connect 1 0 0 0; 45 | #X connect 2 0 1 0; 46 | #X connect 3 0 1 1; 47 | -------------------------------------------------------------------------------- /modules/utils/l2s.pd: -------------------------------------------------------------------------------- 1 | #N canvas 943 274 368 553 10; 2 | #X obj 23 460 list tosymbol; 3 | #X obj 86 234 list fromsymbol; 4 | #X obj 86 149 list split 1; 5 | #X obj 86 99 until; 6 | #X obj 86 124 list append; 7 | #X obj 180 149 bang; 8 | #X obj 86 399 list prepend; 9 | #X obj 200 399 t a; 10 | #X obj 23 430 list append; 11 | #X obj 86 375 list append 32; 12 | #X obj 23 49 t b b a b; 13 | #X obj 155 201 makefilename %s; 14 | #X obj 86 171 route symbol; 15 | #X obj 23 21 inlet; 16 | #X obj 23 487 outlet; 17 | #X obj 167 341 list fromsymbol; 18 | #X obj 167 291 list append \$1; 19 | #X obj 167 266 loadbang; 20 | #X obj 167 314 route symbol; 21 | #X obj 233 48 symbol; 22 | #X obj 233 22 inlet; 23 | #X text 150 466 by cuinjune.... \; repaired by whale-av; 24 | #X connect 0 0 14 0; 25 | #X connect 1 0 9 0; 26 | #X connect 2 0 12 0; 27 | #X connect 2 1 4 1; 28 | #X connect 2 2 5 0; 29 | #X connect 3 0 4 0; 30 | #X connect 4 0 2 0; 31 | #X connect 5 0 3 1; 32 | #X connect 6 0 7 0; 33 | #X connect 6 0 8 1; 34 | #X connect 7 0 6 1; 35 | #X connect 8 0 0 0; 36 | #X connect 9 0 6 0; 37 | #X connect 10 0 8 0; 38 | #X connect 10 1 3 0; 39 | #X connect 10 2 4 1; 40 | #X connect 10 3 6 1; 41 | #X connect 11 0 1 0; 42 | #X connect 12 0 1 0; 43 | #X connect 12 1 11 0; 44 | #X connect 13 0 10 0; 45 | #X connect 15 0 9 1; 46 | #X connect 16 0 18 0; 47 | #X connect 17 0 16 0; 48 | #X connect 18 0 15 0; 49 | #X connect 19 0 15 0; 50 | #X connect 20 0 19 0; 51 | -------------------------------------------------------------------------------- /modules/else/amean.pd: -------------------------------------------------------------------------------- 1 | #N canvas 587 339 737 566 12; 2 | #X declare -path else; 3 | #X obj 106 64 inlet; 4 | #X obj 404 64 inlet; 5 | #X obj 296 64 inlet; 6 | #X obj 243 64 inlet; 7 | #X obj 105 524 outlet; 8 | #X obj 243 234 t f f; 9 | #X obj 352 243 -; 10 | #X obj 352 267 abs; 11 | #X obj 352 319 /; 12 | #X obj 106 477 group; 13 | #X obj 352 292 hot; 14 | #X obj 243 345 pack2 f f f; 15 | #X obj 317 220 hot; 16 | #X obj 106 410 t b l; 17 | #X obj 138 444 loop; 18 | #X obj 106 380 message 1 2 0.5; 19 | #X obj 106 113 route bang list; 20 | #X obj 157 139 t b l; 21 | #X obj 189 167 unpack f f f, f 28; 22 | #X obj 335 119 args; 23 | #X obj 335 94 loadbang; 24 | #X obj 460 172 declare -path else; 25 | #X connect 0 0 16 0; 26 | #X connect 1 0 10 1; 27 | #X connect 2 0 11 1; 28 | #X connect 2 0 12 1; 29 | #X connect 3 0 5 0; 30 | #X connect 5 0 11 0; 31 | #X connect 5 1 12 0; 32 | #X connect 6 0 7 0; 33 | #X connect 7 0 10 0; 34 | #X connect 8 0 11 2; 35 | #X connect 9 0 4 0; 36 | #X connect 10 0 8 0; 37 | #X connect 10 1 8 1; 38 | #X connect 11 0 15 1; 39 | #X connect 12 0 6 0; 40 | #X connect 12 1 6 1; 41 | #X connect 13 0 9 0; 42 | #X connect 13 1 14 0; 43 | #X connect 14 0 9 0; 44 | #X connect 15 0 13 0; 45 | #X connect 16 0 15 0; 46 | #X connect 16 1 17 0; 47 | #X connect 17 0 15 0; 48 | #X connect 17 1 18 0; 49 | #X connect 18 0 5 0; 50 | #X connect 18 1 12 1; 51 | #X connect 18 1 11 1; 52 | #X connect 18 2 10 1; 53 | #X connect 19 0 18 0; 54 | #X connect 20 0 19 0; 55 | -------------------------------------------------------------------------------- /modules/else/phaser~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 635 209 451 259 10; 2 | #X declare -path else; 3 | #X obj 75 198 outlet~; 4 | #X text 197 136 Part of ELSE \; https://github.com/porres/pd-else; 5 | #X text 199 117 Alexandre Torres Porres (2019); 6 | #N canvas 854 311 458 264 guts 0; 7 | #X obj 57 179 xfade~; 8 | #X obj 244 120 rescale 0 1 -1 0 -clip; 9 | #X obj 244 143 f2s~ 10; 10 | #X obj 211 56 inlet; 11 | #X obj 57 56 inlet~; 12 | #X obj 57 211 outlet~; 13 | #N canvas 254 380 402 274 set 0; 14 | #X obj 131 43 inlet; 15 | #X obj 131 219 outlet; 16 | #X obj 181 219 outlet; 17 | #X obj 209 108 args; 18 | #X obj 209 81 loadbanger 2; 19 | #X msg 308 111 0 1 1; 20 | #X obj 209 139 unpack f f f; 21 | #X obj 118 103 route q wet; 22 | #X connect 0 0 7 0; 23 | #X connect 3 0 6 0; 24 | #X connect 4 0 3 0; 25 | #X connect 4 1 5 0; 26 | #X connect 5 0 6 0; 27 | #X connect 6 1 1 0; 28 | #X connect 6 2 2 0; 29 | #X connect 7 0 1 0; 30 | #X connect 7 1 2 0; 31 | #X restore 211 91 pd set; 32 | #X obj 149 56 inlet~; 33 | #X obj 88 131 allpass.filt~ \$1; 34 | #X connect 0 0 5 0; 35 | #X connect 1 0 2 0; 36 | #X connect 2 0 0 2; 37 | #X connect 3 0 6 0; 38 | #X connect 4 0 0 0; 39 | #X connect 4 0 8 0; 40 | #X connect 6 0 8 2; 41 | #X connect 6 1 1 0; 42 | #X connect 7 0 8 1; 43 | #X connect 8 0 0 1; 44 | #X restore 75 138 pd guts; 45 | #X obj 125 48 inlet~; 46 | #X obj 45 48 inlet~ fwd; 47 | #X obj 240 84 declare -path else; 48 | #X connect 3 0 0 0; 49 | #X connect 4 0 3 1; 50 | #X connect 5 0 3 0; 51 | #X connect 5 1 3 2; 52 | -------------------------------------------------------------------------------- /modules/else/vibrato~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 574 142 761 514 12; 2 | #X declare -path else; 3 | #X obj 99 345 *~; 4 | #X obj 166 391 +~; 5 | #X obj 211 385 *~; 6 | #X obj 42 294 delread4~ \$0-buffer, f 9; 7 | #X obj 211 339 delread4~ \$0-buffer, f 10; 8 | #X obj 102 64 inlet~; 9 | #X obj 166 440 outlet~; 10 | #X obj 305 376 envelope~; 11 | #X obj 305 262 pimp~ 0 0.5; 12 | #X obj 117 224 pimp~; 13 | #X obj 117 266 envelope~; 14 | #X obj 323 59 inlet; 15 | #X text 482 233 Part of ELSE \; https://github.com/porres/pd-else; 16 | #X text 484 209 Alexandre Torres Porres (2018); 17 | #X text 332 32 depth; 18 | #X obj 305 126 *~; 19 | #X obj 305 152 cents2ratio~; 20 | #X obj 199 58 inlet; 21 | #X text 199 32 rate; 22 | #X obj 102 153 delwrite~ \$0-buffer 100; 23 | #X obj 211 312 *~ 100; 24 | #X obj 42 263 *~ 100; 25 | #X obj 305 179 expr~ (1 - $v1) * 10; 26 | #X text 104 38 input; 27 | #X obj 199 88 sine~ \$1; 28 | #X obj 323 93 f2s~ 50 \$2; 29 | #X obj 509 155 declare -path else; 30 | #X connect 0 0 1 0; 31 | #X connect 1 0 6 0; 32 | #X connect 2 0 1 1; 33 | #X connect 3 0 0 0; 34 | #X connect 4 0 2 0; 35 | #X connect 5 0 19 0; 36 | #X connect 7 0 2 1; 37 | #X connect 8 0 7 0; 38 | #X connect 8 0 20 0; 39 | #X connect 9 0 10 0; 40 | #X connect 9 0 21 0; 41 | #X connect 10 0 0 1; 42 | #X connect 11 0 25 0; 43 | #X connect 15 0 16 0; 44 | #X connect 16 0 22 0; 45 | #X connect 17 0 24 0; 46 | #X connect 20 0 4 0; 47 | #X connect 21 0 3 0; 48 | #X connect 22 0 9 0; 49 | #X connect 22 0 8 0; 50 | #X connect 24 0 15 0; 51 | #X connect 25 0 15 1; 52 | -------------------------------------------------------------------------------- /modules/else/lastvalue.pd: -------------------------------------------------------------------------------- 1 | #N canvas 755 23 519 653 10; 2 | #X declare -path else; 3 | #X obj 341 586 outlet; 4 | #X obj 135 22 inlet; 5 | #X obj 343 62 declare -path else; 6 | #X obj 52 22 inlet; 7 | #X obj 322 175 lb -init; 8 | #X obj 322 199 args; 9 | #X obj 322 224 route bang float; 10 | #X obj 52 282 t f b; 11 | #X obj 108 409 float; 12 | #X obj 135 181 route float bang; 13 | #X msg 322 256 n 1 \, reset, f 5; 14 | #X obj 181 360 nbang 0; 15 | #X obj 258 303 nbang 0, f 14; 16 | #X obj 341 513 float; 17 | #X msg 258 243 n 0; 18 | #X msg 181 321 n 1 \, reset, f 5; 19 | #X obj 368 347 t f; 20 | #X obj 52 143 route float bang reset, f 11; 21 | #X text 204 116 Part of ELSE \; https://github.com/porres/pd-else; 22 | #X text 204 99 Alexandre Torres Porres (2020), f 33; 23 | #X connect 1 0 9 0; 24 | #X connect 3 0 17 0; 25 | #X connect 4 0 5 0; 26 | #X connect 5 0 6 0; 27 | #X connect 6 0 10 0; 28 | #X connect 6 0 15 0; 29 | #X connect 6 1 16 0; 30 | #X connect 7 0 8 1; 31 | #X connect 7 0 13 1; 32 | #X connect 7 1 11 0; 33 | #X connect 7 1 14 0; 34 | #X connect 8 0 0 0; 35 | #X connect 8 0 13 1; 36 | #X connect 9 0 8 1; 37 | #X connect 9 0 13 1; 38 | #X connect 9 0 14 0; 39 | #X connect 9 1 10 0; 40 | #X connect 9 1 15 0; 41 | #X connect 10 0 12 0; 42 | #X connect 11 1 8 0; 43 | #X connect 12 0 10 0; 44 | #X connect 12 1 13 0; 45 | #X connect 13 0 0 0; 46 | #X connect 14 0 12 0; 47 | #X connect 15 0 11 0; 48 | #X connect 16 0 8 1; 49 | #X connect 16 0 13 1; 50 | #X connect 17 0 7 0; 51 | #X connect 17 1 12 0; 52 | #X connect 17 2 9 0; 53 | -------------------------------------------------------------------------------- /modules/else/order.pd: -------------------------------------------------------------------------------- 1 | #N canvas 639 153 597 498 10; 2 | #X declare -path else; 3 | #X obj 353 385 + 1; 4 | #X obj 326 146 f \$1; 5 | #X obj 326 170 max 1; 6 | #X obj 41 32 inlet; 7 | #X obj 231 448 outlet; 8 | #X obj 231 413 list prepend; 9 | #X obj 315 353 f \$2; 10 | #X obj 41 71 route offset n; 11 | #X text 355 256 Part of ELSE \; https://github.com/porres/pd-else; 12 | #X text 357 237 Alexandre Torres Porres (2017); 13 | #X obj 177 256 list; 14 | #X obj 41 272 route float; 15 | #X obj 177 282 list split; 16 | #X obj 177 354 trigger anything bang; 17 | #X obj 300 383 f; 18 | #X obj 205 305 route bang; 19 | #X obj 292 293 t b a; 20 | #X obj 122 208 until; 21 | #X obj 122 181 list length; 22 | #X obj 122 153 trigger anything anything bang; 23 | #X obj 326 121 lb -init; 24 | #X obj 422 160 declare -path else; 25 | #X connect 0 0 14 1; 26 | #X connect 1 0 2 0; 27 | #X connect 2 0 12 1; 28 | #X connect 3 0 7 0; 29 | #X connect 5 0 4 0; 30 | #X connect 6 0 14 1; 31 | #X connect 7 0 11 0; 32 | #X connect 7 1 1 0; 33 | #X connect 7 2 19 0; 34 | #X connect 10 0 12 0; 35 | #X connect 11 0 6 0; 36 | #X connect 12 0 13 0; 37 | #X connect 12 1 10 1; 38 | #X connect 12 1 15 0; 39 | #X connect 12 2 16 0; 40 | #X connect 13 0 5 0; 41 | #X connect 13 1 14 0; 42 | #X connect 14 0 0 0; 43 | #X connect 14 0 5 1; 44 | #X connect 15 0 17 1; 45 | #X connect 16 0 17 1; 46 | #X connect 16 1 13 0; 47 | #X connect 17 0 10 0; 48 | #X connect 18 0 17 0; 49 | #X connect 19 0 18 0; 50 | #X connect 19 1 10 1; 51 | #X connect 19 2 6 0; 52 | #X connect 20 0 1 0; 53 | -------------------------------------------------------------------------------- /modules/else/tremolo~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 708 152 709 445 10; 2 | #X declare -path else; 3 | #X obj 186 258 *~; 4 | #X obj 186 55 inlet~; 5 | #X obj 251 55 inlet; 6 | #X obj 69 389 outlet~; 7 | #X obj 251 280 *~; 8 | #X text 321 35 Depth; 9 | #X obj 251 307 +~; 10 | #X obj 322 321 expr~ 1 - $v1; 11 | #X obj 322 54 inlet; 12 | #X obj 322 270 clip 0 1; 13 | #X text 253 35 Hz; 14 | #X text 186 35 input; 15 | #X text 441 252 Part of ELSE \; https://github.com/porres/pd-else; 16 | #X text 443 233 Alexandre Torres Porres (2018); 17 | #X obj 335 115 args; 18 | #X obj 335 142 route bang float list; 19 | #X obj 376 173 unpack; 20 | #X msg 335 215 1; 21 | #X obj 251 235 osc~; 22 | #X obj 69 323 xselect~ 2 10 2; 23 | #X obj 204 155 != 0; 24 | #X obj 322 295 f2s~ 10; 25 | #X obj 204 202 change; 26 | #X obj 204 178 + 1; 27 | #X obj 335 90 lb -init; 28 | #X obj 475 201 declare -path else; 29 | #X connect 0 0 19 1; 30 | #X connect 1 0 0 0; 31 | #X connect 1 0 19 0; 32 | #X connect 2 0 18 0; 33 | #X connect 2 0 20 0; 34 | #X connect 4 0 6 0; 35 | #X connect 6 0 0 1; 36 | #X connect 7 0 6 1; 37 | #X connect 8 0 9 0; 38 | #X connect 9 0 21 0; 39 | #X connect 14 0 15 0; 40 | #X connect 15 0 17 0; 41 | #X connect 15 1 16 0; 42 | #X connect 15 2 16 0; 43 | #X connect 16 0 18 0; 44 | #X connect 16 0 20 0; 45 | #X connect 16 1 9 0; 46 | #X connect 17 0 9 0; 47 | #X connect 18 0 4 0; 48 | #X connect 19 0 3 0; 49 | #X connect 20 0 23 0; 50 | #X connect 21 0 7 0; 51 | #X connect 21 0 4 1; 52 | #X connect 22 0 19 0; 53 | #X connect 23 0 22 0; 54 | #X connect 24 0 14 0; 55 | -------------------------------------------------------------------------------- /modules/else/randpulse2.pd: -------------------------------------------------------------------------------- 1 | #N canvas 699 123 510 606 10; 2 | #X declare -path else; 3 | #X obj 66 34 inlet; 4 | #X obj 204 525 outlet; 5 | #X text 250 305 Part of ELSE \; https://github.com/porres/pd-else; 6 | #X text 252 286 Alexandre Torres Porres (2019); 7 | #X obj 81 349 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 8 | 1; 9 | #X obj 81 324 tempo 0 100 -ms; 10 | #X obj 124 232 expr 500/$f1; 11 | #X obj 112 128 v rand_\$0; 12 | #X obj 81 375 sel 1, f 21; 13 | #X obj 81 408 v rand_\$0; 14 | #X msg 221 478 1; 15 | #X obj 81 476 rand.f -1 1; 16 | #X obj 198 108 args; 17 | #X obj 112 98 != 0; 18 | #X obj 255 197 v rand_\$0; 19 | #X obj 255 167 != 0; 20 | #X obj 81 442 sel 1, f 13; 21 | #X obj 66 64 route float rand; 22 | #X obj 198 138 unpack f f; 23 | #X obj 66 199 sel 0; 24 | #X msg 66 263 0; 25 | #X obj 66 295 change; 26 | #X msg 96 263 1; 27 | #X obj 198 83 lb -init; 28 | #X obj 327 120 declare -path else; 29 | #X connect 0 0 17 0; 30 | #X connect 4 0 8 0; 31 | #X connect 5 0 4 0; 32 | #X connect 6 0 5 1; 33 | #X connect 6 0 22 0; 34 | #X connect 8 0 9 0; 35 | #X connect 8 1 1 0; 36 | #X connect 9 0 16 0; 37 | #X connect 10 0 1 0; 38 | #X connect 11 0 1 0; 39 | #X connect 12 0 18 0; 40 | #X connect 13 0 7 0; 41 | #X connect 15 0 14 0; 42 | #X connect 16 0 11 0; 43 | #X connect 16 1 10 0; 44 | #X connect 17 0 19 0; 45 | #X connect 17 1 13 0; 46 | #X connect 18 0 19 0; 47 | #X connect 18 1 15 0; 48 | #X connect 19 0 20 0; 49 | #X connect 19 1 6 0; 50 | #X connect 20 0 21 0; 51 | #X connect 21 0 5 0; 52 | #X connect 22 0 21 0; 53 | #X connect 23 0 12 0; 54 | -------------------------------------------------------------------------------- /modules/else/rotate.pd: -------------------------------------------------------------------------------- 1 | #N canvas 822 155 544 550 10; 2 | #X declare -path else; 3 | #X obj 38 41 inlet; 4 | #X obj 207 24 inlet; 5 | #X obj 46 494 outlet; 6 | #X obj 207 151 f \$1; 7 | #X obj 252 123 list length; 8 | #X obj 38 82 t b a b a, f 10; 9 | #X obj 46 388 list store; 10 | #X obj 182 289 list split; 11 | #X obj 182 337 insert append; 12 | #X obj 207 195 mod, f 8; 13 | #X obj 207 173 * -1; 14 | #X text 302 252 Part of ELSE \; https://github.com/porres/pd-else; 15 | #X text 303 233 Alexandre Torres Porres (2019); 16 | #X obj 331 193 declare -path else; 17 | #X obj 182 233 != 0; 18 | #X obj 123 254 router; 19 | #X obj 59 199 routetype a; 20 | #X obj 145 200 t a b; 21 | #X obj 46 469 selector; 22 | #X obj 68 420 list trim; 23 | #X msg 149 413 0; 24 | #X obj 59 220 t a b; 25 | #X msg 180 412 1; 26 | #X connect 0 0 5 0; 27 | #X connect 1 0 3 0; 28 | #X connect 3 0 10 0; 29 | #X connect 4 0 9 1; 30 | #X connect 5 0 6 0; 31 | #X connect 5 1 16 0; 32 | #X connect 5 2 3 0; 33 | #X connect 5 3 4 0; 34 | #X connect 6 0 18 0; 35 | #X connect 6 0 19 0; 36 | #X connect 7 0 8 0; 37 | #X connect 7 1 6 1; 38 | #X connect 8 0 6 0; 39 | #X connect 9 0 14 0; 40 | #X connect 9 0 7 1; 41 | #X connect 10 0 9 0; 42 | #X connect 14 0 15 1; 43 | #X connect 15 0 6 1; 44 | #X connect 15 1 7 0; 45 | #X connect 16 0 21 0; 46 | #X connect 16 1 17 0; 47 | #X connect 16 1 15 0; 48 | #X connect 17 0 15 0; 49 | #X connect 17 1 20 0; 50 | #X connect 18 0 2 0; 51 | #X connect 19 0 18 1; 52 | #X connect 20 0 18 2; 53 | #X connect 21 0 15 0; 54 | #X connect 21 1 22 0; 55 | #X connect 22 0 18 2; 56 | -------------------------------------------------------------------------------- /modules/else/pz2coeff.pd: -------------------------------------------------------------------------------- 1 | #N canvas 434 23 951 423 12; 2 | #X obj 583 318 v sign_\$0; 3 | #X obj 117 332 pack float float float float float, f 56; 4 | #X obj 73 32 inlet; 5 | #X obj 117 381 outlet; 6 | #X obj 117 197 expr $f1 + $f3 \; -sqrt($f1*$f1 + $f2*$f2) * sqrt($f3*$f3 7 | + $f4*$f4) * sign_\$0 \; if($f1 > 0 != $f3 > 0 \, -1 \, 1) \; $f9 \; 8 | -$f9 * ($f5 + $f7) \; $f9 * sqrt($f5*$f5 + $f6*$f6) * sqrt($f7*$f7 9 | + $f8*$f8) * sign_\$0 \; if($f5 > 0 != $f7 > 0 \, -1 \, 1) \;, f 67 10 | ; 11 | #X obj 157 140 unpack f f f f; 12 | #X obj 350 158 unpack f f f f; 13 | #X obj 117 140 f; 14 | #X obj 73 68 route list bang poles zeros gain; 15 | #X obj 597 133 loadbang; 16 | #X msg 597 157 1; 17 | #X obj 350 36 inlet; 18 | #X obj 583 36 inlet; 19 | #X text 613 234 Part of ELSE \; https://github.com/porres/pd-else; 20 | #X text 615 215 Alexandre Torres Porres (2021); 21 | #X obj 73 108 t l f; 22 | #X connect 1 0 3 0; 23 | #X connect 2 0 8 0; 24 | #X connect 4 0 1 0; 25 | #X connect 4 1 1 1; 26 | #X connect 4 2 0 0; 27 | #X connect 4 3 1 2; 28 | #X connect 4 4 1 3; 29 | #X connect 4 5 1 4; 30 | #X connect 4 6 0 0; 31 | #X connect 5 0 7 1; 32 | #X connect 5 1 4 1; 33 | #X connect 5 2 4 2; 34 | #X connect 5 3 4 3; 35 | #X connect 6 0 4 4; 36 | #X connect 6 1 4 5; 37 | #X connect 6 2 4 6; 38 | #X connect 6 3 4 7; 39 | #X connect 7 0 4 0; 40 | #X connect 8 0 15 0; 41 | #X connect 8 1 7 0; 42 | #X connect 8 2 5 0; 43 | #X connect 8 3 6 0; 44 | #X connect 8 4 4 8; 45 | #X connect 9 0 10 0; 46 | #X connect 10 0 4 8; 47 | #X connect 11 0 6 0; 48 | #X connect 12 0 4 8; 49 | #X connect 15 0 4 0; 50 | #X connect 15 1 7 1; 51 | -------------------------------------------------------------------------------- /modules/else/chorus~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 632 186 572 331 12; 2 | #X declare -path else; 3 | #X obj 119 37 inlet; 4 | #X text 305 128 Part of ELSE \; https://github.com/porres/pd-else; 5 | #X text 307 109 Alexandre Torres Porres (2019); 6 | #X obj 46 37 inlet~; 7 | #X obj 46 294 outlet~; 8 | #X obj 177 37 inlet; 9 | #X obj 235 37 inlet; 10 | #N canvas 209 296 493 395 set-parameters 0; 11 | #X obj 163 34 inlet; 12 | #X obj 215 247 clip 0 200; 13 | #X obj 215 275 s \$0-depth; 14 | #X obj 163 315 s \$0-rate; 15 | #X obj 51 103 args; 16 | #X obj 51 130 unpack f f f; 17 | #X obj 215 34 inlet; 18 | #X obj 269 34 inlet; 19 | #X obj 269 189 - 1; 20 | #X obj 269 162 clip 0 1; 21 | #X obj 269 217 s \$0-wet; 22 | #X obj 51 78 lb -init; 23 | #X connect 0 0 3 0; 24 | #X connect 1 0 2 0; 25 | #X connect 4 0 5 0; 26 | #X connect 5 0 3 0; 27 | #X connect 5 1 1 0; 28 | #X connect 5 2 9 0; 29 | #X connect 6 0 1 0; 30 | #X connect 7 0 9 0; 31 | #X connect 8 0 10 0; 32 | #X connect 9 0 8 0; 33 | #X connect 11 0 4 0; 34 | #X restore 119 72 pd set-parameters; 35 | #X obj 89 168 rescale~ 0; 36 | #X obj 89 114 r \$0-rate; 37 | #X obj 46 245 comb.rev~ 200 1 1, f 25; 38 | #X obj 191 112 r \$0-depth; 39 | #X obj 218 189 r \$0-wet; 40 | #X obj 89 142 osc~; 41 | #X obj 218 215 f2s~ 10; 42 | #X obj 191 141 f2s~ 10; 43 | #X obj 363 66 declare -path else; 44 | #X connect 0 0 7 0; 45 | #X connect 3 0 10 0; 46 | #X connect 5 0 7 1; 47 | #X connect 6 0 7 2; 48 | #X connect 8 0 10 1; 49 | #X connect 9 0 13 0; 50 | #X connect 10 0 4 0; 51 | #X connect 11 0 15 0; 52 | #X connect 12 0 14 0; 53 | #X connect 13 0 8 0; 54 | #X connect 14 0 10 4; 55 | #X connect 15 0 8 2; 56 | -------------------------------------------------------------------------------- /modules/else/combine.pd: -------------------------------------------------------------------------------- 1 | #N canvas 696 164 534 530 12; 2 | #X declare -path else; 3 | #X obj 103 316 timer; 4 | #X obj 103 374 sel 1; 5 | #X obj 103 176 t b b b a, f 14; 6 | #X obj 112 285 nbang 1; 7 | #X obj 166 240 b; 8 | #X msg 207 231 clear; 9 | #X obj 44 483 outlet; 10 | #X obj 354 81 declare -path else; 11 | #X obj 44 28 inlet; 12 | #X obj 313 28 inlet; 13 | #X text 249 361 Part of ELSE \; https://github.com/porres/pd-else; 14 | #X obj 313 272 s \$0-time; 15 | #X obj 329 138 lb -init; 16 | #X obj 329 189 pdcontrol; 17 | #X msg 329 164 args; 18 | #X obj 213 176 r \$0-time; 19 | #X obj 215 295 r \$0-time; 20 | #X text 251 342 Alexandre Torres Porres (2020); 21 | #X obj 83 109 r \$0-time; 22 | #X obj 44 176 router; 23 | #X obj 83 137 >= 0; 24 | #X obj 329 215 route float bang; 25 | #X msg 383 240 0; 26 | #X obj 103 346 >; 27 | #X obj 166 205 pipe; 28 | #X obj 198 419 group; 29 | #X connect 0 0 23 0; 30 | #X connect 1 0 25 0; 31 | #X connect 2 0 0 0; 32 | #X connect 2 1 3 0; 33 | #X connect 2 2 24 0; 34 | #X connect 2 3 25 0; 35 | #X connect 3 0 0 0; 36 | #X connect 3 1 0 1; 37 | #X connect 4 0 3 1; 38 | #X connect 4 0 25 0; 39 | #X connect 5 0 24 0; 40 | #X connect 8 0 19 0; 41 | #X connect 9 0 11 0; 42 | #X connect 12 0 14 0; 43 | #X connect 13 0 21 0; 44 | #X connect 14 0 13 0; 45 | #X connect 15 0 24 1; 46 | #X connect 16 0 23 1; 47 | #X connect 18 0 20 0; 48 | #X connect 19 0 6 0; 49 | #X connect 19 1 2 0; 50 | #X connect 20 0 19 1; 51 | #X connect 21 0 11 0; 52 | #X connect 21 1 22 0; 53 | #X connect 22 0 11 0; 54 | #X connect 23 0 1 0; 55 | #X connect 24 0 4 0; 56 | #X connect 24 0 5 0; 57 | #X connect 25 0 6 0; 58 | -------------------------------------------------------------------------------- /modules/else/deg2rad.pd: -------------------------------------------------------------------------------- 1 | #N canvas 788 56 555 330 12; 2 | #X obj 81 211 *; 3 | #X obj 81 264 outlet; 4 | #X obj 81 63 inlet; 5 | #X text 230 173 Part of ELSE \; https://github.com/porres/pd-else; 6 | #X text 232 154 Alexandre Torres Porres (2021); 7 | #X obj 128 211 / 180; 8 | #X obj 128 181 pi; 9 | #X obj 81 107 f; 10 | #N canvas 721 198 381 437 init 0; 11 | #X obj 148 193 route bang; 12 | #X obj 183 235 b; 13 | #X obj 147 329 outlet; 14 | #X obj 79 329 outlet; 15 | #X obj 92 38 loadbang; 16 | #X obj 93 132 break -; 17 | #X obj 92 83 pdcontrol; 18 | #X msg 92 61 args; 19 | #X msg 148 291 1; 20 | #X obj 94 165 route float -pos; 21 | #X connect 0 0 8 0; 22 | #X connect 0 1 1 0; 23 | #X connect 0 1 9 0; 24 | #X connect 1 0 8 0; 25 | #X connect 4 0 7 0; 26 | #X connect 5 0 9 0; 27 | #X connect 6 0 5 0; 28 | #X connect 7 0 6 0; 29 | #X connect 8 0 2 0; 30 | #X connect 9 0 3 0; 31 | #X connect 9 1 0 0; 32 | #X restore 120 104 pd init; 33 | #N canvas 719 407 450 300 gate 0; 34 | #X obj 304 135 wrap2 0 360; 35 | #X obj 88 84 router; 36 | #X obj 161 135 wrap2 0 360; 37 | #X obj 88 176 wrap2 -360 0; 38 | #X obj 88 135 moses; 39 | #X obj 162 52 inlet; 40 | #X obj 88 51 inlet; 41 | #X obj 161 230 outlet; 42 | #X connect 0 0 7 0; 43 | #X connect 1 0 4 0; 44 | #X connect 1 1 0 0; 45 | #X connect 2 0 7 0; 46 | #X connect 3 0 7 0; 47 | #X connect 4 0 3 0; 48 | #X connect 4 1 2 0; 49 | #X connect 5 0 1 1; 50 | #X connect 6 0 1 0; 51 | #X restore 81 144 pd gate; 52 | #X connect 0 0 1 0; 53 | #X connect 2 0 7 0; 54 | #X connect 5 0 0 1; 55 | #X connect 6 0 5 0; 56 | #X connect 7 0 9 0; 57 | #X connect 8 0 7 1; 58 | #X connect 8 1 9 1; 59 | #X connect 9 0 0 0; 60 | -------------------------------------------------------------------------------- /modules/granular_fx~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 282 635 *~; 3 | #X obj 301 258 +~ 0.5; 4 | #X obj 301 288 wrap~; 5 | #X obj 74 196 phasor~ 20; 6 | #X obj 143 515 utils/myhann~; 7 | #X obj 387 515 utils/myhann~; 8 | #X obj 58 703 outlet~; 9 | #X obj 363 44 inlet is_active; 10 | #X obj 58 635 *~; 11 | #X obj 363 76 switch~; 12 | #X obj 58 515 *~; 13 | #X obj 282 515 *~; 14 | #X obj 282 600 delread4~ \$1; 15 | #X obj 58 600 delread4~ \$1; 16 | #X obj 525 43 inlet reset_phase; 17 | #X obj 525 72 t b; 18 | #X obj 525 101 0; 19 | #X obj 58 122 *~; 20 | #X obj 58 43 inlet~ freq_ratio; 21 | #X obj 195 43 inlet~ grain_ms; 22 | #X obj 58 87 +~ 1; 23 | #X obj 195 76 pow~ -1; 24 | #X obj 195 105 *~ 1000; 25 | #X obj 58 557 +~ 1.5; 26 | #X obj 282 557 +~ 1.5; 27 | #X obj 143 347 samphold~; 28 | #X obj 363 347 samphold~; 29 | #X connect 0 0 6 0; 30 | #X connect 1 0 2 0; 31 | #X connect 2 0 5 0; 32 | #X connect 2 0 11 1; 33 | #X connect 2 0 26 1; 34 | #X connect 3 0 1 0; 35 | #X connect 3 0 4 0; 36 | #X connect 3 0 10 1; 37 | #X connect 3 0 25 1; 38 | #X connect 4 0 8 1; 39 | #X connect 5 0 0 1; 40 | #X connect 7 0 9 0; 41 | #X connect 8 0 6 0; 42 | #X connect 10 0 23 0; 43 | #X connect 11 0 24 0; 44 | #X connect 12 0 0 0; 45 | #X connect 13 0 8 0; 46 | #X connect 14 0 15 0; 47 | #X connect 15 0 16 0; 48 | #X connect 16 0 3 1; 49 | #X connect 17 0 3 0; 50 | #X connect 18 0 20 0; 51 | #X connect 19 0 21 0; 52 | #X connect 19 0 25 0; 53 | #X connect 19 0 26 0; 54 | #X connect 20 0 17 0; 55 | #X connect 21 0 22 0; 56 | #X connect 22 0 17 1; 57 | #X connect 23 0 13 0; 58 | #X connect 24 0 12 0; 59 | #X connect 25 0 10 0; 60 | #X connect 26 0 11 0; 61 | -------------------------------------------------------------------------------- /modules/else/stream.pd: -------------------------------------------------------------------------------- 1 | #N canvas 831 122 481 281 10; 2 | #X declare -path else; 3 | #X obj 128 64 t f b; 4 | #X obj 128 30 inlet; 5 | #X obj 49 30 inlet; 6 | #X obj 71 114 list; 7 | #N canvas 446 420 399 347 set 0; 8 | #X obj 57 119 args; 9 | #X msg 180 216 1; 10 | #X obj 218 215 sel 0; 11 | #X obj 310 251 > 0; 12 | #X obj 218 23 inlet; 13 | #X obj 57 147 route bang float; 14 | #X obj 245 258 t f f; 15 | #X obj 245 316 outlet; 16 | #X obj 310 275 s dir_\$0; 17 | #X obj 245 285 abs; 18 | #X obj 57 84 loadbanger -init 2; 19 | #X connect 0 0 5 0; 20 | #X connect 1 0 6 0; 21 | #X connect 2 1 6 0; 22 | #X connect 3 0 8 0; 23 | #X connect 4 0 2 0; 24 | #X connect 5 0 1 0; 25 | #X connect 5 1 2 0; 26 | #X connect 6 0 9 0; 27 | #X connect 6 1 3 0; 28 | #X connect 9 0 7 0; 29 | #X connect 10 0 0 0; 30 | #X connect 10 1 1 0; 31 | #X restore 128 116 pd set; 32 | #X obj 128 176 router; 33 | #X obj 71 149 list split; 34 | #X obj 161 148 r dir_\$0; 35 | #X obj 191 200 reverse; 36 | #X text 252 113 Part of ELSE \; https://github.com/porres/pd-else; 37 | #X text 254 94 Alexandre Torres Porres (2017); 38 | #X obj 281 62 declare -path else; 39 | #X obj 49 62 route clear float bang, f 11; 40 | #X obj 191 252 outlet; 41 | #X obj 191 228 message; 42 | #X connect 0 0 4 0; 43 | #X connect 0 1 3 1; 44 | #X connect 1 0 0 0; 45 | #X connect 2 0 12 0; 46 | #X connect 3 0 6 0; 47 | #X connect 4 0 6 1; 48 | #X connect 5 0 14 0; 49 | #X connect 5 1 8 0; 50 | #X connect 6 0 3 1; 51 | #X connect 6 0 5 0; 52 | #X connect 6 2 3 1; 53 | #X connect 6 2 5 0; 54 | #X connect 7 0 5 1; 55 | #X connect 8 0 14 0; 56 | #X connect 12 0 3 1; 57 | #X connect 12 1 3 0; 58 | #X connect 12 2 14 0; 59 | #X connect 14 0 13 0; 60 | -------------------------------------------------------------------------------- /modules/camomile/param.change.pd: -------------------------------------------------------------------------------- 1 | #N canvas 553 70 196 339 10; 2 | #X obj 55 43 r gui; 3 | #X obj 55 65 route mouse; 4 | #X obj 43 289 s camomile; 5 | #X obj 43 242 pack f f, f 18; 6 | #X msg 43 265 param change \$1 \$2; 7 | #X obj 92 159 t b f, f 8; 8 | #X obj 55 131 t b f, f 16; 9 | #X obj 16 183 t b f; 10 | #X msg 92 109 0; 11 | #X obj 16 18 r camo.param.change; 12 | #X msg 55 109 1; 13 | #N canvas 0 23 156 140 once 0; 14 | #X obj 15 84 t f b, f 8; 15 | #X obj 78 84 f 0; 16 | #X obj 15 19 inlet; 17 | #X obj 60 19 inlet; 18 | #X obj 15 106 outlet; 19 | #X obj 60 41 f 1; 20 | #X obj 15 62 spigot 0; 21 | #X connect 0 0 4 0; 22 | #X connect 0 1 1 0; 23 | #X connect 1 0 6 1; 24 | #X connect 2 0 6 0; 25 | #X connect 3 0 5 0; 26 | #X connect 5 0 6 1; 27 | #X connect 6 0 0 0; 28 | #X restore 16 159 pd once; 29 | #N canvas 0 23 156 140 once 0; 30 | #X obj 89 69 f 0; 31 | #X obj 15 19 inlet; 32 | #X obj 60 19 inlet; 33 | #X obj 15 106 outlet; 34 | #X obj 60 41 f 1; 35 | #X obj 15 62 spigot 0; 36 | #X obj 15 84 t b b, f 8; 37 | #X connect 0 0 5 1; 38 | #X connect 1 0 5 0; 39 | #X connect 2 0 4 0; 40 | #X connect 4 0 5 1; 41 | #X connect 5 0 6 0; 42 | #X connect 6 0 3 0; 43 | #X connect 6 1 0 0; 44 | #X restore 92 211 pd once; 45 | #X obj 55 87 sel 1 0, f 13; 46 | #X connect 0 0 1 0; 47 | #X connect 1 0 13 0; 48 | #X connect 3 0 4 0; 49 | #X connect 4 0 2 0; 50 | #X connect 5 0 12 0; 51 | #X connect 5 1 3 1; 52 | #X connect 6 0 11 1; 53 | #X connect 6 1 3 1; 54 | #X connect 7 0 12 1; 55 | #X connect 7 1 3 0; 56 | #X connect 8 0 5 0; 57 | #X connect 9 0 11 0; 58 | #X connect 10 0 6 0; 59 | #X connect 11 0 7 0; 60 | #X connect 12 0 3 0; 61 | #X connect 13 0 10 0; 62 | #X connect 13 1 8 0; 63 | -------------------------------------------------------------------------------- /modules/else/flanger~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 661 414 671 380 12; 2 | #X declare -path else; 3 | #X obj 108 39 inlet~; 4 | #X obj 108 310 outlet~; 5 | #X text 395 109 Part of ELSE \; https://github.com/porres/pd-else; 6 | #X text 397 90 Alexandre Torres Porres (2018); 7 | #X obj 357 40 inlet; 8 | #X obj 170 40 inlet; 9 | #X obj 357 168 f2s~ 10; 10 | #N canvas 875 144 450 300 arg 0; 11 | #X obj 152 66 args; 12 | #X obj 152 93 break -; 13 | #X obj 152 125 routetype anything; 14 | #X obj 152 171 sel -sine -tri; 15 | #X msg 152 206 sine; 16 | #X msg 198 207 tri; 17 | #X obj 155 263 outlet; 18 | #X obj 270 205 outlet; 19 | #X obj 152 148 symbol; 20 | #X obj 152 37 loadbanger -init; 21 | #X connect 0 0 1 0; 22 | #X connect 1 0 2 0; 23 | #X connect 2 0 8 0; 24 | #X connect 2 1 7 0; 25 | #X connect 3 0 4 0; 26 | #X connect 3 1 5 0; 27 | #X connect 4 0 6 0; 28 | #X connect 5 0 6 0; 29 | #X connect 8 0 3 0; 30 | #X connect 9 0 0 0; 31 | #X restore 202 79 pd arg; 32 | #X obj 170 228 f2s~ 10; 33 | #X obj 357 196 clip~ -1 1; 34 | #X obj 256 40 inlet; 35 | #X obj 241 107 unpack f f f; 36 | #X obj 170 169 / 127; 37 | #X obj 170 198 *; 38 | #X obj 256 192 max 0; 39 | #X obj 108 260 comb.rev~ 100 1, f 36; 40 | #X obj 170 142 lfo; 41 | #X obj 444 234 declare -path else; 42 | #X connect 0 0 15 0; 43 | #X connect 4 0 6 0; 44 | #X connect 5 0 16 0; 45 | #X connect 6 0 9 0; 46 | #X connect 7 0 16 0; 47 | #X connect 7 1 11 0; 48 | #X connect 8 0 15 1; 49 | #X connect 9 0 15 4; 50 | #X connect 9 0 15 3; 51 | #X connect 10 0 14 0; 52 | #X connect 11 0 16 0; 53 | #X connect 11 1 14 0; 54 | #X connect 11 2 6 0; 55 | #X connect 12 0 13 0; 56 | #X connect 13 0 8 0; 57 | #X connect 14 0 13 1; 58 | #X connect 15 0 1 0; 59 | #X connect 16 0 12 0; 60 | -------------------------------------------------------------------------------- /modules/else/freeze~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 702 218 516 269 10; 2 | #X declare -path else; 3 | #X obj 73 193 outlet~; 4 | #N canvas 148 122 574 437 freeze 0; 5 | #X obj 249 294 tgl 15 1 empty freee empty 17 7 0 10 -228856 -1 -1 1 6 | 1; 7 | #X obj 325 20 inlet; 8 | #X obj 325 83 != 0; 9 | #X obj 67 358 spigot; 10 | #X obj 67 386 outlet; 11 | #X obj 67 20 inlet; 12 | #X obj 249 327 v spigot_\$0; 13 | #X obj 170 244 del 5; 14 | #X obj 170 115 expr if(spigot_\$0 == 0 && $f1 \, 1 \, if(spigot_\$0 15 | == 1 && $f1 \, 2 \, if(spigot_\$0 == 0 && $f1 == 0 \, 3 \, 0))); 16 | #X obj 170 159 select 1 2 3; 17 | #X obj 171 49 route freeze unfreeze; 18 | #X msg 171 76 1; 19 | #X msg 232 76 0; 20 | #X obj 171 20 inlet; 21 | #X obj 325 56 route float; 22 | #X obj 249 229 lb -init; 23 | #X connect 0 0 3 1; 24 | #X connect 0 0 6 0; 25 | #X connect 1 0 14 0; 26 | #X connect 2 0 8 0; 27 | #X connect 3 0 4 0; 28 | #X connect 5 0 3 0; 29 | #X connect 7 0 0 0; 30 | #X connect 8 0 9 0; 31 | #X connect 9 0 7 0; 32 | #X connect 9 0 0 0; 33 | #X connect 9 1 0 0; 34 | #X connect 9 2 0 0; 35 | #X connect 10 0 11 0; 36 | #X connect 10 1 12 0; 37 | #X connect 11 0 8 0; 38 | #X connect 12 0 8 0; 39 | #X connect 13 0 10 0; 40 | #X connect 14 0 2 0; 41 | #X connect 15 0 0 0; 42 | #X restore 73 113 pd freeze; 43 | #X obj 141 52 inlet; 44 | #X text 263 154 Part of ELSE \; https://github.com/porres/pd-else; 45 | #X text 265 135 Alexandre Torres Porres (2018); 46 | #X obj 47 83 sigmund~ -npts 2048 -hop 512 -npeak 50 tracks; 47 | #X obj 73 154 clone 50 freeze.osc.clone~; 48 | #X obj 41 52 inlet~ fwd; 49 | #X obj 374 82 declare -path else; 50 | #X connect 1 0 6 0; 51 | #X connect 2 0 1 2; 52 | #X connect 5 0 1 0; 53 | #X connect 6 0 0 0; 54 | #X connect 7 0 5 0; 55 | #X connect 7 1 1 1; 56 | -------------------------------------------------------------------------------- /modules/else/euclid.pd: -------------------------------------------------------------------------------- 1 | #N canvas 660 217 732 411 12; 2 | #X declare -path else; 3 | #X obj 70 36 inlet; 4 | #X obj 200 330 outlet; 5 | #X obj 454 177 declare -path else; 6 | #X obj 147 36 inlet; 7 | #N canvas 522 333 450 300 init 0; 8 | #X obj 240 156 v rot_\$0; 9 | #X obj 151 164 v hits_\$0; 10 | #X msg 311 103 1; 11 | #X msg 234 104 8; 12 | #X obj 104 77 args; 13 | #X obj 104 51 lb -init 2; 14 | #X obj 104 103 unpack f f f; 15 | #X obj 78 197 v steps_\$0; 16 | #X obj 72 167 s steps_\$0; 17 | #X connect 2 0 1 0; 18 | #X connect 3 0 8 0; 19 | #X connect 4 0 6 0; 20 | #X connect 5 0 4 0; 21 | #X connect 5 1 3 0; 22 | #X connect 5 1 2 0; 23 | #X connect 6 0 8 0; 24 | #X connect 6 1 1 0; 25 | #X connect 6 2 0 0; 26 | #X restore 359 118 pd init; 27 | #X obj 239 36 inlet; 28 | #X obj 239 71 v hits_\$0; 29 | #X obj 318 36 inlet; 30 | #X obj 318 71 v rot_\$0; 31 | #X floatatom 84 83 5 0 0 0 - - -; 32 | #X obj 70 121 expr max(0 \, min($f1 \, steps_\$0 - 1)); 33 | #X text 426 242 Part of ELSE \; https://github.com/porres/pd-else; 34 | #X text 428 223 Alexandre Torres Porres (2020); 35 | #X obj 70 188 wrap2 0 16; 36 | #X obj 70 228 expr ($f1 * hits_\$0 % steps_\$0) < hits_\$0; 37 | #X obj 156 188 r steps_\$0; 38 | #X obj 70 157 expr $f1 - rot_\$0; 39 | #X obj 147 71 s steps_\$0; 40 | #X obj 70 260 trigger float float; 41 | #X obj 70 295 sel 1 0; 42 | #X obj 136 330 outlet; 43 | #X obj 70 330 outlet; 44 | #X connect 0 0 9 0; 45 | #X connect 0 0 10 0; 46 | #X connect 3 0 17 0; 47 | #X connect 5 0 6 0; 48 | #X connect 7 0 8 0; 49 | #X connect 10 0 16 0; 50 | #X connect 13 0 14 0; 51 | #X connect 14 0 18 0; 52 | #X connect 15 0 13 2; 53 | #X connect 16 0 13 0; 54 | #X connect 18 0 19 0; 55 | #X connect 18 1 1 0; 56 | #X connect 19 0 21 0; 57 | #X connect 19 1 20 0; 58 | -------------------------------------------------------------------------------- /modules/fft_mod~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 105 167 rfft~; 3 | #X obj 105 627 rifft~; 4 | #X obj 105 58 inlet~; 5 | #X obj 105 774 outlet~; 6 | #X obj 105 218 *~; 7 | #X obj 176 218 *~; 8 | #X obj 105 274 +~; 9 | #X obj 105 315 q8_sqrt~; 10 | #X obj 105 112 *~; 11 | #X obj 444 275 sig~ 1; 12 | #X obj 105 682 *~; 13 | #X obj 105 727 /~ 256; 14 | #X obj 105 567 *~; 15 | #X obj 278 58 inlet bash_factor; 16 | #X obj 37 458 utils/sig_mix~; 17 | #X obj 156 458 utils/sig_mix~; 18 | #X obj 156 420 sig~ 0; 19 | #X obj 105 506 >~; 20 | #X obj 215 506 >~; 21 | #X obj 176 567 *~; 22 | #X obj 444 381 else/hann~; 23 | #X text 343 599 Achieves the following effects through FFT:; 24 | #X text 343 652 2 - Denoise: filter freq bins with low energy; 25 | #X text 343 626 1 - Phase bash: set each freq bin's phase to zero; 26 | #X obj 444 58 inlet noise_threshold; 27 | #X obj 628 58 inlet is_active; 28 | #X obj 628 112 switch~ 512 4 1, f 17; 29 | #X connect 0 0 4 0; 30 | #X connect 0 0 4 1; 31 | #X connect 0 0 14 1; 32 | #X connect 0 1 5 0; 33 | #X connect 0 1 5 1; 34 | #X connect 0 1 15 1; 35 | #X connect 1 0 10 0; 36 | #X connect 2 0 8 0; 37 | #X connect 4 0 6 0; 38 | #X connect 5 0 6 1; 39 | #X connect 6 0 7 0; 40 | #X connect 7 0 14 0; 41 | #X connect 8 0 0 0; 42 | #X connect 9 0 20 0; 43 | #X connect 10 0 11 0; 44 | #X connect 11 0 3 0; 45 | #X connect 12 0 1 0; 46 | #X connect 13 0 14 2; 47 | #X connect 13 0 15 2; 48 | #X connect 14 0 17 0; 49 | #X connect 14 0 12 0; 50 | #X connect 15 0 18 0; 51 | #X connect 15 0 19 0; 52 | #X connect 16 0 15 0; 53 | #X connect 17 0 12 1; 54 | #X connect 18 0 19 1; 55 | #X connect 19 0 1 1; 56 | #X connect 20 0 8 1; 57 | #X connect 20 0 10 1; 58 | #X connect 24 0 17 1; 59 | #X connect 24 0 18 1; 60 | #X connect 25 0 26 0; 61 | -------------------------------------------------------------------------------- /modules/else/meter~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 646 227 558 470 10; 2 | #X declare -path else; 3 | #X obj 51 201 cnv 15 50 134 empty empty empty 20 12 0 14 -233017 -66577 4 | 0; 5 | #X obj 54 207 vu 15 120 \$0-m empty -1 -8 0 10 -1 -1 1 0; 6 | #X obj 135 53 inlet~; 7 | #X obj 190 299 pack; 8 | #X obj 160 93 vu~ \$1 \$2; 9 | #X text 297 215 Alexandre Torres Porres (2016); 10 | #X text 295 234 Part of ELSE \; https://github.com/porres/pd-else; 11 | #X text 297 195 [meter~]: Mono Vu meter; 12 | #X obj 135 386 outlet~; 13 | #X obj 51 334 cnv 1 6 1 empty empty empty 20 12 0 14 -1 -66577 0; 14 | #X obj 51 201 cnv 1 6 1 empty empty empty 20 12 0 14 -1 -66577 0; 15 | #X obj 95 334 cnv 1 6 1 empty empty empty 20 12 0 14 -1 -66577 0; 16 | #X obj 190 386 outlet; 17 | #N canvas 628 525 496 411 meter 0; 18 | #X obj 121 63 inlet; 19 | #X obj 267 63 inlet; 20 | #X obj 121 178 pack; 21 | #X obj 121 206 line; 22 | #X obj 219 178 pack; 23 | #X obj 219 206 line; 24 | #X obj 121 236 outlet; 25 | #X obj 219 236 outlet; 26 | #X obj 343 160 v peak_\$0; 27 | #X obj 345 138 v rms_\$0; 28 | #X obj 121 107 expr rms_\$0 = $f1 \; if($f1 <= rms_\$0 \, 2000 \, 0) 29 | \; peak_\$0 = $f2 \; if($f2 <= peak_\$0 \, 2000 \, 0); 30 | #X connect 0 0 10 0; 31 | #X connect 1 0 10 1; 32 | #X connect 2 0 3 0; 33 | #X connect 3 0 6 0; 34 | #X connect 4 0 5 0; 35 | #X connect 5 0 7 0; 36 | #X connect 10 0 2 0; 37 | #X connect 10 1 2 1; 38 | #X connect 10 2 4 0; 39 | #X connect 10 3 4 1; 40 | #X restore 49 171 pd meter; 41 | #X obj 320 78 declare -path else; 42 | #X connect 2 0 4 0; 43 | #X connect 2 0 8 0; 44 | #X connect 3 0 12 0; 45 | #X connect 4 0 13 0; 46 | #X connect 4 0 3 0; 47 | #X connect 4 1 13 1; 48 | #X connect 4 1 3 1; 49 | #X connect 13 0 1 0; 50 | #X connect 13 1 1 1; 51 | #X coords 0 -1 1 1 52 136 2 50 200; 52 | -------------------------------------------------------------------------------- /modules/else/insert.pd: -------------------------------------------------------------------------------- 1 | #N canvas 490 194 547 389 10; 2 | #X declare -path else; 3 | #X text 278 253 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X obj 319 166 declare -path else; 5 | #X text 276 232 Alexandre Torres Porres (2020); 6 | #X obj 209 170 list prepend; 7 | #X msg 134 189 0; 8 | #X obj 51 168 t b b; 9 | #X msg 51 190 1; 10 | #X obj 78 216 spigot; 11 | #X obj 134 168 t b a; 12 | #X obj 134 142 list split \$1; 13 | #N canvas 1293 296 264 252 init 0; 14 | #X obj 109 72 args; 15 | #X obj 109 95 list split 1; 16 | #X obj 67 132 route float; 17 | #X obj 153 132 list; 18 | #X obj 109 49 lb -init; 19 | #X obj 143 162 outlet; 20 | #X obj 67 162 outlet; 21 | #X connect 0 0 1 0; 22 | #X connect 1 0 2 0; 23 | #X connect 1 1 3 1; 24 | #X connect 1 1 5 0; 25 | #X connect 2 0 6 0; 26 | #X connect 2 1 3 0; 27 | #X connect 3 0 5 0; 28 | #X connect 4 0 0 0; 29 | #X restore 225 141 pd init; 30 | #X obj 318 41 inlet; 31 | #X obj 278 41 inlet; 32 | #X obj 161 307 list trim; 33 | #X obj 50 41 inlet; 34 | #X obj 161 340 outlet; 35 | #X obj 50 74 route bang; 36 | #X obj 107 95 t b a; 37 | #X obj 134 119 list; 38 | #X obj 161 277 message; 39 | #X obj 161 249 list; 40 | #X connect 3 0 20 1; 41 | #X connect 4 0 7 1; 42 | #X connect 5 0 6 0; 43 | #X connect 5 1 7 0; 44 | #X connect 6 0 7 1; 45 | #X connect 7 0 20 0; 46 | #X connect 8 0 4 0; 47 | #X connect 8 1 20 0; 48 | #X connect 9 0 8 0; 49 | #X connect 9 1 3 0; 50 | #X connect 9 2 3 0; 51 | #X connect 10 0 9 1; 52 | #X connect 10 1 3 1; 53 | #X connect 11 0 9 1; 54 | #X connect 12 0 3 1; 55 | #X connect 13 0 15 0; 56 | #X connect 14 0 16 0; 57 | #X connect 16 0 19 0; 58 | #X connect 16 1 17 0; 59 | #X connect 17 0 5 0; 60 | #X connect 17 1 18 0; 61 | #X connect 18 0 9 0; 62 | #X connect 19 0 13 0; 63 | #X connect 20 0 19 0; 64 | -------------------------------------------------------------------------------- /modules/else/stepnoise.pd: -------------------------------------------------------------------------------- 1 | #N canvas 651 163 523 375 10; 2 | #X declare -path else; 3 | #X obj 101 43 inlet; 4 | #X obj 101 307 outlet; 5 | #X obj 101 135 v phase_\$0; 6 | #X obj 60 159 wrap; 7 | #X obj 101 159 expr $f1 + i_\$0 \; $f1; 8 | #X text 280 173 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X obj 101 108 metro 5; 10 | #X obj 101 219 sel 1; 11 | #X obj 101 244 rand.f 0 127; 12 | #X obj 146 222 r \$0-rand; 13 | #X text 282 153 Alexandre Torres Porres (2019); 14 | #X obj 101 193 expr $f1 >= 1 || $f1 <= 0; 15 | #N canvas 339 61 566 450 init 0; 16 | #X obj 410 149 args; 17 | #X obj 410 222 s \$0-hz; 18 | #X obj 366 121 t b b; 19 | #X obj 395 266 s \$0-rand; 20 | #X obj 410 185 route float; 21 | #X obj 366 296 outlet; 22 | #X obj 119 293 v i_\$0; 23 | #X obj 119 202 clip -100 100; 24 | #X obj 119 234 / 1000; 25 | #X obj 119 180 float; 26 | #X obj 135 140 r \$0-hz; 27 | #X obj 119 265 * 5; 28 | #X obj 197 123 s \$0-rand; 29 | #X obj 119 62 route float seed; 30 | #X msg 197 99 seed \$1; 31 | #X obj 119 24 inlet; 32 | #X obj 365 90 lb -init; 33 | #X connect 0 0 4 0; 34 | #X connect 2 0 5 0; 35 | #X connect 2 1 0 0; 36 | #X connect 2 1 3 0; 37 | #X connect 4 0 1 0; 38 | #X connect 7 0 8 0; 39 | #X connect 8 0 11 0; 40 | #X connect 9 0 7 0; 41 | #X connect 10 0 9 0; 42 | #X connect 11 0 6 0; 43 | #X connect 13 0 9 0; 44 | #X connect 13 1 14 0; 45 | #X connect 14 0 12 0; 46 | #X connect 15 0 13 0; 47 | #X connect 16 0 2 0; 48 | #X restore 101 75 pd init; 49 | #X obj 311 113 declare -path else; 50 | #X connect 0 0 12 0; 51 | #X connect 2 0 4 0; 52 | #X connect 3 0 2 0; 53 | #X connect 4 0 3 0; 54 | #X connect 4 0 11 0; 55 | #X connect 6 0 2 0; 56 | #X connect 7 0 8 0; 57 | #X connect 8 0 1 0; 58 | #X connect 9 0 8 0; 59 | #X connect 11 0 7 0; 60 | #X connect 12 0 6 0; 61 | -------------------------------------------------------------------------------- /modules/else/rad2deg.pd: -------------------------------------------------------------------------------- 1 | #N canvas 597 55 555 330 12; 2 | #X obj 81 264 outlet; 3 | #X obj 81 63 inlet; 4 | #X text 230 173 Part of ELSE \; https://github.com/porres/pd-else; 5 | #X text 232 154 Alexandre Torres Porres (2021); 6 | #X obj 81 107 f; 7 | #N canvas 721 198 381 437 init 0; 8 | #X obj 148 193 route bang; 9 | #X obj 183 235 b; 10 | #X obj 147 329 outlet; 11 | #X obj 79 329 outlet; 12 | #X obj 92 38 loadbang; 13 | #X obj 93 132 break -; 14 | #X obj 92 83 pdcontrol; 15 | #X msg 92 61 args; 16 | #X msg 148 291 1; 17 | #X obj 94 164 route float -pos; 18 | #X connect 0 0 8 0; 19 | #X connect 0 1 1 0; 20 | #X connect 0 1 9 0; 21 | #X connect 1 0 8 0; 22 | #X connect 4 0 7 0; 23 | #X connect 5 0 9 0; 24 | #X connect 6 0 5 0; 25 | #X connect 7 0 6 0; 26 | #X connect 8 0 2 0; 27 | #X connect 9 0 3 0; 28 | #X connect 9 1 0 0; 29 | #X restore 120 104 pd init; 30 | #N canvas 755 193 428 336 gate 0; 31 | #X obj 88 84 router; 32 | #X obj 88 123 moses; 33 | #X obj 162 32 inlet; 34 | #X obj 88 31 inlet; 35 | #X obj 168 262 outlet; 36 | #X obj 234 85 pi 2; 37 | #X obj 167 203 wrap2; 38 | #X obj 257 203 wrap2; 39 | #X obj 86 203 wrap2; 40 | #X obj 162 153 * -1; 41 | #X connect 0 0 1 0; 42 | #X connect 0 1 7 0; 43 | #X connect 1 0 8 0; 44 | #X connect 1 1 6 0; 45 | #X connect 2 0 0 1; 46 | #X connect 3 0 0 0; 47 | #X connect 5 0 6 2; 48 | #X connect 5 0 7 2; 49 | #X connect 5 0 9 0; 50 | #X connect 6 0 4 0; 51 | #X connect 7 0 4 0; 52 | #X connect 8 0 4 0; 53 | #X connect 9 0 8 1; 54 | #X restore 81 144 pd gate; 55 | #X obj 81 211 *; 56 | #X obj 125 220 expr 180/$f1; 57 | #X obj 125 191 pi; 58 | #X connect 1 0 4 0; 59 | #X connect 4 0 6 0; 60 | #X connect 5 0 4 1; 61 | #X connect 5 1 6 1; 62 | #X connect 6 0 7 0; 63 | #X connect 7 0 0 0; 64 | #X connect 8 0 7 1; 65 | #X connect 9 0 8 0; 66 | -------------------------------------------------------------------------------- /modules/else/pitch.shift~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 477 180 864 551 12; 2 | #X declare -path else; 3 | #X obj 172 381 *~; 4 | #X obj 239 427 +~; 5 | #X obj 284 421 *~; 6 | #X obj 115 299 *~; 7 | #X obj 284 348 *~; 8 | #X obj 446 143 expr 1000 / $f1; 9 | #X obj 274 146 expr 1 - $f1; 10 | #X obj 428 178 *~; 11 | #X text 434 25 grain size; 12 | #X text 249 19 transposition; 13 | #X obj 115 330 delread4~ \$0-buffer, f 9; 14 | #X obj 284 375 delread4~ \$0-buffer; 15 | #X obj 57 155 delwrite~ \$0-buffer 500; 16 | #X obj 57 51 inlet~; 17 | #X obj 239 476 outlet~; 18 | #X obj 428 412 envelope~; 19 | #X obj 428 298 pimp~ 0 0.5; 20 | #X obj 302 294 f2s~ 50; 21 | #X obj 190 260 pimp~; 22 | #X obj 274 119 cents2ratio; 23 | #X obj 190 321 envelope~; 24 | #X obj 446 47 inlet; 25 | #X obj 274 46 inlet; 26 | #X obj 298 88 initmess \$1; 27 | #X text 558 281 Part of ELSE \; https://github.com/porres/pd-else; 28 | #X text 560 257 Alexandre Torres Porres (2018); 29 | #X obj 446 109 max 5; 30 | #X obj 590 124 expr if($f1 == 0 \, 75 \, $f1); 31 | #X obj 590 100 f \$2; 32 | #X obj 590 75 lb -init; 33 | #X obj 597 202 declare -path else; 34 | #X connect 0 0 1 0; 35 | #X connect 1 0 14 0; 36 | #X connect 2 0 1 1; 37 | #X connect 3 0 10 0; 38 | #X connect 4 0 11 0; 39 | #X connect 5 0 7 1; 40 | #X connect 6 0 7 0; 41 | #X connect 7 0 18 0; 42 | #X connect 7 0 16 0; 43 | #X connect 10 0 0 0; 44 | #X connect 11 0 2 0; 45 | #X connect 13 0 12 0; 46 | #X connect 15 0 2 1; 47 | #X connect 16 0 4 0; 48 | #X connect 16 0 15 0; 49 | #X connect 17 0 3 1; 50 | #X connect 17 0 4 1; 51 | #X connect 18 0 3 0; 52 | #X connect 18 0 20 0; 53 | #X connect 19 0 6 0; 54 | #X connect 20 0 0 1; 55 | #X connect 21 0 26 0; 56 | #X connect 22 0 19 0; 57 | #X connect 23 0 19 0; 58 | #X connect 26 0 5 0; 59 | #X connect 26 0 17 0; 60 | #X connect 27 0 26 0; 61 | #X connect 28 0 27 0; 62 | #X connect 29 0 28 0; 63 | -------------------------------------------------------------------------------- /modules/granular_fx_2nd~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 282 635 *~; 3 | #X obj 301 258 +~ 0.5; 4 | #X obj 301 288 wrap~; 5 | #X obj 74 196 phasor~ 20; 6 | #X obj 143 515 utils/myhann~; 7 | #X obj 387 515 utils/myhann~; 8 | #X obj 58 703 outlet~; 9 | #X obj 363 44 inlet is_active; 10 | #X obj 58 635 *~; 11 | #X obj 363 76 switch~; 12 | #X obj 58 515 *~; 13 | #X obj 282 515 *~; 14 | #X obj 282 600 delread4~ \$1; 15 | #X obj 58 600 delread4~ \$1; 16 | #X obj 525 43 inlet reset_phase; 17 | #X obj 525 72 t b; 18 | #X obj 525 101 0; 19 | #X obj 58 122 *~; 20 | #X obj 58 43 inlet~ freq_ratio; 21 | #X obj 195 43 inlet~ grain_ms; 22 | #X obj 58 87 +~ 1; 23 | #X obj 195 76 pow~ -1; 24 | #X obj 195 105 *~ 1000; 25 | #X obj 58 557 +~ 1.5; 26 | #X obj 282 557 +~ 1.5; 27 | #X obj 143 347 samphold~; 28 | #X obj 363 347 samphold~; 29 | #X obj -99 43 inlet~ audio; 30 | #X obj -99 87 delwrite~ \$1 300; 31 | #X obj 695 43 inlet clear_buffer; 32 | #X msg 695 72 clear; 33 | #X connect 0 0 6 0; 34 | #X connect 1 0 2 0; 35 | #X connect 2 0 5 0; 36 | #X connect 2 0 11 1; 37 | #X connect 2 0 26 1; 38 | #X connect 3 0 1 0; 39 | #X connect 3 0 4 0; 40 | #X connect 3 0 10 1; 41 | #X connect 3 0 25 1; 42 | #X connect 4 0 8 1; 43 | #X connect 5 0 0 1; 44 | #X connect 7 0 9 0; 45 | #X connect 8 0 6 0; 46 | #X connect 10 0 23 0; 47 | #X connect 11 0 24 0; 48 | #X connect 12 0 0 0; 49 | #X connect 13 0 8 0; 50 | #X connect 14 0 15 0; 51 | #X connect 15 0 16 0; 52 | #X connect 16 0 3 1; 53 | #X connect 17 0 3 0; 54 | #X connect 18 0 20 0; 55 | #X connect 19 0 21 0; 56 | #X connect 19 0 25 0; 57 | #X connect 19 0 26 0; 58 | #X connect 20 0 17 0; 59 | #X connect 21 0 22 0; 60 | #X connect 22 0 17 1; 61 | #X connect 23 0 13 0; 62 | #X connect 24 0 12 0; 63 | #X connect 25 0 10 0; 64 | #X connect 26 0 11 0; 65 | #X connect 27 0 28 0; 66 | #X connect 29 0 30 0; 67 | #X connect 30 0 28 0; 68 | -------------------------------------------------------------------------------- /modules/else/morph~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 653 70 662 551 12; 2 | #X declare -path else; 3 | #X obj 92 42 inlet~; 4 | #X obj 211 41 inlet~; 5 | #X obj 100 451 outlet~; 6 | #X obj 100 331 rifft~; 7 | #X obj 211 174 rfft~; 8 | #X obj 92 174 rfft~; 9 | #X obj 248 433 block~; 10 | #X msg 248 400 set \$1 4; 11 | #X obj 235 362 r \$0-size; 12 | #X obj 211 127 hann~; 13 | #X obj 92 127 hann~; 14 | #X obj 100 365 hann~; 15 | #X obj 92 210 car2pol~; 16 | #X obj 332 212 f2s~ 10; 17 | #X obj 92 266 xfade~; 18 | #X obj 92 293 pol2car~; 19 | #X obj 100 406 *~; 20 | #X obj 211 210 car2pol~; 21 | #X obj 442 41 inlet; 22 | #X obj 442 212 f2s~ 10; 23 | #X obj 203 290 xfade~; 24 | #X obj 464 108 args; 25 | #X obj 464 135 route bang; 26 | #X obj 531 173 unpack; 27 | #X obj 235 471 expr 1 / ($f1 * 1.5); 28 | #X msg 464 166 1 -1; 29 | #X msg 384 350 2048; 30 | #X obj 384 383 s \$0-size; 31 | #X obj 332 41 inlet; 32 | #X obj 383 322 lb -init; 33 | #X obj 464 80 lb -init; 34 | #X obj 478 274 declare -path else; 35 | #X connect 0 0 10 0; 36 | #X connect 1 0 9 0; 37 | #X connect 3 0 11 0; 38 | #X connect 4 0 17 0; 39 | #X connect 4 1 17 1; 40 | #X connect 5 0 12 0; 41 | #X connect 5 1 12 1; 42 | #X connect 7 0 6 0; 43 | #X connect 8 0 7 0; 44 | #X connect 8 0 24 0; 45 | #X connect 9 0 4 0; 46 | #X connect 10 0 5 0; 47 | #X connect 11 0 16 0; 48 | #X connect 12 0 14 0; 49 | #X connect 12 1 20 0; 50 | #X connect 13 0 14 2; 51 | #X connect 14 0 15 0; 52 | #X connect 15 0 3 0; 53 | #X connect 15 1 3 1; 54 | #X connect 16 0 2 0; 55 | #X connect 17 0 14 1; 56 | #X connect 17 1 20 1; 57 | #X connect 18 0 19 0; 58 | #X connect 19 0 20 2; 59 | #X connect 20 0 15 1; 60 | #X connect 21 0 22 0; 61 | #X connect 22 0 25 0; 62 | #X connect 22 1 23 0; 63 | #X connect 23 0 13 0; 64 | #X connect 23 1 19 0; 65 | #X connect 24 0 16 1; 66 | #X connect 25 0 23 0; 67 | #X connect 26 0 27 0; 68 | #X connect 28 0 13 0; 69 | #X connect 29 0 26 0; 70 | #X connect 30 0 21 0; 71 | -------------------------------------------------------------------------------- /modules/else/any2symbol.pd: -------------------------------------------------------------------------------- 1 | #N canvas 540 183 822 289 10; 2 | #X obj 171 120 makefilename %g; 3 | #X obj 288 205 outlet; 4 | #X obj 54 48 inlet; 5 | #X obj 288 120 symbol bang; 6 | #N canvas 727 42 578 444 list-any 0; 7 | #X obj 69 36 inlet; 8 | #X obj 69 370 outlet; 9 | #X obj 69 125 trigger bang list bang; 10 | #X obj 264 301 list prepend; 11 | #X obj 69 294 list; 12 | #X obj 333 259 list append 32; 13 | #X obj 69 332 list tosymbol; 14 | #X obj 185 270 list fromsymbol; 15 | #X obj 69 89 list; 16 | #N canvas 816 210 280 272 drip 0; 17 | #X obj 92 201 outlet; 18 | #X obj 110 32 inlet; 19 | #X obj 81 90 until; 20 | #X obj 92 177 list store; 21 | #X obj 110 61 t b b l; 22 | #X obj 81 119 f; 23 | #X obj 116 120 + 1; 24 | #X msg 129 94 0, f 2; 25 | #X msg 81 148 get \$1 1; 26 | #X connect 1 0 4 0; 27 | #X connect 2 0 5 0; 28 | #X connect 3 0 0 0; 29 | #X connect 3 1 2 1; 30 | #X connect 4 0 2 0; 31 | #X connect 4 1 7 0; 32 | #X connect 4 2 3 1; 33 | #X connect 5 0 6 0; 34 | #X connect 5 0 8 0; 35 | #X connect 6 0 5 1; 36 | #X connect 7 0 5 1; 37 | #X connect 8 0 3 0; 38 | #X restore 133 171 pd drip; 39 | #X obj 133 208 route float symbol; 40 | #X obj 133 238 makefilename %g; 41 | #X connect 0 0 8 0; 42 | #X connect 2 0 4 0; 43 | #X connect 2 1 9 0; 44 | #X connect 2 2 3 1; 45 | #X connect 3 0 4 1; 46 | #X connect 3 0 5 0; 47 | #X connect 4 0 6 0; 48 | #X connect 5 0 3 1; 49 | #X connect 6 0 1 0; 50 | #X connect 7 0 3 0; 51 | #X connect 8 0 2 0; 52 | #X connect 9 0 10 0; 53 | #X connect 10 0 11 0; 54 | #X connect 10 1 7 0; 55 | #X connect 11 0 7 0; 56 | #X restore 405 120 pd list-any; 57 | #X text 529 139 Part of ELSE \; https://github.com/porres/pd-else; 58 | #X obj 54 87 route symbol float bang, f 59; 59 | #X text 531 120 Alexandre Torres Porres (2018-2020); 60 | #X connect 0 0 1 0; 61 | #X connect 2 0 6 0; 62 | #X connect 3 0 1 0; 63 | #X connect 4 0 1 0; 64 | #X connect 6 0 1 0; 65 | #X connect 6 1 0 0; 66 | #X connect 6 2 3 0; 67 | #X connect 6 3 4 0; 68 | -------------------------------------------------------------------------------- /modules/wavetable_sampler~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 46 502 samphold~; 3 | #X obj 45 581 +~; 4 | #X obj 263 502 samphold~; 5 | #X obj 269 581 +~; 6 | #X obj 282 708 *~; 7 | #X obj 163 147 phasor~ 440, f 14; 8 | #X obj 298 310 +~ 0.5; 9 | #X obj 300 348 wrap~; 10 | #X obj 300 245 phasor~ 20; 11 | #X obj 46 96 inlet~ playhead; 12 | #X obj 482 96 inlet array_name; 13 | #X msg 482 128 set \$1; 14 | #X obj 130 581 utils/myhann~; 15 | #X obj 374 581 utils/myhann~; 16 | #X obj 58 901 outlet~; 17 | #X obj 614 96 inlet is_active; 18 | #X obj 59 701 *~; 19 | #X obj 614 128 switch~; 20 | #X obj 147 708 utils/myhann~; 21 | #X obj 59 804 *~; 22 | #X obj 45 645 tabread4~ \$1; 23 | #X obj 269 645 tabread4~ \$1; 24 | #X obj 163 96 inlet~ freq; 25 | #X obj 269 96 inlet~ window; 26 | #X obj 163 202 *~; 27 | #X obj 374 96 inlet~ grain_ms; 28 | #X obj 374 128 pow~ -1; 29 | #X obj 374 157 *~ 1000; 30 | #X obj 755 96 inlet reset_phase; 31 | #X obj 755 125 t b; 32 | #X obj 755 154 0; 33 | #X obj 213 202 samphold~; 34 | #X connect 0 0 1 0; 35 | #X connect 1 0 20 0; 36 | #X connect 2 0 3 0; 37 | #X connect 3 0 21 0; 38 | #X connect 4 0 19 0; 39 | #X connect 5 0 18 0; 40 | #X connect 5 0 24 0; 41 | #X connect 5 0 31 1; 42 | #X connect 6 0 7 0; 43 | #X connect 7 0 2 1; 44 | #X connect 7 0 13 0; 45 | #X connect 8 0 0 1; 46 | #X connect 8 0 6 0; 47 | #X connect 8 0 12 0; 48 | #X connect 9 0 0 0; 49 | #X connect 9 0 2 0; 50 | #X connect 10 0 11 0; 51 | #X connect 11 0 20 0; 52 | #X connect 11 0 21 0; 53 | #X connect 12 0 16 1; 54 | #X connect 13 0 4 1; 55 | #X connect 15 0 17 0; 56 | #X connect 16 0 19 0; 57 | #X connect 18 0 19 1; 58 | #X connect 19 0 14 0; 59 | #X connect 20 0 16 0; 60 | #X connect 21 0 4 0; 61 | #X connect 22 0 5 0; 62 | #X connect 23 0 31 0; 63 | #X connect 24 0 1 1; 64 | #X connect 24 0 3 1; 65 | #X connect 25 0 26 0; 66 | #X connect 26 0 27 0; 67 | #X connect 27 0 8 0; 68 | #X connect 28 0 29 0; 69 | #X connect 29 0 30 0; 70 | #X connect 30 0 8 1; 71 | #X connect 31 0 24 1; 72 | -------------------------------------------------------------------------------- /modules/audio_in_handler.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 93 62 adc~ 1 2; 3 | #X obj 286 62 adc~ 3; 4 | #X obj 63 233 r main_source; 5 | #X obj 133 305 == 2; 6 | #X obj 93 110 utils/sig_mix~; 7 | #X obj 173 62 sig~ 0.5; 8 | #X text 93 33 Stereo input audio is not supported for now.; 9 | #X obj 225 305 == 3; 10 | #X obj 93 356 *~; 11 | #X obj 210 356 *~; 12 | #X obj 797 215 switch~; 13 | #X obj 797 62 r main_source; 14 | #X obj 92 443 +~; 15 | #X obj 598 611 > 0.75; 16 | #X obj 330 775 spigot; 17 | #X obj 330 807 mtof; 18 | #X obj 330 837 s main_audio_freq; 19 | #X obj 797 91 > 1; 20 | #X obj 330 540 sigmund~ -hop 2048 pitch quality; 21 | #X obj 92 540 delwrite~ main_delay_line 300; 22 | #X obj 916 62 r sub_source; 23 | #X obj 916 120 t b f; 24 | #X obj 400 356 *~; 25 | #X obj 517 356 *~; 26 | #X obj 370 233 r sub_source; 27 | #X obj 440 305 == 1; 28 | #X obj 532 305 == 2; 29 | #X obj 400 443 +~; 30 | #X obj 400 479 delwrite~ sub_delay_line 300; 31 | #X obj 330 611 moses 0; 32 | #X obj 330 648 moses 128; 33 | #X obj 916 91 > 0; 34 | #X obj 797 158 max; 35 | #X connect 0 0 4 0; 36 | #X connect 0 1 4 1; 37 | #X connect 1 0 9 0; 38 | #X connect 1 0 23 0; 39 | #X connect 2 0 3 0; 40 | #X connect 2 0 7 0; 41 | #X connect 3 0 8 1; 42 | #X connect 4 0 8 0; 43 | #X connect 4 0 22 0; 44 | #X connect 5 0 4 2; 45 | #X connect 7 0 9 1; 46 | #X connect 8 0 12 0; 47 | #X connect 9 0 12 1; 48 | #X connect 11 0 17 0; 49 | #X connect 12 0 18 0; 50 | #X connect 12 0 19 0; 51 | #X connect 13 0 14 1; 52 | #X connect 14 0 15 0; 53 | #X connect 15 0 16 0; 54 | #X connect 17 0 32 0; 55 | #X connect 18 0 29 0; 56 | #X connect 18 1 13 0; 57 | #X connect 20 0 31 0; 58 | #X connect 21 0 32 0; 59 | #X connect 21 1 32 1; 60 | #X connect 22 0 27 0; 61 | #X connect 23 0 27 1; 62 | #X connect 24 0 25 0; 63 | #X connect 24 0 26 0; 64 | #X connect 25 0 22 1; 65 | #X connect 26 0 23 1; 66 | #X connect 27 0 28 0; 67 | #X connect 29 1 30 0; 68 | #X connect 30 0 14 0; 69 | #X connect 31 0 21 0; 70 | #X connect 32 0 10 0; 71 | -------------------------------------------------------------------------------- /modules/wavetable_fx~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 114 525 +~; 3 | #X obj 338 525 +~; 4 | #X obj 350 645 *~; 5 | #X obj 232 91 phasor~ 440, f 14; 6 | #X obj 408 193 +~ 0.5; 7 | #X obj 408 223 wrap~; 8 | #X obj 369 146 phasor~ 20; 9 | #X obj 199 525 utils/myhann~; 10 | #X obj 443 525 utils/myhann~; 11 | #X obj 127 845 outlet~; 12 | #X obj 683 40 inlet is_active; 13 | #X obj 128 645 *~; 14 | #X obj 683 72 switch~; 15 | #X obj 17 645 utils/myhann~; 16 | #X obj 128 748 *~; 17 | #X obj 114 320 *~; 18 | #X obj 338 320 *~; 19 | #X obj 232 320 /~; 20 | #X obj 511 254 samplerate~; 21 | #X obj 232 362 *~ 1000; 22 | #X obj 511 220 r pd-dsp-started; 23 | #X obj 114 589 delread4~ \$1; 24 | #X obj 338 589 delread4~ \$1; 25 | #X obj 232 40 inlet~ freq; 26 | #X obj 338 40 inlet~ window; 27 | #X obj 443 40 inlet~ grain_ms; 28 | #X obj 232 146 *~; 29 | #X obj 443 72 pow~ -1; 30 | #X obj 443 101 *~ 1000; 31 | #X obj 884 40 inlet reset_phase; 32 | #X obj 884 69 t b; 33 | #X obj 884 98 0; 34 | #X obj 276 146 samphold~; 35 | #X connect 0 0 21 0; 36 | #X connect 1 0 22 0; 37 | #X connect 2 0 14 0; 38 | #X connect 3 0 13 0 32.................Y....nx+++eF....p7+++ag....; 39 | #X connect 3 0 26 0; 40 | #X connect 3 0 32 1; 41 | #X connect 4 0 5 0; 42 | #X connect 5 0 8 0; 43 | #X connect 5 0 16 0; 44 | #X connect 6 0 4 0; 45 | #X connect 6 0 7 0; 46 | #X connect 6 0 15 0; 47 | #X connect 7 0 11 1; 48 | #X connect 8 0 2 1; 49 | #X connect 10 0 12 0; 50 | #X connect 11 0 14 0; 51 | #X connect 13 0 14 1; 52 | #X connect 14 0 9 0; 53 | #X connect 15 0 0 0; 54 | #X connect 16 0 1 0; 55 | #X connect 17 0 19 0; 56 | #X connect 18 0 17 1; 57 | #X connect 19 0 0 1; 58 | #X connect 19 0 1 1; 59 | #X connect 20 0 18 0; 60 | #X connect 21 0 11 0; 61 | #X connect 22 0 2 0; 62 | #X connect 23 0 3 0; 63 | #X connect 24 0 32 0; 64 | #X connect 25 0 15 1; 65 | #X connect 25 0 16 1; 66 | #X connect 25 0 27 0; 67 | #X connect 26 0 17 0; 68 | #X connect 27 0 28 0; 69 | #X connect 28 0 6 0; 70 | #X connect 29 0 30 0; 71 | #X connect 30 0 31 0; 72 | #X connect 31 0 6 1; 73 | #X connect 32 0 26 1; 74 | -------------------------------------------------------------------------------- /modules/granular_sampler~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 42 41 inlet~ playhead; 3 | #X obj 527 41 inlet array_name; 4 | #X msg 527 74 set \$1; 5 | #X obj 650 41 inlet is_active; 6 | #X obj 650 74 switch~; 7 | #X obj 42 353 samphold~; 8 | #X obj 42 489 +~; 9 | #X obj 42 623 *~; 10 | #X obj 383 388 samphold~; 11 | #X obj 383 496 +~; 12 | #X obj 383 623 *~; 13 | #X obj 547 271 +~ 0.5; 14 | #X obj 549 309 wrap~; 15 | #X obj 122 489 utils/myhann~; 16 | #X obj 463 496 utils/myhann~; 17 | #X obj 42 725 outlet~; 18 | #X obj 183 242 phasor~ 20, f 14; 19 | #X obj 98 416 *~; 20 | #X obj 549 432 *~; 21 | #X obj 42 560 tabread4~ \$1; 22 | #X obj 383 560 tabread4~ \$1; 23 | #X obj 759 41 inlet reset_phase; 24 | #X obj 759 70 t b; 25 | #X obj 759 99 0; 26 | #X obj 356 158 /~; 27 | #X obj 205 158 *~; 28 | #X obj 166 41 inlet~ freq_ratio; 29 | #X obj 291 41 inlet~ grain_ms; 30 | #X obj 291 74 pow~ -1; 31 | #X obj 291 103 *~ 1000; 32 | #X obj 402 41 inlet sample_rate; 33 | #X obj 140 374 samphold~; 34 | #X obj 591 388 samphold~; 35 | #X connect 0 0 5 0; 36 | #X connect 0 0 8 0; 37 | #X connect 1 0 2 0; 38 | #X connect 2 0 19 0; 39 | #X connect 2 0 20 0; 40 | #X connect 3 0 4 0; 41 | #X connect 5 0 6 0; 42 | #X connect 6 0 19 0; 43 | #X connect 7 0 15 0; 44 | #X connect 8 0 9 0; 45 | #X connect 9 0 20 0; 46 | #X connect 10 0 15 0; 47 | #X connect 11 0 12 0; 48 | #X connect 12 0 14 0; 49 | #X connect 12 0 8 1; 50 | #X connect 12 0 18 0; 51 | #X connect 12 0 32 1; 52 | #X connect 13 0 7 1; 53 | #X connect 14 0 10 1; 54 | #X connect 16 0 11 0; 55 | #X connect 16 0 13 0; 56 | #X connect 16 0 5 1; 57 | #X connect 16 0 17 0; 58 | #X connect 16 0 31 1; 59 | #X connect 17 0 6 1; 60 | #X connect 18 0 9 1; 61 | #X connect 19 0 7 0; 62 | #X connect 20 0 10 0; 63 | #X connect 21 0 22 0; 64 | #X connect 22 0 23 0; 65 | #X connect 23 0 16 1; 66 | #X connect 24 0 31 0; 67 | #X connect 24 0 32 0; 68 | #X connect 25 0 16 0; 69 | #X connect 26 0 25 1; 70 | #X connect 27 0 28 0; 71 | #X connect 28 0 29 0; 72 | #X connect 29 0 24 1; 73 | #X connect 29 0 25 0; 74 | #X connect 30 0 24 0; 75 | #X connect 31 0 17 1; 76 | #X connect 32 0 18 1; 77 | -------------------------------------------------------------------------------- /modules/else/rampnoise.pd: -------------------------------------------------------------------------------- 1 | #N canvas 717 127 550 606 10; 2 | #X declare -path else; 3 | #X obj 89 38 inlet; 4 | #X obj 203 506 outlet; 5 | #X obj 124 331 v i_\$0; 6 | #N canvas 479 401 457 290 route 0; 7 | #X obj 37 27 inlet; 8 | #X obj 42 159 outlet; 9 | #X obj 37 86 route float seed, f 20; 10 | #X obj 142 153 s \$0-rand; 11 | #X msg 146 130 seed \$1; 12 | #X connect 0 0 2 0; 13 | #X connect 2 0 1 0; 14 | #X connect 2 1 4 0; 15 | #X connect 4 0 3 0; 16 | #X restore 89 100 pd route; 17 | #X obj 89 240 clip -100 100; 18 | #X obj 203 279 v phase_\$0; 19 | #X obj 162 303 wrap; 20 | #X obj 102 272 / 1000; 21 | #X obj 203 303 expr $f1 + i_\$0 \; $f1; 22 | #X obj 89 218 float; 23 | #N canvas 441 105 462 293 args 0; 24 | #X obj 120 85 args; 25 | #X obj 120 158 s \$0-hz; 26 | #X obj 93 57 t b b; 27 | #X obj 93 232 s \$0-lb; 28 | #X obj 105 202 s \$0-rand; 29 | #X obj 121 121 route float; 30 | #X obj 93 26 lb -init; 31 | #X connect 0 0 5 0; 32 | #X connect 2 0 3 0; 33 | #X connect 2 0 4 0; 34 | #X connect 2 1 0 0; 35 | #X connect 5 0 1 0; 36 | #X connect 6 0 2 0; 37 | #X restore 280 148 pd args; 38 | #X obj 105 178 r \$0-hz; 39 | #X obj 203 197 r \$0-lb; 40 | #X text 309 228 Part of ELSE \; https://github.com/porres/pd-else; 41 | #X obj 124 303 * 5; 42 | #X obj 203 252 metro 5; 43 | #X obj 203 358 sel 1; 44 | #X obj 203 383 rand.f 0 127; 45 | #X obj 203 465 line; 46 | #X obj 203 440 pack f f; 47 | #X obj 88 365 expr 1000/$f1; 48 | #X obj 248 361 r \$0-rand; 49 | #X text 311 208 Alexandre Torres Porres (2019); 50 | #X obj 203 337 expr $f1 >= 1 || $f1 <= 0; 51 | #X obj 271 82 declare -path else; 52 | #X connect 0 0 3 0; 53 | #X connect 3 0 9 0; 54 | #X connect 4 0 7 0; 55 | #X connect 4 0 20 0; 56 | #X connect 5 0 8 0; 57 | #X connect 6 0 5 0; 58 | #X connect 7 0 14 0; 59 | #X connect 8 0 6 0; 60 | #X connect 8 0 23 0; 61 | #X connect 9 0 4 0; 62 | #X connect 11 0 9 0; 63 | #X connect 12 0 15 0; 64 | #X connect 14 0 2 0; 65 | #X connect 15 0 5 0; 66 | #X connect 16 0 17 0; 67 | #X connect 17 0 19 0; 68 | #X connect 18 0 1 0; 69 | #X connect 19 0 18 0; 70 | #X connect 20 0 19 1; 71 | #X connect 21 0 17 0; 72 | #X connect 23 0 16 0; 73 | -------------------------------------------------------------------------------- /modules/else/gmean.pd: -------------------------------------------------------------------------------- 1 | #N canvas 467 132 649 430 12; 2 | #X declare -path else; 3 | #X obj 83 47 inlet; 4 | #X obj 84 320 group; 5 | #X obj 116 234 loop; 6 | #X obj 176 209 + 1; 7 | #X obj 116 264 expr pow(ratio_\$0 \, $f1/$f2) * base_\$0, f 27; 8 | #X obj 84 169 t b b; 9 | #X obj 277 47 inlet; 10 | #X obj 234 47 inlet; 11 | #X obj 191 47 inlet; 12 | #X obj 84 368 outlet; 13 | #X obj 176 155 r \$0-n; 14 | #X obj 83 86 route bang list; 15 | #X obj 134 121 t b l; 16 | #N canvas 888 181 388 365 set 0; 17 | #X obj 48 120 unpack f f f; 18 | #X obj 223 246 v base_\$0; 19 | #X obj 185 282 expr $f1 / base_\$0; 20 | #X obj 279 177 s \$0-n; 21 | #X obj 185 310 v ratio_\$0; 22 | #X obj 48 44 inlet; 23 | #X obj 169 44 inlet; 24 | #X obj 224 44 inlet; 25 | #X obj 279 44 inlet; 26 | #N canvas 630 357 322 201 args 0; 27 | #X obj 75 77 args; 28 | #X msg 156 77 1 2 2; 29 | #X obj 104 124 outlet; 30 | #X obj 75 44 lb 3; 31 | #X obj 228 119 outlet; 32 | #X msg 216 76 set 1 2; 33 | #X connect 0 0 2 0; 34 | #X connect 1 0 2 0; 35 | #X connect 3 0 0 0; 36 | #X connect 3 1 1 0; 37 | #X connect 3 2 5 0; 38 | #X connect 5 0 4 0; 39 | #X restore 95 80 pd args; 40 | #X obj 184 213 swap 2; 41 | #X obj 171 182 hot; 42 | #X connect 0 0 11 0; 43 | #X connect 0 1 11 1; 44 | #X connect 0 2 3 0; 45 | #X connect 2 0 4 0; 46 | #X connect 5 0 0 0; 47 | #X connect 6 0 11 0; 48 | #X connect 7 0 11 1; 49 | #X connect 8 0 3 0; 50 | #X connect 9 0 0 0; 51 | #X connect 9 1 11 0; 52 | #X connect 10 0 2 0; 53 | #X connect 10 1 1 0; 54 | #X connect 11 0 10 0; 55 | #X connect 11 1 10 1; 56 | #X restore 208 122 pd set; 57 | #X text 321 166 Part of ELSE \; https://github.com/porres/pd-else; 58 | #X text 323 147 Alexandre Torres Porres (2021); 59 | #X obj 368 109 declare -path else; 60 | #X connect 0 0 11 0; 61 | #X connect 1 0 9 0; 62 | #X connect 2 0 4 0; 63 | #X connect 3 0 2 1; 64 | #X connect 4 0 1 0; 65 | #X connect 5 0 1 0; 66 | #X connect 5 1 2 0; 67 | #X connect 6 0 13 3; 68 | #X connect 7 0 13 2; 69 | #X connect 8 0 13 1; 70 | #X connect 10 0 4 1; 71 | #X connect 10 0 3 0; 72 | #X connect 11 0 5 0; 73 | #X connect 11 1 12 0; 74 | #X connect 12 0 5 0; 75 | #X connect 12 1 13 0; 76 | -------------------------------------------------------------------------------- /modules/else/coeff2pz.pd: -------------------------------------------------------------------------------- 1 | #N canvas 572 181 557 307 10; 2 | #X obj 48 215 outlet; 3 | #X text 301 141 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 303 122 Alexandre Torres Porres (2021); 5 | #X msg 216 128 \$3; 6 | #X text 245 127 gain; 7 | #X obj 78 93 trigger list list; 8 | #X obj 78 45 inlet; 9 | #N canvas 256 23 607 380 Poles_&_Zeros 0; 10 | #X obj 62 21 inlet; 11 | #X text 246 325 zero 1; 12 | #X text 357 324 zero 2; 13 | #X obj 488 172 v kIm_\$0; 14 | #X obj 269 174 v kRe_\$0; 15 | #X obj 70 280 outlet; 16 | #X obj 62 304 outlet; 17 | #X obj 180 280 outlet; 18 | #X obj 172 304 outlet; 19 | #X obj 249 280 outlet; 20 | #X obj 242 304 outlet; 21 | #X obj 360 280 outlet; 22 | #X obj 352 304 outlet; 23 | #X obj 269 130 expr if($f1 >= 0 \, sqrt(abs($f1)) \, 0) \; if($f1 < 24 | 0 \, sqrt(abs($f1)) \, 0); 25 | #X obj 62 203 expr ($f1 + kRe_\$0) / 2 \; kIm_\$0 / 2 \; ($f1 - kRe_\$0) 26 | / 2 \; 0 - kIm_\$0 / 2; 27 | #X obj 242 203 expr ($f1 + kRe_\$0) / 2 \; kIm_\$0 / 2 \; ($f1 - kRe_\$0) 28 | / 2 \; 0 - kIm_\$0 / 2; 29 | #X obj 62 50 expr $f1 \; pow($f1 \, 2) + (4 * $f2) \; -$f4 / $f3 \; 30 | pow($f4 / $f3 \, 2) - (4 * $f5 / $f3); 31 | #X text 281 72 zeros are dividided by gain!, f 19; 32 | #X text 67 324 pole 1; 33 | #X text 177 324 pole 2; 34 | #X text 106 20 b1 b2 a0 a1 a2; 35 | #X connect 0 0 16 0; 36 | #X connect 13 0 4 0; 37 | #X connect 13 1 3 0; 38 | #X connect 14 0 6 0; 39 | #X connect 14 1 5 0; 40 | #X connect 14 2 8 0; 41 | #X connect 14 3 7 0; 42 | #X connect 15 0 10 0; 43 | #X connect 15 1 9 0; 44 | #X connect 15 2 12 0; 45 | #X connect 15 3 11 0; 46 | #X connect 16 0 14 0; 47 | #X connect 16 1 13 0; 48 | #X connect 16 2 15 0; 49 | #X connect 16 3 13 0; 50 | #X restore 78 128 pd Poles_&_Zeros; 51 | #X obj 217 215 outlet; 52 | #X obj 131 215 outlet; 53 | #X obj 48 171 pack f f f f; 54 | #X obj 131 171 pack f f f f; 55 | #X connect 3 0 8 0; 56 | #X connect 5 0 7 0; 57 | #X connect 5 1 3 0; 58 | #X connect 6 0 5 0; 59 | #X connect 7 0 10 0; 60 | #X connect 7 1 10 1; 61 | #X connect 7 2 10 2; 62 | #X connect 7 3 10 3; 63 | #X connect 7 4 11 0; 64 | #X connect 7 5 11 1; 65 | #X connect 7 6 11 2; 66 | #X connect 7 7 11 3; 67 | #X connect 10 0 0 0; 68 | #X connect 11 0 9 0; 69 | -------------------------------------------------------------------------------- /modules/else/expand~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 578 151 499 518 12; 2 | #X declare -path else; 3 | #N canvas 667 241 423 456 set 0; 4 | #X obj 67 35 inlet; 5 | #X obj 205 357 s \$0-ratio; 6 | #X obj 237 336 s \$0-attack; 7 | #X obj 269 315 s \$0-release; 8 | #X obj 174 122 args; 9 | #X obj 174 161 unpack f f f f f; 10 | #X msg 277 124 -10 1 10 10 0; 11 | #X obj 174 378 s \$0-thresh; 12 | #X obj 279 285 s \$0-gain; 13 | #X obj 67 161 route thresh ratio attack release gain, f 12; 14 | #X obj 175 90 lb -init 2; 15 | #X connect 0 0 9 0; 16 | #X connect 4 0 5 0; 17 | #X connect 5 0 7 0; 18 | #X connect 5 1 1 0; 19 | #X connect 5 2 2 0; 20 | #X connect 5 3 3 0; 21 | #X connect 5 4 8 0; 22 | #X connect 6 0 5 0; 23 | #X connect 9 0 7 0; 24 | #X connect 9 1 1 0; 25 | #X connect 9 2 2 0; 26 | #X connect 9 3 3 0; 27 | #X connect 9 4 8 0; 28 | #X connect 10 0 4 0; 29 | #X connect 10 1 6 0; 30 | #X restore 290 56 pd set; 31 | #X text 242 165 Part of ELSE \; https://github.com/porres/pd-else; 32 | #X text 244 146 Alexandre Torres Porres (2019); 33 | #X obj 175 282 r \$0-release; 34 | #X obj 189 472 outlet~; 35 | #X obj 76 392 *~; 36 | #X obj 175 307 r \$0-attack; 37 | #X obj 94 198 -~; 38 | #X obj 136 253 f2s~ 10; 39 | #X obj 136 198 max 1; 40 | #X obj 112 127 f2s~ 10; 41 | #X obj 112 103 r \$0-thresh; 42 | #X obj 136 172 r \$0-ratio; 43 | #X obj 94 66 mov.rms~ 512 -db; 44 | #X obj 189 441 *~; 45 | #X obj 207 387 db2lin; 46 | #X obj 207 412 f2s~ 10; 47 | #X obj 207 362 r \$0-gain; 48 | #X obj 136 225 expr 1 - 1/$f1; 49 | #X obj 94 243 *~; 50 | #X obj 94 284 min~ 0; 51 | #X obj 94 361 db2lin~; 52 | #X obj 94 331 glide2~; 53 | #X obj 76 25 inlet~ fwd, f 24; 54 | #X obj 315 255 declare -path else; 55 | #X connect 3 0 22 1; 56 | #X connect 5 0 14 0; 57 | #X connect 6 0 22 2; 58 | #X connect 7 0 19 0; 59 | #X connect 8 0 19 1; 60 | #X connect 9 0 18 0; 61 | #X connect 10 0 7 1; 62 | #X connect 11 0 10 0; 63 | #X connect 12 0 9 0; 64 | #X connect 13 0 7 0; 65 | #X connect 14 0 4 0; 66 | #X connect 15 0 16 0; 67 | #X connect 16 0 14 1; 68 | #X connect 17 0 15 0; 69 | #X connect 18 0 8 0; 70 | #X connect 19 0 20 0; 71 | #X connect 20 0 22 0; 72 | #X connect 21 0 5 1; 73 | #X connect 22 0 21 0; 74 | #X connect 23 0 5 0; 75 | #X connect 23 0 13 0; 76 | #X connect 23 1 0 0; 77 | -------------------------------------------------------------------------------- /modules/else/bangdiv.pd: -------------------------------------------------------------------------------- 1 | #N canvas 791 163 544 558 10; 2 | #X declare -path else; 3 | #X obj 163 367 wrap; 4 | #X obj 163 392 sel 0; 5 | #X obj 124 239 + 1; 6 | #X obj 124 321 / 1; 7 | #X obj 275 183 args; 8 | #X obj 275 210 route float list; 9 | #X obj 275 238 unpack; 10 | #X obj 314 286 s \$0-div; 11 | #X obj 334 255 s \$0-start; 12 | #X obj 275 264 moses 1; 13 | #X obj 95 194 r \$0-start; 14 | #X msg 231 440 0; 15 | #X obj 163 458 t b b; 16 | #X obj 163 498 outlet; 17 | #X obj 139 298 r \$0-div; 18 | #X obj 74 29 inlet; 19 | #X text 248 352 Part of ELSE \; https://github.com/porres/pd-else; 20 | #X text 250 333 Alexandre Torres Porres (2017); 21 | #X obj 124 344 moses 1; 22 | #X obj 74 241 f -1; 23 | #X obj 334 236 - 1; 24 | #X obj 124 392 sel 0; 25 | #X obj 113 149 route float; 26 | #X obj 196 194 s \$0-start; 27 | #X obj 218 164 - 1; 28 | #X obj 218 134 route float; 29 | #X obj 275 161 lb -init; 30 | #X obj 331 125 declare -path else; 31 | #X obj 190 418 b; 32 | #X obj 221 498 outlet; 33 | #X obj 74 59 route bang div start reset; 34 | #X obj 95 217 f -1; 35 | #X obj 231 464 s \$0-reset; 36 | #X obj 233 88 r \$0-div; 37 | #X obj 124 274 t f f; 38 | #X obj 162 92 moses 0; 39 | #X obj 218 111 %; 40 | #X obj 143 29 inlet; 41 | #X connect 0 0 1 0; 42 | #X connect 1 0 12 0; 43 | #X connect 1 1 28 0; 44 | #X connect 2 0 34 0; 45 | #X connect 3 0 18 0; 46 | #X connect 4 0 5 0; 47 | #X connect 5 0 6 0; 48 | #X connect 5 1 6 0; 49 | #X connect 6 0 9 0; 50 | #X connect 6 1 20 0; 51 | #X connect 9 1 7 0; 52 | #X connect 10 0 31 0; 53 | #X connect 11 0 32 0; 54 | #X connect 12 0 13 0; 55 | #X connect 12 1 11 0; 56 | #X connect 14 0 3 1; 57 | #X connect 15 0 30 0; 58 | #X connect 18 0 21 0; 59 | #X connect 18 1 0 0; 60 | #X connect 19 0 2 0; 61 | #X connect 20 0 8 0; 62 | #X connect 21 0 13 0; 63 | #X connect 21 1 28 0; 64 | #X connect 22 0 9 0; 65 | #X connect 24 0 23 0; 66 | #X connect 25 0 24 0; 67 | #X connect 26 0 4 0; 68 | #X connect 28 0 29 0; 69 | #X connect 30 0 19 0; 70 | #X connect 30 1 22 0; 71 | #X connect 30 2 35 0; 72 | #X connect 30 3 23 0; 73 | #X connect 31 0 19 1; 74 | #X connect 33 0 36 1; 75 | #X connect 34 0 3 0; 76 | #X connect 34 1 19 1; 77 | #X connect 35 0 25 0; 78 | #X connect 35 1 36 0; 79 | #X connect 36 0 25 0; 80 | #X connect 37 0 22 0; 81 | -------------------------------------------------------------------------------- /modules/else/clock.pd: -------------------------------------------------------------------------------- 1 | #N canvas 579 138 703 525 10; 2 | #X declare -path else; 3 | #X obj 180 350 expr 60000 / ($f1 * 24); 4 | #X obj 90 85 midirealtimein; 5 | #X obj 90 113 sel 248; 6 | #X obj 157 209 timer; 7 | #X obj 157 237 spigot 0; 8 | #X obj 157 147 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 9 | 1; 10 | #X msg 202 196 1; 11 | #X obj 202 217 change; 12 | #X obj 157 171 select 0 1; 13 | #X floatatom 157 270 5 0 0 0 - - -; 14 | #X text 318 450 BPM; 15 | #X obj 104 216 timer; 16 | #X text 131 270 ms; 17 | #X obj 348 448 outlet; 18 | #X obj 90 450 outlet; 19 | #X text 53 449 bang; 20 | #X obj 292 141 args; 21 | #X obj 515 323 expr 60000 / ($f1 * 24); 22 | #X obj 470 385 metro; 23 | #X obj 292 168 route bang; 24 | #X obj 384 197 route float internal external; 25 | #X msg 473 227 1; 26 | #X msg 527 233 0; 27 | #X obj 384 28 inlet; 28 | #X obj 349 383 spigot; 29 | #X msg 292 198 1; 30 | #X obj 90 348 spigot; 31 | #X msg 441 232 0; 32 | #X msg 500 232 1; 33 | #X obj 515 346 t b f; 34 | #X text 429 122 Part of ELSE \; https://github.com/porres/pd-else; 35 | #X text 431 103 Alexandre Torres Porres (2017); 36 | #X obj 292 117 lb -init; 37 | #X obj 468 70 declare -path else; 38 | #X connect 0 0 24 0; 39 | #X connect 1 0 2 0; 40 | #X connect 2 0 5 0; 41 | #X connect 2 0 26 0; 42 | #X connect 3 0 4 0; 43 | #X connect 4 0 9 0; 44 | #X connect 5 0 8 0; 45 | #X connect 6 0 7 0; 46 | #X connect 7 0 4 1; 47 | #X connect 8 0 3 0; 48 | #X connect 8 0 6 0; 49 | #X connect 8 0 11 1; 50 | #X connect 8 1 3 1; 51 | #X connect 8 1 11 0; 52 | #X connect 9 0 0 0; 53 | #X connect 11 0 9 0; 54 | #X connect 16 0 19 0; 55 | #X connect 17 0 29 0; 56 | #X connect 18 0 14 0; 57 | #X connect 19 0 25 0; 58 | #X connect 19 1 20 0; 59 | #X connect 20 0 17 0; 60 | #X connect 20 0 27 0; 61 | #X connect 20 0 21 0; 62 | #X connect 20 1 21 0; 63 | #X connect 20 1 27 0; 64 | #X connect 20 2 22 0; 65 | #X connect 20 2 28 0; 66 | #X connect 21 0 18 0; 67 | #X connect 22 0 18 0; 68 | #X connect 23 0 20 0; 69 | #X connect 24 0 13 0; 70 | #X connect 25 0 24 1; 71 | #X connect 25 0 26 1; 72 | #X connect 26 0 14 0; 73 | #X connect 27 0 24 1; 74 | #X connect 27 0 26 1; 75 | #X connect 28 0 24 1; 76 | #X connect 28 0 26 1; 77 | #X connect 29 0 18 0; 78 | #X connect 29 1 18 1; 79 | #X connect 32 0 16 0; 80 | -------------------------------------------------------------------------------- /modules/else/iterate.pd: -------------------------------------------------------------------------------- 1 | #N canvas 975 240 498 222 10; 2 | #X obj 81 23 inlet; 3 | #X obj 167 175 outlet; 4 | #X text 246 107 Part of ELSE \; https://github.com/porres/pd-else; 5 | #X text 248 88 Alexandre Torres Porres (2017); 6 | #X obj 167 23 inlet; 7 | #X obj 167 140 list trim; 8 | #N canvas 1131 202 301 524 iter 0; 9 | #X obj 184 436 list store; 10 | #X obj 61 56 route bang; 11 | #X obj 151 161 list length; 12 | #X obj 151 190 v size_\$0; 13 | #X obj 165 311 until; 14 | #X obj 165 339 f; 15 | #X obj 214 339 + 1; 16 | #X msg 208 311 0, f 2; 17 | #X msg 165 408 get \$1 1; 18 | #X obj 61 212 v dir_\$0; 19 | #X obj 61 242 select 0 1; 20 | #X obj 165 283 t b b; 21 | #X obj 61 334 until; 22 | #X obj 61 362 f; 23 | #X obj 61 279 v size_\$0; 24 | #X obj 61 306 t f f; 25 | #X obj 106 333 - 1; 26 | #X obj 100 362 - 1; 27 | #X obj 118 86 trigger bang anything; 28 | #X obj 61 24 inlet; 29 | #X obj 184 467 outlet; 30 | #X connect 0 0 20 0; 31 | #X connect 0 1 4 1; 32 | #X connect 1 0 9 0; 33 | #X connect 1 1 18 0; 34 | #X connect 2 0 3 0; 35 | #X connect 4 0 5 0; 36 | #X connect 5 0 6 0; 37 | #X connect 5 0 8 0; 38 | #X connect 6 0 5 1; 39 | #X connect 7 0 5 1; 40 | #X connect 8 0 0 0; 41 | #X connect 9 0 10 0; 42 | #X connect 10 0 14 0; 43 | #X connect 10 1 11 0; 44 | #X connect 11 0 4 0; 45 | #X connect 11 1 7 0; 46 | #X connect 12 0 13 0; 47 | #X connect 13 0 17 0; 48 | #X connect 13 0 8 0; 49 | #X connect 14 0 15 0; 50 | #X connect 15 0 12 0; 51 | #X connect 15 1 16 0; 52 | #X connect 16 0 13 1; 53 | #X connect 17 0 13 1; 54 | #X connect 18 0 9 0; 55 | #X connect 18 1 0 1; 56 | #X connect 18 1 2 0; 57 | #X connect 19 0 1 0; 58 | #X restore 80 82 pd iter; 59 | #N canvas 633 351 295 292 set 0; 60 | #X obj 162 31 inlet; 61 | #X obj 162 191 v dir_\$0; 62 | #X obj 162 156 >= 0; 63 | #X obj 73 123 route -trim, f 12; 64 | #X obj 73 229 outlet; 65 | #X obj 73 68 lb -init; 66 | #X obj 73 93 args -; 67 | #X msg 73 152 1; 68 | #X connect 0 0 2 0; 69 | #X connect 2 0 1 0; 70 | #X connect 3 0 7 0; 71 | #X connect 3 1 2 0; 72 | #X connect 5 0 6 0; 73 | #X connect 6 0 3 0; 74 | #X connect 7 0 4 0; 75 | #X restore 167 82 pd set; 76 | #X obj 80 114 router 2, f 15; 77 | #X connect 0 0 6 0; 78 | #X connect 4 0 7 0; 79 | #X connect 5 0 1 0; 80 | #X connect 6 0 8 0; 81 | #X connect 7 0 8 1; 82 | #X connect 8 0 1 0; 83 | #X connect 8 1 5 0; 84 | -------------------------------------------------------------------------------- /modules/else/perlin~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 743 148 509 494 12; 2 | #X declare -path else; 3 | #X obj 179 148 inlet~; 4 | #X obj 119 343 *~; 5 | #X obj 101 377 -~; 6 | #X obj 161 345 *~; 7 | #X obj 161 430 outlet~; 8 | #X obj 179 222 phasor~; 9 | #N canvas 528 183 347 403 slopes 0; 10 | #X obj 201 172 samphold~; 11 | #X obj 61 25 inlet~; 12 | #X obj 62 341 outlet~; 13 | #X obj 201 341 outlet~; 14 | #X obj 62 296 *~; 15 | #X obj 219 262 -~ 1; 16 | #X obj 201 296 *~; 17 | #X obj 201 55 noise~; 18 | #X obj 201 88 *~ 2; 19 | #X obj 80 262 lastvalue~; 20 | #X connect 0 0 6 0; 21 | #X connect 0 0 9 0; 22 | #X connect 1 0 0 1; 23 | #X connect 1 0 4 0; 24 | #X connect 1 0 5 0; 25 | #X connect 4 0 2 0; 26 | #X connect 5 0 6 1; 27 | #X connect 6 0 3 0; 28 | #X connect 7 0 8 0; 29 | #X connect 8 0 0 0; 30 | #X connect 9 0 4 1; 31 | #X restore 101 267 pd slopes; 32 | #N canvas 936 89 203 304 smootherstep 0; 33 | #X obj 94 36 inlet~; 34 | #X obj 94 83 *~; 35 | #X obj 23 91 *~; 36 | #X obj 23 164 *~ 10; 37 | #X obj 123 134 *~; 38 | #X obj 76 134 *~; 39 | #X obj 123 164 *~ 15; 40 | #X obj 76 164 *~ 6; 41 | #X obj 105 197 -~; 42 | #X obj 105 239 outlet~; 43 | #X connect 0 0 1 0; 44 | #X connect 0 0 1 1; 45 | #X connect 0 0 2 0; 46 | #X connect 1 0 2 1; 47 | #X connect 1 0 4 0; 48 | #X connect 1 0 4 1; 49 | #X connect 1 0 5 1; 50 | #X connect 2 0 3 0; 51 | #X connect 2 0 5 0; 52 | #X connect 3 0 9 0; 53 | #X connect 4 0 6 0; 54 | #X connect 5 0 7 0; 55 | #X connect 6 0 8 1; 56 | #X connect 7 0 8 0; 57 | #X connect 8 0 9 0; 58 | #X restore 179 267 pd smootherstep; 59 | #X text 224 339 Part of ELSE \; https://github.com/porres/pd-else; 60 | #X text 225 320 Matt Barber (2020); 61 | #X obj 274 115 nyquist~; 62 | #X obj 179 186 fold~ 0 1; 63 | #X obj 178 54 args; 64 | #X obj 178 81 route float bang; 65 | #X obj 232 115 f; 66 | #X obj 178 29 lb -init; 67 | #X obj 319 210 declare -path else; 68 | #X connect 0 0 11 0; 69 | #X connect 1 0 2 1; 70 | #X connect 2 0 4 0; 71 | #X connect 3 0 4 0; 72 | #X connect 5 0 6 0; 73 | #X connect 5 0 7 0; 74 | #X connect 6 0 2 0; 75 | #X connect 6 0 1 0; 76 | #X connect 6 1 3 0; 77 | #X connect 7 0 1 1; 78 | #X connect 7 0 3 1; 79 | #X connect 10 0 11 2; 80 | #X connect 10 0 14 1; 81 | #X connect 11 0 5 0; 82 | #X connect 12 0 13 0; 83 | #X connect 13 0 0 0; 84 | #X connect 13 1 14 0; 85 | #X connect 14 0 0 0; 86 | #X connect 15 0 12 0; 87 | -------------------------------------------------------------------------------- /modules/else/hex2dec.pd: -------------------------------------------------------------------------------- 1 | #N canvas 774 84 476 522 10; 2 | #X declare -path else; 3 | #X msg 191 314 0; 4 | #X obj 191 343 v i_\$0; 5 | #X obj 127 369 v sum_\$0; 6 | #X obj 62 36 inlet; 7 | #X obj 170 36 inlet; 8 | #X obj 84 445 outlet; 9 | #X text 233 248 Part of ELSE \; https://github.com/porres/pd-else; 10 | #N canvas 830 114 550 646 sum 0; 11 | #X obj 124 81 list fromsymbol; 12 | #X obj 124 467 list split 1; 13 | #X obj 158 490 list; 14 | #X obj 188 283 list split 2, f 17; 15 | #X obj 188 240 t l l, f 23; 16 | #X obj 302 406 list; 17 | #X obj 188 345 sel 0 1; 18 | #X obj 207 410 list, f 5; 19 | #X obj 187 175 list length; 20 | #X obj 187 203 >= 2; 21 | #X obj 124 45 inlet; 22 | #X obj 124 177 t l l; 23 | #X obj 124 205 router; 24 | #X obj 188 309 expr $f1 == 48 && ($f2 == 88 || $f2 == 120); 25 | #X obj 124 525 expr i_\$0 = i_\$0 + 1 \; sum_\$0 = sum_\$0 + if($f1 26 | <= 57 \, $f1 -48 \, if($f1 > 57 && $f1 < 88 \, $f1 - 55 \, $f1 -87)) 27 | * pow(16 \, i_\$0), f 52; 28 | #X connect 0 0 11 0; 29 | #X connect 1 0 14 0; 30 | #X connect 1 1 2 0; 31 | #X connect 2 0 1 0; 32 | #X connect 3 0 13 0; 33 | #X connect 3 1 7 1; 34 | #X connect 4 0 3 0; 35 | #X connect 4 1 5 1; 36 | #X connect 5 0 1 0; 37 | #X connect 6 0 5 0; 38 | #X connect 6 1 7 0; 39 | #X connect 7 0 1 0; 40 | #X connect 8 0 9 0; 41 | #X connect 9 0 12 1; 42 | #X connect 10 0 0 0; 43 | #X connect 11 0 12 0; 44 | #X connect 11 1 8 0; 45 | #X connect 12 0 1 0; 46 | #X connect 12 1 4 0; 47 | #X connect 13 0 6 0; 48 | #X restore 146 313 pd sum; 49 | #X obj 268 297 declare -path else; 50 | #X obj 62 72 route bang; 51 | #X obj 219 104 args; 52 | #X obj 219 125 route bang; 53 | #X obj 219 82 loadbang; 54 | #X obj 119 165 message 0; 55 | #X obj 111 250 route float; 56 | #X obj 111 219 else/iterate; 57 | #X obj 84 194 t b a; 58 | #X obj 84 413 else/group; 59 | #X msg 219 165 0x0; 60 | #X obj 127 286 t b s b; 61 | #X text 233 229 Alexandre Torres Porres (2018-2021); 62 | #X connect 0 0 1 0; 63 | #X connect 0 0 2 0; 64 | #X connect 2 0 17 0; 65 | #X connect 3 0 9 0; 66 | #X connect 4 0 13 1; 67 | #X connect 9 0 13 0; 68 | #X connect 9 1 13 0; 69 | #X connect 10 0 11 0; 70 | #X connect 11 0 18 0; 71 | #X connect 11 1 13 1; 72 | #X connect 12 0 10 0; 73 | #X connect 13 0 16 0; 74 | #X connect 14 1 19 0; 75 | #X connect 15 0 14 0; 76 | #X connect 16 0 17 0; 77 | #X connect 16 1 15 0; 78 | #X connect 17 0 5 0; 79 | #X connect 18 0 13 1; 80 | #X connect 19 0 2 0; 81 | #X connect 19 1 7 0; 82 | #X connect 19 2 0 0; 83 | -------------------------------------------------------------------------------- /modules/else/scramble.pd: -------------------------------------------------------------------------------- 1 | #N canvas 586 235 795 442 12; 2 | #X declare -path else; 3 | #X obj 121 129 list length; 4 | #X obj 66 160 t l l; 5 | #X obj 121 182 until; 6 | #X obj 66 353 outlet; 7 | #X obj 171 355 outlet; 8 | #X obj 66 38 inlet; 9 | #X obj 121 154 trigger float float; 10 | #N canvas 747 280 450 300 scramble 0; 11 | #X msg 231 153 adddollar \$1; 12 | #X obj 231 129 + 1; 13 | #X msg 162 199 \$1 \$2; 14 | #X msg 182 152 set; 15 | #X obj 112 20 inlet; 16 | #X obj 194 58 t l b; 17 | #X obj 192 25 inlet; 18 | #X obj 162 230 outlet; 19 | #X obj 231 102 iterate; 20 | #X connect 0 0 2 0; 21 | #X connect 1 0 0 0; 22 | #X connect 2 0 7 0; 23 | #X connect 3 0 2 0; 24 | #X connect 4 0 2 0; 25 | #X connect 5 0 8 0; 26 | #X connect 5 1 3 0; 27 | #X connect 6 0 5 0; 28 | #X connect 8 0 1 0; 29 | #X restore 66 308 pd scramble; 30 | #X obj 66 130 list; 31 | #X obj 360 67 list length; 32 | #X obj 297 78 t l l; 33 | #X obj 360 120 until; 34 | #X obj 360 92 trigger float float; 35 | #N canvas 715 233 450 300 scramble 1; 36 | #X msg 231 153 adddollar \$1; 37 | #X obj 231 129 + 1; 38 | #X msg 162 199 \$3 \$5 \$2 \$6 \$4 \$1; 39 | #X msg 182 152 set; 40 | #X obj 112 20 inlet; 41 | #X obj 194 58 t l b; 42 | #X obj 192 25 inlet; 43 | #X obj 164 230 outlet; 44 | #X obj 231 102 iterate; 45 | #X connect 0 0 2 0; 46 | #X connect 1 0 0 0; 47 | #X connect 2 0 7 0; 48 | #X connect 3 0 2 0; 49 | #X connect 4 0 2 0; 50 | #X connect 5 0 8 0; 51 | #X connect 5 1 3 0; 52 | #X connect 6 0 5 0; 53 | #X connect 8 0 1 0; 54 | #X restore 296 286 pd scramble; 55 | #X obj 296 316 list; 56 | #X obj 66 82 routetype anything bang; 57 | #X obj 360 153 rand.seq; 58 | #X obj 121 214 rand.seq; 59 | #X text 452 262 Part of ELSE \; https://github.com/porres/pd-else; 60 | #X text 454 243 Alexandre Torres Porres (2019); 61 | #X obj 512 195 declare -path else; 62 | #X obj 370 200 group; 63 | #X obj 140 253 group; 64 | #X connect 0 0 6 0; 65 | #X connect 1 0 7 0; 66 | #X connect 1 1 0 0; 67 | #X connect 2 0 17 0; 68 | #X connect 5 0 15 0; 69 | #X connect 6 0 2 0; 70 | #X connect 6 1 17 1; 71 | #X connect 6 1 22 1; 72 | #X connect 7 0 3 0; 73 | #X connect 8 0 1 0; 74 | #X connect 9 0 12 0; 75 | #X connect 10 0 13 0; 76 | #X connect 10 1 9 0; 77 | #X connect 11 0 16 0; 78 | #X connect 12 0 11 0; 79 | #X connect 12 1 16 1; 80 | #X connect 12 1 21 1; 81 | #X connect 13 0 14 0; 82 | #X connect 14 0 3 0; 83 | #X connect 15 0 8 0; 84 | #X connect 15 2 10 0; 85 | #X connect 16 0 21 0; 86 | #X connect 17 0 22 0; 87 | #X connect 21 0 13 1; 88 | #X connect 21 0 4 0; 89 | #X connect 22 0 4 0; 90 | #X connect 22 0 7 1; 91 | -------------------------------------------------------------------------------- /modules/else/oscbank2~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 608 248 612 262 10; 2 | #X declare -path else; 3 | #X text 359 130 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 361 111 Alexandre Torres Porres (2017); 5 | #X obj 113 200 outlet~; 6 | #N canvas 505 98 698 549 load_args 0; 7 | #X obj 84 319 order; 8 | #X obj 165 320 order; 9 | #X obj 244 321 order; 10 | #X obj 330 321 order; 11 | #X obj 462 331 sel 0; 12 | #X obj 138 183 break -; 13 | #X obj 376 260 list split 1; 14 | #X msg 416 361 10; 15 | #X obj 416 307 moses 0; 16 | #X msg 418 385 all \$1; 17 | #X obj 416 284 route float; 18 | #X msg 372 164 all 1; 19 | #X obj 138 157 trigger anything bang; 20 | #X obj 417 447 outlet; 21 | #X obj 306 433 outlet; 22 | #X obj 204 412 outlet; 23 | #X obj 125 414 outlet; 24 | #X obj 138 208 route -freq -phase -amp -ramp; 25 | #X obj 136 102 route bang; 26 | #X obj 136 71 inlet; 27 | #X connect 0 0 16 0; 28 | #X connect 1 0 15 0; 29 | #X connect 2 0 14 0; 30 | #X connect 3 0 13 0; 31 | #X connect 4 0 7 0; 32 | #X connect 4 1 9 0; 33 | #X connect 5 0 17 0; 34 | #X connect 6 1 10 0; 35 | #X connect 7 0 9 0; 36 | #X connect 8 0 7 0; 37 | #X connect 8 1 4 0; 38 | #X connect 9 0 13 0; 39 | #X connect 10 0 8 0; 40 | #X connect 11 0 14 0; 41 | #X connect 12 0 5 0; 42 | #X connect 12 1 11 0; 43 | #X connect 17 0 0 0; 44 | #X connect 17 1 1 0; 45 | #X connect 17 2 2 0; 46 | #X connect 17 3 3 0; 47 | #X connect 17 4 6 0; 48 | #X connect 18 0 11 0; 49 | #X connect 18 0 7 0; 50 | #X connect 18 1 12 0; 51 | #X connect 19 0 18 0; 52 | #X restore 210 96 pd load_args; 53 | #N canvas 284 164 483 412 route 0; 54 | #X obj 83 184 order; 55 | #X obj 164 185 order; 56 | #X obj 243 186 order; 57 | #X obj 329 186 order; 58 | #X obj 328 280 outlet; 59 | #X obj 243 273 outlet; 60 | #X obj 168 273 outlet; 61 | #X obj 93 279 outlet; 62 | #X obj 137 83 inlet; 63 | #X obj 137 120 route freq phase amp ramp; 64 | #X connect 0 0 7 0; 65 | #X connect 1 0 6 0; 66 | #X connect 2 0 5 0; 67 | #X connect 3 0 4 0; 68 | #X connect 8 0 9 0; 69 | #X connect 9 0 0 0; 70 | #X connect 9 1 1 0; 71 | #X connect 9 2 2 0; 72 | #X connect 9 3 3 0; 73 | #X restore 112 96 pd route; 74 | #X obj 112 43 inlet; 75 | #X obj 113 154 clone -x \$1 oscclone2 \$1; 76 | #X obj 210 71 args; 77 | #X obj 210 46 lb -init; 78 | #X obj 392 82 declare -path else; 79 | #X connect 3 0 6 0; 80 | #X connect 3 1 6 1; 81 | #X connect 3 2 6 2; 82 | #X connect 3 3 6 3; 83 | #X connect 4 0 6 0; 84 | #X connect 4 1 6 1; 85 | #X connect 4 2 6 2; 86 | #X connect 4 3 6 3; 87 | #X connect 5 0 4 0; 88 | #X connect 6 0 2 0; 89 | #X connect 7 0 3 0; 90 | #X connect 8 0 7 0; 91 | -------------------------------------------------------------------------------- /modules/else/bpbank~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 532 95 584 263 10; 2 | #X declare -path else; 3 | #X text 316 157 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 318 138 Alexandre Torres Porres (2017); 5 | #X obj 65 220 outlet~; 6 | #X obj 65 174 clone -x \$1 bpclone \$1; 7 | #N canvas 505 98 698 549 load_args 0; 8 | #X obj 95 268 order; 9 | #X obj 176 269 order; 10 | #X obj 255 270 order; 11 | #X obj 341 270 order; 12 | #X obj 473 280 sel 0; 13 | #X obj 149 132 break -; 14 | #X obj 387 209 list split 1; 15 | #X msg 427 310 10; 16 | #X obj 427 256 moses 0; 17 | #X msg 429 334 all \$1; 18 | #X obj 427 233 route float; 19 | #X msg 383 113 all 1; 20 | #X obj 149 106 trigger anything bang; 21 | #X obj 428 396 outlet; 22 | #X obj 317 382 outlet; 23 | #X obj 215 361 outlet; 24 | #X obj 136 363 outlet; 25 | #X obj 149 157 route -freq -q -amp -ramp; 26 | #X obj 142 62 route bang; 27 | #X obj 143 36 inlet; 28 | #X connect 0 0 16 0; 29 | #X connect 1 0 15 0; 30 | #X connect 2 0 14 0; 31 | #X connect 3 0 13 0; 32 | #X connect 4 0 7 0; 33 | #X connect 4 1 9 0; 34 | #X connect 5 0 17 0; 35 | #X connect 6 1 10 0; 36 | #X connect 7 0 9 0; 37 | #X connect 8 0 7 0; 38 | #X connect 8 1 4 0; 39 | #X connect 9 0 13 0; 40 | #X connect 10 0 8 0; 41 | #X connect 11 0 14 0; 42 | #X connect 12 0 5 0; 43 | #X connect 12 1 11 0; 44 | #X connect 17 0 0 0; 45 | #X connect 17 1 1 0; 46 | #X connect 17 2 2 0; 47 | #X connect 17 3 3 0; 48 | #X connect 17 4 6 0; 49 | #X connect 18 0 11 0; 50 | #X connect 18 0 7 0; 51 | #X connect 18 1 12 0; 52 | #X connect 19 0 18 0; 53 | #X restore 204 119 pd load_args; 54 | #N canvas 284 164 483 412 route 0; 55 | #X obj 83 184 order; 56 | #X obj 164 185 order; 57 | #X obj 243 186 order; 58 | #X obj 329 186 order; 59 | #X obj 328 280 outlet; 60 | #X obj 243 273 outlet; 61 | #X obj 168 273 outlet; 62 | #X obj 93 279 outlet; 63 | #X obj 137 83 inlet; 64 | #X obj 137 120 route freq q amp ramp; 65 | #X connect 0 0 7 0; 66 | #X connect 1 0 6 0; 67 | #X connect 2 0 5 0; 68 | #X connect 3 0 4 0; 69 | #X connect 8 0 9 0; 70 | #X connect 9 0 0 0; 71 | #X connect 9 1 1 0; 72 | #X connect 9 2 2 0; 73 | #X connect 9 3 3 0; 74 | #X restore 106 119 pd route; 75 | #X obj 204 92 args; 76 | #X obj 49 38 inlet~ fwd; 77 | #X obj 204 68 lb -init; 78 | #X obj 342 85 declare -path else; 79 | #X connect 3 0 2 0; 80 | #X connect 4 0 3 1; 81 | #X connect 4 1 3 2; 82 | #X connect 4 2 3 3; 83 | #X connect 4 3 3 4; 84 | #X connect 5 0 3 1; 85 | #X connect 5 1 3 2; 86 | #X connect 5 2 3 3; 87 | #X connect 5 3 3 4; 88 | #X connect 6 0 4 0; 89 | #X connect 7 0 3 0; 90 | #X connect 7 1 5 0; 91 | #X connect 8 0 6 0; 92 | -------------------------------------------------------------------------------- /modules/else/eqdiv.pd: -------------------------------------------------------------------------------- 1 | #N canvas 559 173 593 418 12; 2 | #X declare -path else; 3 | #X obj 219 24 inlet; 4 | #X obj 34 24 inlet; 5 | #X obj 147 372 outlet; 6 | #X obj 34 78 route bang; 7 | #X text 313 127 Part of ELSE \; https://github.com/porres/pd-else; 8 | #X text 315 108 Alexandre Torres Porres (2020); 9 | #X obj 133 145 unpack; 10 | #X obj 115 172 f; 11 | #X obj 147 327 group; 12 | #X obj 115 201 t b f; 13 | #X obj 219 146 v n_\$0; 14 | #N canvas 275 38 317 266 cents 0; 15 | #X obj 52 25 inlet; 16 | #X obj 52 208 outlet; 17 | #X msg 162 133 step \$1; 18 | #X obj 161 109 ratio2cents; 19 | #X obj 52 167 loop; 20 | #X obj 52 64 expr n_\$0 + 1 \; pow($f1 \, 1/n_\$0); 21 | #X connect 0 0 5 0; 22 | #X connect 2 0 4 0; 23 | #X connect 3 0 2 0; 24 | #X connect 4 0 1 0; 25 | #X connect 5 0 4 0; 26 | #X connect 5 1 3 0; 27 | #X restore 147 264 pd cents; 28 | #X obj 147 228 router; 29 | #N canvas 603 87 292 310 ratio 0; 30 | #X obj 80 34 inlet; 31 | #X obj 80 217 outlet; 32 | #X obj 80 103 expr n_\$0 + 1; 33 | #X obj 80 66 trigger bang float; 34 | #X obj 80 138 loop; 35 | #X obj 80 173 expr pow($f2 \, $f1 / n_\$0 ); 36 | #X connect 0 0 3 0; 37 | #X connect 2 0 4 0; 38 | #X connect 3 0 2 0; 39 | #X connect 3 1 5 1; 40 | #X connect 4 0 5 0; 41 | #X connect 5 0 1 0; 42 | #X restore 221 264 pd ratio; 43 | #X obj 101 111 t b a; 44 | #N canvas 370 52 403 495 init 0; 45 | #X obj 115 168 route bang; 46 | #X msg 231 275 2 12; 47 | #X obj 214 397 outlet; 48 | #X obj 115 206 route -ratio; 49 | #X msg 115 319 1; 50 | #X obj 115 236 route bang; 51 | #X obj 182 274 t b a; 52 | #X obj 115 351 s \$0-router; 53 | #X obj 115 40 lb -init 2, f 17; 54 | #X obj 115 106 pdcontrol; 55 | #X msg 115 76 args; 56 | #X obj 115 137 break -; 57 | #X connect 0 1 3 0; 58 | #X connect 1 0 2 0; 59 | #X connect 3 0 5 0; 60 | #X connect 4 0 7 0; 61 | #X connect 5 0 4 0; 62 | #X connect 5 1 6 0; 63 | #X connect 6 0 4 0; 64 | #X connect 6 1 2 0; 65 | #X connect 8 0 10 0; 66 | #X connect 8 1 1 0; 67 | #X connect 9 0 11 0; 68 | #X connect 10 0 9 0; 69 | #X connect 11 0 0 0; 70 | #X restore 160 112 pd init; 71 | #X obj 221 201 r \$0-router; 72 | #X obj 324 65 declare -path else; 73 | #X connect 0 0 10 0; 74 | #X connect 1 0 3 0; 75 | #X connect 3 0 7 0; 76 | #X connect 3 1 14 0; 77 | #X connect 6 0 7 1; 78 | #X connect 6 1 10 0; 79 | #X connect 7 0 9 0; 80 | #X connect 8 0 2 0; 81 | #X connect 9 0 8 0; 82 | #X connect 9 1 12 0; 83 | #X connect 11 0 8 0; 84 | #X connect 12 0 11 0; 85 | #X connect 12 1 13 0; 86 | #X connect 13 0 8 0; 87 | #X connect 14 0 7 0; 88 | #X connect 14 1 6 0; 89 | #X connect 15 0 6 0; 90 | #X connect 16 0 12 1; 91 | -------------------------------------------------------------------------------- /modules/else/resonbank~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 709 269 582 312 10; 2 | #X declare -path else; 3 | #X text 307 141 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 309 122 Alexandre Torres Porres (2017); 5 | #N canvas 505 98 698 549 load_args 0; 6 | #X obj 95 268 order; 7 | #X obj 176 269 order; 8 | #X obj 255 270 order; 9 | #X obj 341 270 order; 10 | #X obj 473 280 sel 0; 11 | #X obj 149 132 break -; 12 | #X obj 387 209 list split 1; 13 | #X msg 427 310 10; 14 | #X obj 427 256 moses 0; 15 | #X msg 429 334 all \$1; 16 | #X obj 427 233 route float; 17 | #X msg 383 113 all 1; 18 | #X obj 149 106 trigger anything bang; 19 | #X obj 428 396 outlet; 20 | #X obj 317 382 outlet; 21 | #X obj 215 361 outlet; 22 | #X obj 136 363 outlet; 23 | #X obj 149 157 route -freq -decay -amp -ramp; 24 | #X obj 145 60 route bang; 25 | #X obj 145 33 inlet; 26 | #X connect 0 0 16 0; 27 | #X connect 1 0 15 0; 28 | #X connect 2 0 14 0; 29 | #X connect 3 0 13 0; 30 | #X connect 4 0 7 0; 31 | #X connect 4 1 9 0; 32 | #X connect 5 0 17 0; 33 | #X connect 6 1 10 0; 34 | #X connect 7 0 9 0; 35 | #X connect 8 0 7 0; 36 | #X connect 8 1 4 0; 37 | #X connect 9 0 13 0; 38 | #X connect 10 0 8 0; 39 | #X connect 11 0 14 0; 40 | #X connect 12 0 5 0; 41 | #X connect 12 1 11 0; 42 | #X connect 17 0 0 0; 43 | #X connect 17 1 1 0; 44 | #X connect 17 2 2 0; 45 | #X connect 17 3 3 0; 46 | #X connect 17 4 6 0; 47 | #X connect 18 0 11 0; 48 | #X connect 18 0 7 0; 49 | #X connect 18 1 12 0; 50 | #X connect 19 0 18 0; 51 | #X restore 190 117 pd load_args; 52 | #N canvas 1037 468 483 412 route 0; 53 | #X obj 83 184 order; 54 | #X obj 164 185 order; 55 | #X obj 243 186 order; 56 | #X obj 329 186 order; 57 | #X obj 328 280 outlet; 58 | #X obj 243 273 outlet; 59 | #X obj 168 273 outlet; 60 | #X obj 93 279 outlet; 61 | #X obj 137 83 inlet; 62 | #X obj 138 120 route freq decay amp ramp; 63 | #X connect 0 0 7 0; 64 | #X connect 1 0 6 0; 65 | #X connect 2 0 5 0; 66 | #X connect 3 0 4 0; 67 | #X connect 8 0 9 0; 68 | #X connect 9 0 0 0; 69 | #X connect 9 1 1 0; 70 | #X connect 9 2 2 0; 71 | #X connect 9 3 3 0; 72 | #X restore 112 117 pd route; 73 | #X obj 61 221 outlet~; 74 | #X obj 190 93 args; 75 | #X obj 61 175 clone -x \$1 resonclone \$1; 76 | #X obj 53 34 inlet~ fwd; 77 | #X obj 190 62 lb -init; 78 | #X obj 334 86 declare -path else; 79 | #X connect 2 0 6 1; 80 | #X connect 2 1 6 2; 81 | #X connect 2 2 6 3; 82 | #X connect 2 3 6 4; 83 | #X connect 3 0 6 1; 84 | #X connect 3 1 6 2; 85 | #X connect 3 2 6 3; 86 | #X connect 3 3 6 4; 87 | #X connect 5 0 2 0; 88 | #X connect 6 0 4 0; 89 | #X connect 7 0 6 0; 90 | #X connect 7 1 3 0; 91 | #X connect 8 0 5 0; 92 | -------------------------------------------------------------------------------- /modules/else/echo.rev~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 852 372 408 224 10; 2 | #X declare -path else; 3 | #X obj 86 14 inlet; 4 | #X obj 36 14 inlet~; 5 | #X obj 37 176 outlet~; 6 | #X text 170 80 Alexandre Torres Porres (2019) \; Part of ELSE:, f 7 | 33; 8 | #X text 166 110 https://github.com/porres/pd-else; 9 | #N canvas 348 88 233 604 \$0-echo-stages 0; 10 | #X obj 60 22 inlet~; 11 | #X obj 60 560 outlet~; 12 | #X restore 36 107 pd \$0-echo-stages; 13 | #N canvas 631 119 391 276 set 0; 14 | #X obj 103 46 inlet; 15 | #N canvas 713 182 469 542 create-stages 0; 16 | #X obj 46 15 inlet; 17 | #X obj 118 198 loop; 18 | #X obj 147 475 s pd-\$0-echo-stages; 19 | #X obj 91 145 t f f; 20 | #X obj 179 239 array define -k p_\$0 64; 21 | #A 0 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 0 0 22 | 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 23 | 0 0 0 0 0 0 0 0; 24 | #X f 13; 25 | #X obj 145 350 pack f f f f \$0; 26 | #X obj 118 229 sel 0; 27 | #X msg 145 374 obj 60 \$1 echo_unit \$4 \$5 \, connect \$2 0 \$3 0 28 | \, connect \$2 1 \$3 1, f 47; 29 | #X obj 106 379 f \$0; 30 | #X obj 46 42 f \$1; 31 | #X obj 91 118 clip 4 20; 32 | #X msg 41 411 connect \$1 0 1 0 \, connect \$1 1 1 0; 33 | #X msg 126 444 obj 60 50 echo_unit 5 \$1 \, connect 0 0 2 0; 34 | #X obj 41 360 + 1; 35 | #X obj 145 279 expr 50 + 25 * $f1 \; $f1 + 1 \; $f1 + 2 \; p_\$0[$f1] 36 | ; 37 | #X msg 46 90 8; 38 | #X obj 46 67 select 0; 39 | #X obj 150 171 s \$0-n; 40 | #X obj 150 147 expr 1./$f1; 41 | #X connect 0 0 9 0; 42 | #X connect 1 0 6 0; 43 | #X connect 3 0 13 0; 44 | #X connect 3 1 1 0; 45 | #X connect 3 1 18 0; 46 | #X connect 5 0 7 0; 47 | #X connect 6 0 8 0; 48 | #X connect 6 1 14 0; 49 | #X connect 7 0 2 0; 50 | #X connect 8 0 12 0; 51 | #X connect 9 0 16 0; 52 | #X connect 10 0 3 0; 53 | #X connect 11 0 2 0; 54 | #X connect 12 0 2 0; 55 | #X connect 13 0 11 0; 56 | #X connect 14 0 5 0; 57 | #X connect 14 1 5 1; 58 | #X connect 14 2 5 2; 59 | #X connect 14 3 5 3; 60 | #X connect 15 0 10 0; 61 | #X connect 16 0 15 0; 62 | #X connect 16 1 10 0; 63 | #X connect 18 0 17 0; 64 | #X restore 206 112 pd create-stages; 65 | #X obj 119 117 f \$2; 66 | #X obj 119 85 lb -init 2; 67 | #X obj 103 196 s \$0-size; 68 | #X obj 103 170 expr 1 + $f1 * 0.5; 69 | #X obj 103 144 clip 0 1; 70 | #X connect 0 0 6 0; 71 | #X connect 2 0 6 0; 72 | #X connect 3 0 2 0; 73 | #X connect 3 1 1 0; 74 | #X connect 5 0 4 0; 75 | #X connect 6 0 5 0; 76 | #X restore 86 54 pd set \; init; 77 | #X obj 70 141 r \$0-n; 78 | #X obj 37 141 *~; 79 | #X obj 206 41 declare -path else; 80 | #X connect 0 0 6 0; 81 | #X connect 1 0 5 0; 82 | #X connect 5 0 8 0; 83 | #X connect 7 0 8 1; 84 | #X connect 8 0 2 0; 85 | -------------------------------------------------------------------------------- /modules/else/oscbank~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 636 188 716 405 10; 2 | #X declare -path else; 3 | #X text 369 185 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 369 164 Alexandre Torres Porres (2017); 5 | #N canvas 395 118 610 621 load_args 0; 6 | #X obj 81 366 order; 7 | #X obj 162 367 order; 8 | #X obj 241 368 order; 9 | #X obj 327 368 order; 10 | #X obj 452 380 sel 0; 11 | #X obj 135 230 break -; 12 | #X obj 379 302 list split 1; 13 | #X msg 413 408 10; 14 | #X obj 413 354 moses 0; 15 | #X msg 413 453 all \$1; 16 | #X obj 413 331 route float; 17 | #X msg 31 360 all 1; 18 | #X obj 135 204 trigger anything bang; 19 | #X obj 414 494 outlet; 20 | #X obj 241 491 outlet; 21 | #X obj 161 489 outlet; 22 | #X obj 81 490 outlet; 23 | #X obj 78 161 route bang; 24 | #X obj 78 130 args; 25 | #X obj 135 255 route -ratio -phase -amp -ramp -freq; 26 | #X obj 303 291 s \$0-freq; 27 | #X obj 78 99 lb -init; 28 | #X connect 0 0 16 0; 29 | #X connect 1 0 15 0; 30 | #X connect 2 0 14 0; 31 | #X connect 3 0 13 0; 32 | #X connect 4 0 7 0; 33 | #X connect 4 1 9 0; 34 | #X connect 5 0 19 0; 35 | #X connect 6 1 10 0; 36 | #X connect 7 0 9 0; 37 | #X connect 8 0 7 0; 38 | #X connect 8 1 4 0; 39 | #X connect 9 0 13 0; 40 | #X connect 10 0 8 0; 41 | #X connect 11 0 16 0; 42 | #X connect 11 0 14 0; 43 | #X connect 12 0 5 0; 44 | #X connect 12 1 11 0; 45 | #X connect 17 0 11 0; 46 | #X connect 17 0 7 0; 47 | #X connect 17 1 12 0; 48 | #X connect 18 0 17 0; 49 | #X connect 19 0 0 0; 50 | #X connect 19 1 1 0; 51 | #X connect 19 2 2 0; 52 | #X connect 19 3 3 0; 53 | #X connect 19 4 20 0; 54 | #X connect 19 5 6 0; 55 | #X connect 21 0 18 0; 56 | #X restore 233 183 pd load_args; 57 | #N canvas 284 164 483 412 route 0; 58 | #X obj 83 184 order; 59 | #X obj 164 185 order; 60 | #X obj 243 186 order; 61 | #X obj 329 186 order; 62 | #X obj 328 280 outlet; 63 | #X obj 243 273 outlet; 64 | #X obj 168 273 outlet; 65 | #X obj 93 279 outlet; 66 | #X obj 138 120 route ratio phase amp ramp; 67 | #X obj 137 83 inlet; 68 | #X connect 0 0 7 0; 69 | #X connect 1 0 6 0; 70 | #X connect 2 0 5 0; 71 | #X connect 3 0 4 0; 72 | #X connect 8 0 0 0; 73 | #X connect 8 1 1 0; 74 | #X connect 8 2 2 0; 75 | #X connect 8 3 3 0; 76 | #X connect 9 0 8 0; 77 | #X restore 155 183 pd route; 78 | #X obj 104 287 outlet~; 79 | #X obj 104 241 clone -x \$1 oscclone \$1; 80 | #X obj 88 93 inlet~ fwd; 81 | #X obj 88 66 r \$0-freq; 82 | #X obj 397 118 declare -path else; 83 | #X connect 2 0 5 1; 84 | #X connect 2 1 5 2; 85 | #X connect 2 2 5 3; 86 | #X connect 2 3 5 4; 87 | #X connect 3 0 5 1; 88 | #X connect 3 1 5 2; 89 | #X connect 3 2 5 3; 90 | #X connect 3 3 5 4; 91 | #X connect 5 0 4 0; 92 | #X connect 6 0 5 0; 93 | #X connect 6 1 3 0; 94 | #X connect 7 0 6 0; 95 | -------------------------------------------------------------------------------- /modules/else/vocoder~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 696 205 555 265 10; 2 | #X declare -path else; 3 | #X obj 41 195 outlet~; 4 | #X obj 144 85 noisegate~ -60 50, f 15; 5 | #N canvas 213 23 302 293 route 0; 6 | #X msg 142 180 all q \$1; 7 | #X msg 61 172 \$1 freq \$2; 8 | #X obj 61 147 order; 9 | #X obj 108 54 inlet; 10 | #X obj 142 221 outlet; 11 | #X obj 164 59 inlet; 12 | #X obj 192 114 route float; 13 | #X obj 108 114 route freq q; 14 | #X connect 0 0 4 0; 15 | #X connect 1 0 4 0; 16 | #X connect 2 0 1 0; 17 | #X connect 3 0 7 0; 18 | #X connect 5 0 6 0; 19 | #X connect 6 0 0 0; 20 | #X connect 7 0 2 0; 21 | #X connect 7 1 0 0; 22 | #X restore 248 78 pd route; 23 | #X text 290 151 Part of ELSE \; https://github.com/porres/pd-else; 24 | #X text 292 132 Alexandre Torres Porres (2018); 25 | #X obj 144 33 inlet~; 26 | #N canvas 818 42 399 373 args 0; 27 | #X obj 87 63 args; 28 | #X obj 186 320 outlet; 29 | #X obj 87 173 unpack; 30 | #X obj 87 93 break -; 31 | #X obj 199 260 list prepend freq; 32 | #X obj 199 287 list trim; 33 | #X msg 186 175 50; 34 | #N canvas 439 153 319 414 freq-list 0; 35 | #X obj 83 36 inlet; 36 | #X obj 104 117 until; 37 | #X obj 141 147 +; 38 | #X obj 156 116 expr 80/$f1; 39 | #X obj 104 143 f; 40 | #X obj 104 170 + 28; 41 | #X obj 132 239 list; 42 | #X obj 104 202 list prepend; 43 | #X obj 83 245 list; 44 | #X obj 83 289 outlet; 45 | #X obj 83 69 t b f f; 46 | #X connect 0 0 10 0; 47 | #X connect 1 0 4 0; 48 | #X connect 2 0 4 1; 49 | #X connect 3 0 2 1; 50 | #X connect 4 0 2 0; 51 | #X connect 4 0 5 0; 52 | #X connect 5 0 7 0; 53 | #X connect 6 0 7 1; 54 | #X connect 7 0 6 0; 55 | #X connect 7 0 8 1; 56 | #X connect 8 0 9 0; 57 | #X connect 10 0 8 0; 58 | #X connect 10 1 1 0; 59 | #X connect 10 2 3 0; 60 | #X restore 87 209 pd freq-list; 61 | #X msg 186 206 q \$1; 62 | #X obj 87 126 route float list -freq, f 11; 63 | #X obj 87 30 loadbanger -init 2; 64 | #X connect 0 0 3 0; 65 | #X connect 2 0 7 0; 66 | #X connect 2 1 8 0; 67 | #X connect 3 0 9 0; 68 | #X connect 4 0 5 0; 69 | #X connect 5 0 1 0; 70 | #X connect 6 0 8 0; 71 | #X connect 7 0 4 0; 72 | #X connect 8 0 1 0; 73 | #X connect 9 0 2 0; 74 | #X connect 9 1 2 0; 75 | #X connect 9 2 4 0; 76 | #X connect 10 0 0 0; 77 | #X connect 10 1 6 0; 78 | #X restore 247 45 pd args; 79 | #X obj 41 131 clone \$1 vocoder.band_clone, f 35; 80 | #X obj 41 162 norm~ -6; 81 | #X obj 41 84 noisegate~ -60 50, f 15; 82 | #X obj 41 33 inlet~ fwd; 83 | #X obj 323 28 inlet; 84 | #X obj 358 95 declare -path else; 85 | #X connect 1 0 7 1; 86 | #X connect 2 0 7 2; 87 | #X connect 5 0 1 0; 88 | #X connect 6 0 2 0; 89 | #X connect 7 0 8 0; 90 | #X connect 8 0 0 0; 91 | #X connect 9 0 7 0; 92 | #X connect 10 0 9 0; 93 | #X connect 10 1 2 0; 94 | #X connect 11 0 2 1; 95 | -------------------------------------------------------------------------------- /modules/else/group.pd: -------------------------------------------------------------------------------- 1 | #N canvas 606 178 687 453 10; 2 | #X declare -path else; 3 | #X obj 309 33 inlet; 4 | #X obj 38 33 inlet; 5 | #X obj 252 399 outlet; 6 | #X obj 95 197 list prepend; 7 | #X obj 131 114 t b a; 8 | #X obj 95 175 until; 9 | #X obj 164 155 list prepend; 10 | #X obj 309 273 trigger bang anything; 11 | #X obj 252 248 list split; 12 | #X obj 74 231 list; 13 | #X obj 74 260 route bang; 14 | #X obj 38 103 t b b; 15 | #X obj 38 62 route bang clear; 16 | #X obj 233 129 r \$0-clear; 17 | #X obj 122 89 s \$0-clear; 18 | #X obj 43 317 s \$0-clear; 19 | #X obj 111 236 r \$0-clear; 20 | #X obj 195 271 route bang; 21 | #X obj 259 295 list; 22 | #N canvas 598 181 450 300 trim 0; 23 | #X obj 149 41 inlet; 24 | #X obj 155 193 outlet; 25 | #X obj 189 81 r \$0-trim; 26 | #X obj 187 142 list trim; 27 | #X obj 152 111 router; 28 | #X connect 0 0 4 0; 29 | #X connect 2 0 4 1; 30 | #X connect 3 0 1 0; 31 | #X connect 4 0 1 0; 32 | #X connect 4 1 3 0; 33 | #X restore 252 320 pd trim; 34 | #N canvas 762 23 485 316 set 0; 35 | #X obj 74 118 s \$0-clear; 36 | #X obj 74 61 trigger bang float; 37 | #X obj 196 195 outlet; 38 | #X obj 74 28 inlet; 39 | #X obj 197 127 max 0; 40 | #X obj 297 229 s \$0-trim; 41 | #X obj 295 168 route -trim float; 42 | #X msg 219 98 0; 43 | #X msg 296 203 1; 44 | #X obj 228 56 lb -init 2; 45 | #X obj 294 140 break -; 46 | #X obj 294 110 args; 47 | #X connect 1 0 0 0; 48 | #X connect 1 1 4 0; 49 | #X connect 3 0 1 0; 50 | #X connect 4 0 2 0; 51 | #X connect 6 0 8 0; 52 | #X connect 6 1 4 0; 53 | #X connect 7 0 4 0; 54 | #X connect 8 0 5 0; 55 | #X connect 9 0 11 0; 56 | #X connect 9 1 7 0; 57 | #X connect 10 0 6 0; 58 | #X connect 11 0 10 0; 59 | #X restore 309 64 pd set; 60 | #X text 401 173 Part of ELSE \; https://github.com/porres/pd-else; 61 | #X text 403 154 Alexandre Torres Porres (2019); 62 | #X obj 312 399 outlet; 63 | #X obj 309 297 s \$0-stop; 64 | #X obj 172 114 r \$0-stop; 65 | #X obj 424 109 declare -path else; 66 | #X connect 0 0 20 0; 67 | #X connect 1 0 12 0; 68 | #X connect 3 0 8 0; 69 | #X connect 3 0 9 1; 70 | #X connect 4 0 5 0; 71 | #X connect 4 1 6 0; 72 | #X connect 5 0 3 0; 73 | #X connect 6 0 3 1; 74 | #X connect 7 0 24 0; 75 | #X connect 7 1 6 1; 76 | #X connect 8 0 17 0; 77 | #X connect 8 1 3 1; 78 | #X connect 8 1 18 1; 79 | #X connect 8 2 7 0; 80 | #X connect 9 0 10 0; 81 | #X connect 10 0 23 0; 82 | #X connect 10 1 19 0; 83 | #X connect 11 0 15 0; 84 | #X connect 11 1 9 0; 85 | #X connect 12 0 11 0; 86 | #X connect 12 1 14 0; 87 | #X connect 12 2 4 0; 88 | #X connect 13 0 6 1; 89 | #X connect 16 0 9 1; 90 | #X connect 17 0 18 0; 91 | #X connect 17 1 19 0; 92 | #X connect 18 0 7 0; 93 | #X connect 19 0 2 0; 94 | #X connect 20 0 8 1; 95 | #X connect 25 0 5 1; 96 | -------------------------------------------------------------------------------- /modules/else/compress~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 654 244 524 446 12; 2 | #X declare -path else; 3 | #N canvas 753 33 585 655 set 0; 4 | #X obj 82 34 inlet; 5 | #X obj 336 472 s \$0-attack; 6 | #X obj 368 445 s \$0-release; 7 | #X obj 185 118 args; 8 | #X obj 402 338 s \$0-size; 9 | #X obj 82 150 route thresh ratio attack release gain size, f 12; 10 | #X obj 185 150 route -size; 11 | #X obj 402 282 clip 1 512; 12 | #X msg 402 310 size \$1; 13 | #X msg 287 151 -10 1 10 10 0; 14 | #X obj 273 181 unpack f f f f f f; 15 | #X obj 273 553 f2s~ 10; 16 | #X obj 273 582 s~ \$0-thresh; 17 | #X obj 304 523 s \$0-ratio; 18 | #X obj 304 498 max 1; 19 | #X obj 382 365 db2lin; 20 | #X obj 382 391 f2s~ 10; 21 | #X obj 382 416 s~ \$0-gain; 22 | #X obj 185 80 lb -init 2; 23 | #X connect 0 0 5 0; 24 | #X connect 3 0 6 0; 25 | #X connect 5 0 11 0; 26 | #X connect 5 1 14 0; 27 | #X connect 5 2 1 0; 28 | #X connect 5 3 2 0; 29 | #X connect 5 4 15 0; 30 | #X connect 5 5 7 0; 31 | #X connect 6 0 7 0; 32 | #X connect 6 1 10 0; 33 | #X connect 7 0 8 0; 34 | #X connect 8 0 4 0; 35 | #X connect 9 0 10 0; 36 | #X connect 10 0 11 0; 37 | #X connect 10 1 14 0; 38 | #X connect 10 2 1 0; 39 | #X connect 10 3 2 0; 40 | #X connect 10 4 15 0; 41 | #X connect 10 5 7 0; 42 | #X connect 11 0 12 0; 43 | #X connect 14 0 13 0; 44 | #X connect 15 0 16 0; 45 | #X connect 16 0 17 0; 46 | #X connect 18 0 3 0; 47 | #X connect 18 1 9 0; 48 | #X restore 346 51 pd set; 49 | #X text 259 278 Part of ELSE \; https://github.com/porres/pd-else; 50 | #X text 261 259 Alexandre Torres Porres (2019); 51 | #X obj 231 196 r \$0-release; 52 | #X obj 132 404 outlet~; 53 | #X obj 132 306 *~; 54 | #X obj 231 221 r \$0-attack; 55 | #X obj 150 119 -~; 56 | #X obj 192 164 f2s~ 10; 57 | #X obj 192 109 r \$0-ratio; 58 | #X obj 132 373 *~; 59 | #X obj 192 136 expr 1 - 1/$f1; 60 | #X obj 150 164 *~; 61 | #X obj 150 198 min~ 0; 62 | #X obj 150 275 db2lin~; 63 | #X obj 249 404 outlet; 64 | #X obj 168 79 mov.rms~ 512 -db; 65 | #X obj 174 51 r \$0-size; 66 | #X obj 34 73 r~ \$0-thresh; 67 | #X obj 150 346 r~ \$0-gain; 68 | #X obj 249 346 rms~ 1024 -db; 69 | #X obj 150 245 glide2~; 70 | #X obj 132 20 inlet~ fwd, f 28; 71 | #X obj 362 147 declare -path else; 72 | #X connect 3 0 21 1; 73 | #X connect 5 0 10 0; 74 | #X connect 6 0 21 2; 75 | #X connect 7 0 12 0; 76 | #X connect 8 0 12 1; 77 | #X connect 9 0 11 0; 78 | #X connect 10 0 4 0; 79 | #X connect 11 0 8 0; 80 | #X connect 12 0 13 0; 81 | #X connect 13 0 21 0; 82 | #X connect 14 0 5 1; 83 | #X connect 14 0 20 0; 84 | #X connect 16 0 7 1; 85 | #X connect 17 0 16 0; 86 | #X connect 18 0 7 0; 87 | #X connect 19 0 10 1; 88 | #X connect 20 0 15 0; 89 | #X connect 21 0 14 0; 90 | #X connect 22 0 5 0; 91 | #X connect 22 0 16 0; 92 | #X connect 22 1 0 0; 93 | -------------------------------------------------------------------------------- /modules/else/retune.pd: -------------------------------------------------------------------------------- 1 | #N canvas 832 89 576 581 12; 2 | #X declare -path else; 3 | #X obj 135 268 - 60; 4 | #X obj 64 45 inlet; 5 | #X obj 130 45 inlet; 6 | #X obj 323 100 declare -path else; 7 | #X obj 160 238 r \$0-base; 8 | #X text 260 162 Part of ELSE \; https://github.com/porres/pd-else; 9 | #X text 262 143 Alexandre Torres Porres (2020); 10 | #X obj 284 301 r size_\$0; 11 | #X obj 135 335 wrap2 0 12; 12 | #X obj 135 371 tabread \$0-scale; 13 | #X obj 266 371 div; 14 | #X obj 135 407 / 100; 15 | #X obj 266 413 *; 16 | #X obj 307 377 r max_\$0; 17 | #X obj 248 450 +; 18 | #X obj 284 335 - 1; 19 | #X obj 135 301 trigger float float; 20 | #N canvas 332 93 560 344 load-list 0; 21 | #X obj 126 54 inlet; 22 | #X obj 291 192 array define \$0-scale; 23 | #X obj 126 198 array max \$0-scale; 24 | #X obj 126 226 / 100; 25 | #X obj 126 106 t b l l; 26 | #X obj 149 166 array set \$0-scale; 27 | #X obj 200 85 list length; 28 | #X obj 200 139 array size \$0-scale; 29 | #X obj 217 113 s size_\$0; 30 | #X obj 126 257 s max_\$0; 31 | #X connect 0 0 4 0; 32 | #X connect 2 0 3 0; 33 | #X connect 3 0 9 0; 34 | #X connect 4 0 2 0; 35 | #X connect 4 1 5 0; 36 | #X connect 4 2 6 0; 37 | #X connect 6 0 7 0; 38 | #X connect 6 0 8 0; 39 | #X restore 130 118 pd load-list; 40 | #N canvas 919 410 573 379 init 0; 41 | #X obj 208 321 outlet; 42 | #X msg 303 221 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 43 | , f 26; 44 | #X obj 107 112 route bang list -base; 45 | #X obj 203 143 list split 1; 46 | #X obj 208 227 route bang; 47 | #X obj 107 41 lb -init 2, f 28; 48 | #X obj 103 225 s \$0-base; 49 | #X obj 107 76 args -; 50 | #X connect 1 0 0 0; 51 | #X connect 2 1 0 0; 52 | #X connect 2 2 3 0; 53 | #X connect 3 0 6 0; 54 | #X connect 3 1 4 0; 55 | #X connect 4 1 0 0; 56 | #X connect 5 0 7 0; 57 | #X connect 5 1 1 0; 58 | #X connect 7 0 2 0; 59 | #X restore 152 85 pd init; 60 | #X obj 248 519 outlet; 61 | #X obj 294 450 r \$0-base; 62 | #X obj 248 482 + 60; 63 | #X obj 64 192 f; 64 | #X obj 64 160 route list float base; 65 | #X obj 112 228 rint; 66 | #X floatatom 317 480 5 0 0 0 - - -; 67 | #X floatatom 325 413 5 0 0 0 - - -; 68 | #X obj 160 197 s \$0-base; 69 | #X connect 0 0 16 0; 70 | #X connect 1 0 23 0; 71 | #X connect 2 0 17 0; 72 | #X connect 4 0 0 1; 73 | #X connect 7 0 15 0; 74 | #X connect 8 0 9 0; 75 | #X connect 9 0 11 0; 76 | #X connect 10 0 12 0; 77 | #X connect 11 0 14 0; 78 | #X connect 12 0 14 1; 79 | #X connect 13 0 12 1; 80 | #X connect 13 0 26 0; 81 | #X connect 14 0 21 0; 82 | #X connect 15 0 8 2; 83 | #X connect 15 0 10 1; 84 | #X connect 16 0 8 0; 85 | #X connect 16 1 10 0; 86 | #X connect 18 0 17 0; 87 | #X connect 20 0 21 1; 88 | #X connect 20 0 25 0; 89 | #X connect 21 0 19 0; 90 | #X connect 22 0 24 0; 91 | #X connect 23 0 22 0; 92 | #X connect 23 1 24 0; 93 | #X connect 23 2 27 0; 94 | #X connect 24 0 0 0; 95 | -------------------------------------------------------------------------------- /modules/else/bin.shift~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 680 389 522 278 10; 2 | #X declare -path else; 3 | #N canvas 559 171 259 221 send 0; 4 | #X obj 89 37 inlet~; 5 | #X obj 105 138 outlet~; 6 | #X obj 89 86 tabsend~ n_\$0; 7 | #X connect 0 0 2 0; 8 | #X restore 67 120 pd send; 9 | #N canvas 649 272 441 440 read 0; 10 | #X obj 131 25 inlet~; 11 | #X obj 255 336 outlet~; 12 | #X obj 87 168 expr~ $v1 + shift_\$0; 13 | #X obj 87 124 ramp~ 1 0; 14 | #X obj 138 68 r \$0-size; 15 | #X obj 87 100 b; 16 | #X obj 161 99 v size_\$0; 17 | #X obj 87 257 tabread~ n_\$0; 18 | #X obj 255 304 *~; 19 | #X obj 87 198 expr~ $v1 % size_\$0 \; if(wrap_\$0 || in_\$0 == 0 \, 20 | 1 \, if(in_\$0 >= 0 \, $v1 >= size_\$0 \, $v1 < size_\$0)), f 31; 21 | #X connect 2 0 9 0; 22 | #X connect 3 0 2 0; 23 | #X connect 4 0 3 3; 24 | #X connect 4 0 5 0; 25 | #X connect 4 0 6 0; 26 | #X connect 5 0 3 0; 27 | #X connect 7 0 8 0; 28 | #X connect 8 0 1 0; 29 | #X connect 9 0 7 0; 30 | #X connect 9 1 8 1; 31 | #X restore 67 152 pd read; 32 | #X obj 157 62 inlet; 33 | #X obj 67 212 outlet~; 34 | #N canvas 950 235 292 310 table 0; 35 | #X obj 79 70 blocksize~; 36 | #X obj 79 205 s \$0-size; 37 | #X obj 79 166 t f f; 38 | #X msg 155 198 resize \$1; 39 | #X obj 79 138 change; 40 | #X obj 155 222 s n_\$0; 41 | #X obj 85 35 table n_\$0; 42 | #X obj 166 80 lb -init; 43 | #X msg 166 104 64; 44 | #X connect 0 0 4 0; 45 | #X connect 2 0 1 0; 46 | #X connect 2 1 3 0; 47 | #X connect 3 0 5 0; 48 | #X connect 4 0 2 0; 49 | #X connect 7 0 8 0; 50 | #X connect 8 0 4 0; 51 | #X restore 157 153 pd table; 52 | #X text 245 127 Part of ELSE \; https://github.com/porres/pd-else; 53 | #X text 247 108 Alexandre Torres Porres (2018); 54 | #N canvas 694 392 382 395 set 0; 55 | #X obj 218 328 v shift_\$0; 56 | #X obj 158 17 inlet; 57 | #X obj 186 220 clip; 58 | #X obj 221 152 * -1; 59 | #X obj 145 170 f \$1; 60 | #X obj 180 120 t b f; 61 | #X obj 180 95 r \$0-size; 62 | #X obj 218 300 mod; 63 | #X obj 186 260 * -1; 64 | #X obj 141 299 v in_\$0; 65 | #X obj 60 191 v wrap_\$0; 66 | #X obj 60 143 route float; 67 | #X obj 60 166 != 0; 68 | #X obj 72 118 f \$2; 69 | #X obj 60 17 inlet; 70 | #X obj 60 62 route wrap; 71 | #X obj 72 92 lb -init; 72 | #X connect 1 0 2 0; 73 | #X connect 2 0 8 0; 74 | #X connect 2 0 9 0; 75 | #X connect 3 0 2 1; 76 | #X connect 4 0 2 0; 77 | #X connect 5 0 4 0; 78 | #X connect 5 1 3 0; 79 | #X connect 5 1 2 2; 80 | #X connect 5 1 7 1; 81 | #X connect 6 0 5 0; 82 | #X connect 7 0 0 0; 83 | #X connect 8 0 7 0; 84 | #X connect 11 0 12 0; 85 | #X connect 12 0 10 0; 86 | #X connect 13 0 11 0; 87 | #X connect 14 0 15 0; 88 | #X connect 15 0 11 0; 89 | #X connect 16 0 13 0; 90 | #X restore 124 90 pd set; 91 | #X obj 67 61 inlet~ fwd; 92 | #X obj 281 179 declare -path else; 93 | #X connect 0 0 1 0; 94 | #X connect 1 0 3 0; 95 | #X connect 2 0 7 1; 96 | #X connect 8 0 0 0; 97 | #X connect 8 1 7 0; 98 | -------------------------------------------------------------------------------- /modules/else/unite.pd: -------------------------------------------------------------------------------- 1 | #N canvas 583 202 822 289 10; 2 | #X declare -path else; 3 | #X obj 171 120 makefilename %g; 4 | #X obj 288 205 outlet; 5 | #X obj 54 48 inlet; 6 | #X obj 288 120 symbol bang; 7 | #N canvas 675 260 840 549 list-any 0; 8 | #X obj 69 36 inlet; 9 | #X obj 69 490 outlet; 10 | #X obj 69 125 trigger bang list bang; 11 | #X obj 264 301 list prepend; 12 | #X obj 69 294 list; 13 | #X obj 333 259 list append 32; 14 | #X obj 69 362 list tosymbol; 15 | #X obj 185 270 list fromsymbol; 16 | #X obj 69 83 list; 17 | #N canvas 816 210 280 272 drip 0; 18 | #X obj 92 201 outlet; 19 | #X obj 110 32 inlet; 20 | #X obj 81 90 until; 21 | #X obj 92 177 list store; 22 | #X obj 110 61 t b b l; 23 | #X obj 81 119 f; 24 | #X obj 116 120 + 1; 25 | #X msg 129 94 0, f 2; 26 | #X msg 81 148 get \$1 1; 27 | #X connect 1 0 4 0; 28 | #X connect 2 0 5 0; 29 | #X connect 3 0 0 0; 30 | #X connect 3 1 2 1; 31 | #X connect 4 0 2 0; 32 | #X connect 4 1 7 0; 33 | #X connect 4 2 3 1; 34 | #X connect 5 0 6 0; 35 | #X connect 5 0 8 0; 36 | #X connect 6 0 5 1; 37 | #X connect 7 0 5 1; 38 | #X connect 8 0 3 0; 39 | #X restore 133 171 pd drip; 40 | #X obj 133 208 route float symbol; 41 | #X obj 133 238 makefilename %g; 42 | #X obj 414 36 inlet; 43 | #X obj 305 188 args; 44 | #X obj 305 210 route bang; 45 | #X obj 414 209 select empty; 46 | #X obj 414 113 route symbol; 47 | #X obj 515 148 print; 48 | #X msg 515 111 [unite]: separator needs to be a symbol, f 20; 49 | #X obj 528 272 list fromsymbol; 50 | #X msg 528 205 symbol; 51 | #X obj 305 149 t b b; 52 | #X obj 483 241 select s; 53 | #X obj 305 115 lb -init; 54 | #X connect 0 0 8 0; 55 | #X connect 2 0 4 0; 56 | #X connect 2 1 9 0; 57 | #X connect 2 2 3 1; 58 | #X connect 3 0 4 1; 59 | #X connect 3 0 5 0; 60 | #X connect 4 0 6 0; 61 | #X connect 5 0 3 1; 62 | #X connect 6 0 1 0; 63 | #X connect 7 0 3 0; 64 | #X connect 8 0 2 0; 65 | #X connect 9 0 10 0; 66 | #X connect 10 0 11 0; 67 | #X connect 10 1 7 0; 68 | #X connect 11 0 7 0; 69 | #X connect 12 0 16 0; 70 | #X connect 13 0 14 0; 71 | #X connect 14 1 15 0; 72 | #X connect 15 0 5 1; 73 | #X connect 15 1 22 0; 74 | #X connect 16 0 15 0; 75 | #X connect 16 1 18 0; 76 | #X connect 18 0 17 0; 77 | #X connect 19 0 5 1; 78 | #X connect 20 0 22 1; 79 | #X connect 21 0 13 0; 80 | #X connect 21 1 20 0; 81 | #X connect 22 0 5 1; 82 | #X connect 22 1 19 0; 83 | #X connect 23 0 21 0; 84 | #X restore 405 120 pd list-any; 85 | #X text 529 148 Part of ELSE \; https://github.com/porres/pd-else; 86 | #X obj 54 87 route symbol float bang, f 59; 87 | #X obj 468 48 inlet; 88 | #X text 531 129 Alexandre Torres Porres (2018-2020); 89 | #X obj 555 99 declare -path else; 90 | #X connect 0 0 1 0; 91 | #X connect 2 0 6 0; 92 | #X connect 3 0 1 0; 93 | #X connect 4 0 1 0; 94 | #X connect 6 0 1 0; 95 | #X connect 6 1 0 0; 96 | #X connect 6 2 3 0; 97 | #X connect 6 3 4 0; 98 | #X connect 7 0 4 1; 99 | -------------------------------------------------------------------------------- /README_zh.md: -------------------------------------------------------------------------------- 1 | # SlowSampler2 2 | 3 | <[🎥 视频演示](https://www.bilibili.com/video/BV1SNCBYKEMf/)> | <[English](README.md)> 4 | 5 | SlowSampler是一个音频采样器VST3插件,旨在提供灵活的时间拉伸和变调选项,以处理不局限于常规乐器的音频样本。开发此插件的主要目标是音MAD和YTPMV类音频的制作,但插件也可用于音色设计或其它类型的音频创作。 6 | 7 | 本插件基于Pure Data图形语言,用户与开发者不需要重新编译插件,即可利用可视化的编辑器对插件的功能进行修改与定制。 8 | 9 | ![](docs/gui_preview.png) 10 | 11 | ## 功能简介 12 | 13 | - 最多16复音的采样发声,既可作为乐器采样WAV波形文件,也可作为效果器处理DAW/宿主软件中的音频轨道 14 | - 多种调音算法 15 | - 将任意音频转换为平稳的音调 16 | - 支持分别调节音调与共振峰 17 | - 多种时间伸缩算法 18 | - 不受变调影响进行波形文件的变速,支持多种速度曲线 19 | - 可自动将波形文件的速度与MIDI音符的长度匹配 20 | - 自带效果器 21 | - 用于音质增强的频域降噪和梳状滤波算法 22 | - 用于提取/复制音频特征的调制器与声码器 23 | 24 | ## 安装方法 25 | 26 | 请在本仓库的[Releases](https://github.com/chsh2/SlowSampler2/releases)页面下载压缩包,解压并复制`.vst3`文件夹到系统默认的VST3插件目录。 27 | 28 | 不同操作系统中的VST3默认目录可在以下页面查询: 29 | https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Locations+Format/Plugin+Locations.html 30 | 31 | ## 使用方法 32 | 33 | *此处提供插件的基本使用方法。对插件每个具体功能的详细介绍文档正在准备中。* 34 | 35 |
36 | 使用VST3插件 37 | 38 | 若安装成功,在DAW/宿主软件中可以看到两个新的VST3插件: 39 | 40 | - **SlowSampler2**:此插件将被DAW识别为乐器。点击界面中的按钮读取一个WAV波形文件,即可将其作为音色进行演奏。 41 | - **SlowSampler2FX**:此插件将被DAW识别为效果器。它包含乐器模式下的所有功能,此外可以选择主链或侧链的音频轨道作为采样源。请注意,插件仍然仅在收到MIDI输入时才会发声,在部分DAW中,需要手动设置来让效果器插件接收MIDI信号。 42 |
43 | 44 |
45 | 使用PlugData编辑器 46 | 47 | [PlugData](https://plugdata.org/)是一个用来运行与编辑Pure Data程序的图形化环境,既可作为独立程序,又可作为音频插件使用。在PlugData中打开本插件提供的`plugdata.pd`文件,即可在PlugData内部使用本插件的功能。使用这种方法可以方便地对插件的功能进行调试与修改。 48 | 49 | 请注意,并不推荐使用原始的[Pure Data](https://puredata.info/)编辑器来运行本项目,因为本项目修改了部分代码、且引入了外部库。相关信息请查看以下关于编译的说明和[另一个GitHub仓库](https://github.com/chsh2/Camomile)(Camomile的分支)。 50 |
51 | 52 | ## 编译方法 53 | 54 | 若想自行编译此插件,可遵循以下步骤: 55 | 56 | - 克隆[此Camomile分支](https://github.com/chsh2/Camomile),按照其中的说明进行编译。 57 | - 使用编译出的`.vst3`文件(在Linux下为`.so`文件)替换本插件中的对应文件。 58 | - 请参照Camomile的[Wiki页面](https://github.com/pierreguillot/Camomile/wiki/How-to-create-new-plugins)以了解将PureData程序与Camomile关联的细节。 59 | 60 | 使用此方法也可编译VST3以外的插件格式,如AU或LV2,但这些格式下SlowSampler的功能尚未经过测试。 61 | 62 | ## 参考与致谢 63 | 64 | - 开发资源 65 | - [Pure Data](https://puredata.info/) by Miller Puckette and others 66 | - [libpd](https://github.com/libpd/libpd) by the Peter Brinkmann, Dan Wilcox and others 67 | - [PlugData](https://plugdata.org/) by Timothy Schoen and others 68 | - [Camomile](https://github.com/pierreguillot/Camomile) by Pierre Guillot and others 69 | - [ELSE](https://github.com/porres/pd-else) by Alexandre Torres Porres 70 | - [Cyclone](https://github.com/porres/pd-cyclone) by Krzysztof Czaja, Hans-Christoph Steiner, Fred Jan Kraan, Alexandre Porres, Derek Kwan, Matt Barber and others 71 | - 美术资源 72 | - 部分图标来自于[Iconbuddy](https://iconbuddy.app/) 73 | - 字体: [Sarasa Gothic](https://github.com/be5invis/Sarasa-Gothic) 74 | - 字体: Calistoga -------------------------------------------------------------------------------- /modules/else/allpass.filt~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 852 105 485 347 10; 2 | #X declare -path else; 3 | #N canvas 706 234 465 617 \$0-Allpass-stages 0; 4 | #X obj 60 19 inlet~; 5 | #X obj 60 864 outlet~; 6 | #X restore 62 193 pd \$0-Allpass-stages; 7 | #N canvas 652 370 484 311 set 0; 8 | #X obj 199 195 s~ \$0-q; 9 | #X obj 148 265 outlet~; 10 | #X obj 108 91 - 10; 11 | #X obj 63 186 s~ \$0-freq; 12 | #X obj 64 28 inlet~; 13 | #X obj 63 118 clip~ 10; 14 | #X obj 199 29 inlet~; 15 | #X obj 199 135 max~ 0.1; 16 | #X obj 108 67 sr~; 17 | #X connect 2 0 5 2; 18 | #X connect 4 0 5 0; 19 | #X connect 5 0 3 0; 20 | #X connect 6 0 7 0; 21 | #X connect 7 0 0 0; 22 | #X connect 8 0 2 0; 23 | #X restore 120 157 pd set; 24 | #X obj 62 51 inlet~; 25 | #X obj 62 246 outlet~; 26 | #X text 221 190 Part of ELSE \; https://github.com/porres/pd-else; 27 | #X text 223 171 Alexandre Torres Porres (2017); 28 | #X obj 120 121 inlet~; 29 | #X obj 120 90 r \$0-hz; 30 | #X obj 175 90 r \$0-q; 31 | #X obj 175 121 inlet~; 32 | #N canvas 723 101 551 466 init 0; 33 | #X obj 149 215 t f f; 34 | #X obj 176 262 sel 0; 35 | #X obj 176 333 f \$0; 36 | #X obj 149 333 + 1; 37 | #X obj 104 122 select 0; 38 | #X obj 149 150 clip 2 64; 39 | #X obj 149 171 / 2; 40 | #X obj 149 192 int; 41 | #X msg 104 183 1; 42 | #X obj 234 419 s pd-\$0-Allpass-stages; 43 | #X msg 149 375 connect \$1 0 1 0, f 8; 44 | #X obj 203 283 expr 50 + 25 * $f1 \; $f1 + 1 \; $f1 + 2; 45 | #X obj 233 334 pack f f f \$0; 46 | #X obj 104 95 unpack float float float; 47 | #X obj 180 122 s \$0-hz; 48 | #X obj 258 122 s \$0-q; 49 | #X msg 258 95 1; 50 | #X msg 180 69 10; 51 | #X obj 47 72 route bang; 52 | #X obj 104 50 args; 53 | #X obj 104 22 lb -init 2; 54 | #X obj 176 238 loop; 55 | #X msg 233 358 obj 60 \$1 allpass_unit \$4 \, connect \$2 0 \$3 0; 56 | #X msg 242 388 obj 60 50 allpass_unit \$1 \, connect 0 0 2 0; 57 | #X obj 282 193 declare -path else; 58 | #X connect 0 0 3 0; 59 | #X connect 0 1 21 0; 60 | #X connect 1 0 2 0; 61 | #X connect 1 1 11 0; 62 | #X connect 2 0 23 0; 63 | #X connect 3 0 10 0; 64 | #X connect 4 0 8 0; 65 | #X connect 4 1 5 0; 66 | #X connect 5 0 6 0; 67 | #X connect 6 0 7 0; 68 | #X connect 7 0 0 0; 69 | #X connect 8 0 0 0; 70 | #X connect 10 0 9 0; 71 | #X connect 11 0 12 0; 72 | #X connect 11 1 12 1; 73 | #X connect 11 2 12 2; 74 | #X connect 12 0 22 0; 75 | #X connect 13 0 4 0; 76 | #X connect 13 1 14 0; 77 | #X connect 13 2 15 0; 78 | #X connect 16 0 15 0; 79 | #X connect 17 0 14 0; 80 | #X connect 18 0 8 0; 81 | #X connect 18 1 13 0; 82 | #X connect 19 0 18 0; 83 | #X connect 20 0 19 0; 84 | #X connect 20 1 16 0; 85 | #X connect 20 1 17 0; 86 | #X connect 21 0 1 0; 87 | #X connect 22 0 9 0; 88 | #X connect 23 0 9 0; 89 | #X restore 239 121 pd init; 90 | #X connect 0 0 3 0; 91 | #X connect 1 0 0 0; 92 | #X connect 2 0 0 0; 93 | #X connect 6 0 1 0; 94 | #X connect 7 0 6 0; 95 | #X connect 8 0 9 0; 96 | #X connect 9 0 1 1; 97 | -------------------------------------------------------------------------------- /modules/else/drunkard.pd: -------------------------------------------------------------------------------- 1 | #N canvas 694 186 532 615 10; 2 | #X declare -path else; 3 | #X obj 107 479 v last_\$0; 4 | #X obj 181 254 max 0; 5 | #X obj 93 26 inlet; 6 | #X obj 93 442 wrap2; 7 | #X obj 218 27 inlet; 8 | #X obj 312 29 inlet; 9 | #X obj 93 531 outlet; 10 | #X obj 218 67 s \$0-min; 11 | #X obj 312 66 s \$0-max; 12 | #X obj 121 412 r \$0-min; 13 | #X obj 171 444 r \$0-max; 14 | #X obj 190 220 r \$0-step; 15 | #N canvas 114 114 388 323 init 0; 16 | #X obj 107 90 args; 17 | #X obj 107 120 break -; 18 | #N canvas 4 23 450 300 default 0; 19 | #X obj 254 174 s \$0-step; 20 | #X obj 173 231 s \$0-min; 21 | #X obj 213 205 s \$0-max; 22 | #X msg 173 83 0 127 1 70; 23 | #X obj 173 114 unpack f f f f; 24 | #X obj 267 141 v p_\$0; 25 | #X obj 173 49 inlet; 26 | #X connect 3 0 4 0; 27 | #X connect 4 0 1 0; 28 | #X connect 4 1 2 0; 29 | #X connect 4 2 0 0; 30 | #X connect 4 3 5 0; 31 | #X connect 6 0 3 0; 32 | #X restore 242 97 pd default; 33 | #X obj 107 160 route float list -seed -p; 34 | #X msg 180 209 seed \$1; 35 | #X msg 239 209 p \$1; 36 | #N canvas 4 23 450 300 args 0; 37 | #X obj 121 186 s \$0-step; 38 | #X obj 121 148 max 0; 39 | #X obj 157 110 unpack f f f; 40 | #X obj 191 161 s \$0-min; 41 | #X obj 226 134 s \$0-max; 42 | #X obj 157 76 inlet; 43 | #X connect 1 0 0 0; 44 | #X connect 2 0 1 0; 45 | #X connect 2 1 3 0; 46 | #X connect 2 2 4 0; 47 | #X connect 5 0 2 0; 48 | #X restore 107 208 pd args; 49 | #X obj 239 253 outlet; 50 | #X obj 107 60 loadbanger -init 2; 51 | #X connect 0 0 1 0; 52 | #X connect 1 0 3 0; 53 | #X connect 3 0 6 0; 54 | #X connect 3 1 6 0; 55 | #X connect 3 2 4 0; 56 | #X connect 3 3 5 0; 57 | #X connect 4 0 7 0; 58 | #X connect 5 0 7 0; 59 | #X connect 8 0 0 0; 60 | #X connect 8 1 2 0; 61 | #X restore 108 83 pd init; 62 | #X obj 307 269 v p_\$0; 63 | #X obj 124 352 expr $f1 * $f2 + last_\$0; 64 | #X obj 124 321 trigger float bang; 65 | #X obj 307 243 clip 0 100; 66 | #X obj 291 326 expr if($f1 <= p_\$0 \, 1 \, -1); 67 | #X obj 93 109 route float bang step p seed set; 68 | #X obj 250 142 v last_\$0; 69 | #X text 263 433 Part of ELSE \; https://github.com/porres/pd-else; 70 | #X text 265 414 Alexandre Torres Porres (2018); 71 | #X obj 291 300 rand.f 0 100; 72 | #X obj 124 283 rand.f; 73 | #X obj 377 159 declare -path else; 74 | #X connect 1 0 23 2; 75 | #X connect 2 0 18 0; 76 | #X connect 3 0 0 0; 77 | #X connect 3 0 6 0; 78 | #X connect 4 0 7 0; 79 | #X connect 5 0 8 0; 80 | #X connect 9 0 3 1; 81 | #X connect 10 0 3 2; 82 | #X connect 11 0 1 0; 83 | #X connect 12 0 18 0; 84 | #X connect 14 0 3 0; 85 | #X connect 15 0 14 0; 86 | #X connect 15 1 22 0; 87 | #X connect 16 0 13 0; 88 | #X connect 17 0 14 1; 89 | #X connect 18 0 3 0; 90 | #X connect 18 1 23 0; 91 | #X connect 18 2 1 0; 92 | #X connect 18 3 16 0; 93 | #X connect 18 4 22 0; 94 | #X connect 18 4 23 0; 95 | #X connect 18 5 19 0; 96 | #X connect 22 0 17 0; 97 | #X connect 23 0 15 0; 98 | -------------------------------------------------------------------------------- /modules/else/pick.pd: -------------------------------------------------------------------------------- 1 | #N canvas 656 250 488 324 12; 2 | #X declare -path else; 3 | #X obj 64 64 inlet; 4 | #X obj 137 64 inlet; 5 | #N canvas 291 73 415 442 positive 0; 6 | #X obj 95 69 list; 7 | #X obj 95 140 list length; 8 | #X obj 95 244 sel 1; 9 | #X obj 95 214 >=; 10 | #X obj 95 36 inlet; 11 | #X obj 113 180 r \$0-i; 12 | #X obj 140 352 list store; 13 | #X obj 95 102 trigger list list; 14 | #X obj 140 273 float; 15 | #X msg 140 323 get \$1 1; 16 | #X obj 140 385 outlet; 17 | #X obj 140 297 - 1; 18 | #X connect 0 0 7 0; 19 | #X connect 1 0 3 0; 20 | #X connect 2 0 8 0; 21 | #X connect 3 0 2 0; 22 | #X connect 4 0 0 0; 23 | #X connect 5 0 3 1; 24 | #X connect 5 0 8 1; 25 | #X connect 6 0 10 0; 26 | #X connect 7 0 1 0; 27 | #X connect 7 1 6 1; 28 | #X connect 8 0 11 0; 29 | #X connect 9 0 6 0; 30 | #X connect 11 0 9 0; 31 | #X restore 64 172 pd positive; 32 | #N canvas 850 67 339 449 negative 0; 33 | #X obj 82 75 list; 34 | #X obj 82 146 list length; 35 | #X obj 82 227 sel 1; 36 | #X obj 137 395 outlet; 37 | #X obj 82 197 >=; 38 | #X obj 82 42 inlet; 39 | #X obj 155 189 r \$0-i; 40 | #X obj 155 216 abs; 41 | #X obj 82 172 t f f; 42 | #X obj 121 258 f; 43 | #X obj 137 293 -; 44 | #X obj 137 356 list store; 45 | #X msg 137 322 get \$1 1; 46 | #X obj 82 108 trigger list list, f 19; 47 | #X connect 0 0 13 0; 48 | #X connect 1 0 8 0; 49 | #X connect 2 0 9 0; 50 | #X connect 4 0 2 0; 51 | #X connect 5 0 0 0; 52 | #X connect 6 0 7 0; 53 | #X connect 7 0 4 1; 54 | #X connect 7 0 10 1; 55 | #X connect 8 0 4 0; 56 | #X connect 8 1 9 1; 57 | #X connect 9 0 10 0; 58 | #X connect 10 0 12 0; 59 | #X connect 11 0 3 0; 60 | #X connect 12 0 11 0; 61 | #X connect 13 0 1 0; 62 | #X connect 13 1 11 1; 63 | #X restore 117 132 pd negative; 64 | #N canvas 253 84 319 276 route 0; 65 | #X obj 67 151 list prepend; 66 | #X obj 148 107 expr if($f1 > 0 \, 1 \, if($f1 < 0 \, -1 \, 0)), f 67 | 19; 68 | #X obj 67 178 route 1 -1; 69 | #X obj 148 81 r \$0-i; 70 | #X obj 67 31 inlet; 71 | #X obj 99 218 outlet; 72 | #X obj 46 217 outlet; 73 | #X connect 0 0 2 0; 74 | #X connect 1 0 0 1; 75 | #X connect 2 0 6 0; 76 | #X connect 2 1 5 0; 77 | #X connect 3 0 1 0; 78 | #X connect 4 0 0 0; 79 | #X restore 64 102 pd route; 80 | #N canvas 64 23 450 300 set-i 0; 81 | #X obj 153 43 inlet; 82 | #X obj 168 123 f \$1; 83 | #X obj 168 168 s \$0-i; 84 | #X obj 187 92 lb -init; 85 | #X connect 0 0 1 0; 86 | #X connect 1 0 2 0; 87 | #X connect 3 0 1 0; 88 | #X restore 137 99 pd set-i; 89 | #X obj 117 252 outlet; 90 | #X text 227 170 Part of ELSE \; https://github.com/porres/pd-else; 91 | #X text 229 151 Alexandre Torres Porres (2019); 92 | #X obj 117 216 list; 93 | #X obj 258 104 declare -path else; 94 | #X connect 0 0 4 0; 95 | #X connect 1 0 5 0; 96 | #X connect 2 0 9 0; 97 | #X connect 3 0 9 0; 98 | #X connect 4 0 2 0; 99 | #X connect 4 1 3 0; 100 | #X connect 9 0 6 0; 101 | -------------------------------------------------------------------------------- /modules/else/resonbank2~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 648 245 605 300 10; 2 | #X declare -path else; 3 | #X text 322 128 Part of ELSE \; https://github.com/porres/pd-else; 4 | #X text 324 109 Alexandre Torres Porres (2017); 5 | #N canvas 505 98 661 483 load_args 0; 6 | #X obj 72 285 order; 7 | #X obj 153 286 order; 8 | #X obj 232 287 order; 9 | #X obj 366 323 order; 10 | #X obj 510 297 sel 0; 11 | #X obj 126 149 break -; 12 | #X obj 424 226 list split 1; 13 | #X msg 464 327 10; 14 | #X obj 464 273 moses 0; 15 | #X msg 466 351 all \$1; 16 | #X obj 464 250 route float; 17 | #X msg 366 121 all 1; 18 | #X obj 126 123 trigger anything bang; 19 | #X obj 465 413 outlet; 20 | #X obj 257 384 outlet; 21 | #X obj 192 378 outlet; 22 | #X obj 113 380 outlet; 23 | #X obj 319 274 order; 24 | #X obj 345 386 outlet; 25 | #X obj 128 76 route bang; 26 | #X obj 128 45 inlet; 27 | #X obj 126 174 route -freq -attack -decay -amp -ramp; 28 | #X connect 0 0 16 0; 29 | #X connect 1 0 15 0; 30 | #X connect 2 0 14 0; 31 | #X connect 3 0 13 0; 32 | #X connect 4 0 7 0; 33 | #X connect 4 1 9 0; 34 | #X connect 5 0 21 0; 35 | #X connect 6 1 10 0; 36 | #X connect 7 0 9 0; 37 | #X connect 8 0 7 0; 38 | #X connect 8 1 4 0; 39 | #X connect 9 0 13 0; 40 | #X connect 10 0 8 0; 41 | #X connect 11 0 18 0; 42 | #X connect 12 0 5 0; 43 | #X connect 12 1 11 0; 44 | #X connect 17 0 18 0; 45 | #X connect 19 0 11 0; 46 | #X connect 19 0 7 0; 47 | #X connect 19 1 12 0; 48 | #X connect 20 0 19 0; 49 | #X connect 21 0 0 0; 50 | #X connect 21 1 1 0; 51 | #X connect 21 2 2 0; 52 | #X connect 21 3 17 0; 53 | #X connect 21 4 3 0; 54 | #X connect 21 5 6 0; 55 | #X restore 200 111 pd load_args; 56 | #N canvas 340 291 564 411 route 0; 57 | #X obj 83 184 order; 58 | #X obj 164 185 order; 59 | #X obj 243 186 order; 60 | #X obj 329 186 order; 61 | #X obj 328 280 outlet; 62 | #X obj 243 273 outlet; 63 | #X obj 168 273 outlet; 64 | #X obj 93 279 outlet; 65 | #X obj 137 83 inlet; 66 | #X obj 138 119 route freq attack decay amp ramp; 67 | #X obj 414 187 order; 68 | #X obj 413 281 outlet; 69 | #X connect 0 0 7 0; 70 | #X connect 1 0 6 0; 71 | #X connect 2 0 5 0; 72 | #X connect 3 0 4 0; 73 | #X connect 8 0 9 0; 74 | #X connect 9 0 0 0; 75 | #X connect 9 1 1 0; 76 | #X connect 9 2 2 0; 77 | #X connect 9 3 3 0; 78 | #X connect 9 4 10 0; 79 | #X connect 10 0 11 0; 80 | #X restore 122 111 pd route; 81 | #X obj 71 215 outlet~; 82 | #X obj 71 169 clone -x \$1 resonclone2 \$1; 83 | #X obj 200 76 args; 84 | #X obj 54 25 inlet~ fwd; 85 | #X obj 200 51 lb -init; 86 | #X obj 362 68 declare -path else; 87 | #X connect 2 0 5 1; 88 | #X connect 2 1 5 2; 89 | #X connect 2 2 5 3; 90 | #X connect 2 3 5 4; 91 | #X connect 2 4 5 5; 92 | #X connect 3 0 5 1; 93 | #X connect 3 1 5 2; 94 | #X connect 3 2 5 3; 95 | #X connect 3 3 5 4; 96 | #X connect 3 4 5 5; 97 | #X connect 5 0 4 0; 98 | #X connect 6 0 2 0; 99 | #X connect 7 0 5 0; 100 | #X connect 7 1 3 0; 101 | #X connect 8 0 6 0; 102 | -------------------------------------------------------------------------------- /modules/else/lfnoise.pd: -------------------------------------------------------------------------------- 1 | #N canvas 646 183 550 606 10; 2 | #X declare -path else; 3 | #X obj 89 38 inlet; 4 | #X obj 203 536 outlet; 5 | #X obj 172 38 inlet; 6 | #X obj 124 331 v i_\$0; 7 | #N canvas 479 401 457 290 route 0; 8 | #X obj 37 27 inlet; 9 | #X obj 42 159 outlet; 10 | #X obj 37 86 route float interp, f 20; 11 | #X obj 125 126 != 0; 12 | #X obj 126 158 s \$0-interp; 13 | #X connect 0 0 2 0; 14 | #X connect 2 0 1 0; 15 | #X connect 2 1 3 0; 16 | #X connect 3 0 4 0; 17 | #X restore 89 100 pd route; 18 | #X obj 89 240 clip -100 100; 19 | #X obj 203 279 v phase_\$0; 20 | #X obj 162 303 wrap; 21 | #X obj 102 272 / 1000; 22 | #X obj 203 303 expr $f1 + i_\$0 \; $f1; 23 | #X obj 89 218 float; 24 | #N canvas 441 105 462 293 args 0; 25 | #X obj 120 85 args; 26 | #X obj 120 158 s \$0-hz; 27 | #X obj 93 57 t b b; 28 | #X obj 93 232 s \$0-lb; 29 | #X obj 121 121 unpack float float float; 30 | #X obj 191 163 != 0; 31 | #X obj 190 188 s \$0-interp; 32 | #X obj 105 202 s \$0-rand; 33 | #X msg 271 164 seed \$1; 34 | #X obj 272 192 s \$0-rand; 35 | #X obj 93 26 lb -init; 36 | #X connect 0 0 4 0; 37 | #X connect 2 0 3 0; 38 | #X connect 2 0 7 0; 39 | #X connect 2 1 0 0; 40 | #X connect 4 0 1 0; 41 | #X connect 4 1 5 0; 42 | #X connect 4 2 8 0; 43 | #X connect 5 0 6 0; 44 | #X connect 8 0 9 0; 45 | #X connect 10 0 2 0; 46 | #X restore 280 148 pd args; 47 | #X obj 105 178 r \$0-hz; 48 | #X obj 203 197 r \$0-lb; 49 | #X text 309 228 Part of ELSE \; https://github.com/porres/pd-else; 50 | #X obj 124 303 * 5; 51 | #X obj 203 252 metro 5; 52 | #X obj 203 358 sel 1; 53 | #X obj 203 383 rand.f 0 127; 54 | #X obj 203 495 line; 55 | #X obj 203 470 pack f f; 56 | #X obj 88 395 expr 1000/$f1; 57 | #X obj 248 445 *; 58 | #X obj 248 423 hot; 59 | #X obj 322 397 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 60 | 1; 61 | #X obj 322 371 r \$0-interp; 62 | #X obj 216 91 v phase_\$0; 63 | #X obj 172 63 t b b; 64 | #X msg 216 65 0; 65 | #X obj 172 119 s \$0-rand; 66 | #X obj 248 361 r \$0-rand; 67 | #X text 311 208 Alexandre Torres Porres (2019); 68 | #X obj 203 337 expr $f1 >= 1 || $f1 <= 0; 69 | #X obj 356 99 declare -path else; 70 | #X connect 0 0 4 0; 71 | #X connect 2 0 27 0; 72 | #X connect 4 0 10 0; 73 | #X connect 5 0 8 0; 74 | #X connect 5 0 21 0; 75 | #X connect 6 0 9 0; 76 | #X connect 7 0 6 0; 77 | #X connect 8 0 15 0; 78 | #X connect 9 0 7 0; 79 | #X connect 9 0 32 0; 80 | #X connect 10 0 5 0; 81 | #X connect 12 0 10 0; 82 | #X connect 13 0 16 0; 83 | #X connect 15 0 3 0; 84 | #X connect 16 0 6 0; 85 | #X connect 17 0 18 0; 86 | #X connect 18 0 20 0; 87 | #X connect 19 0 1 0; 88 | #X connect 20 0 19 0; 89 | #X connect 21 0 23 0; 90 | #X connect 22 0 20 1; 91 | #X connect 23 0 22 0; 92 | #X connect 23 1 22 1; 93 | #X connect 24 0 23 1; 94 | #X connect 25 0 24 0; 95 | #X connect 27 0 29 0; 96 | #X connect 27 1 28 0; 97 | #X connect 28 0 26 0; 98 | #X connect 30 0 18 0; 99 | #X connect 32 0 17 0; 100 | -------------------------------------------------------------------------------- /modules/else/meter2~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 668 166 701 490 10; 2 | #X declare -path else; 3 | #X obj 51 151 cnv 15 70 134 empty empty empty 20 12 0 14 -233017 -66577 4 | 0; 5 | #X obj 71 157 vu 15 120 \$0-R empty -1 -8 0 10 -1 -1 1 0; 6 | #X obj 54 157 vu 15 120 \$0-L empty -1 -8 0 10 -1 -1 0 0; 7 | #X obj 169 42 inlet~; 8 | #X obj 187 74 vu~; 9 | #X obj 258 44 inlet~; 10 | #X obj 332 76 vu~; 11 | #X obj 211 265 pack; 12 | #X obj 332 267 pack; 13 | #X text 414 185 Alexandre Torres Porres (2016); 14 | #X text 412 204 Part of ELSE \; https://github.com/porres/pd-else; 15 | #X obj 51 151 cnv 1 6 1 empty empty empty 20 12 0 14 -1 -66577 0; 16 | #X obj 115 151 cnv 1 6 1 empty empty empty 20 12 0 14 -1 -66577 0; 17 | #X obj 115 284 cnv 1 6 1 empty empty empty 20 12 0 14 -1 -66577 0; 18 | #X obj 51 284 cnv 1 6 1 empty empty empty 20 12 0 14 -1 -66577 0; 19 | #X obj 82 284 cnv 1 7 1 empty empty empty 20 12 0 14 -1 -66577 0; 20 | #X obj 259 332 outlet~; 21 | #X obj 169 333 outlet~; 22 | #X obj 311 334 outlet; 23 | #X obj 311 293 list; 24 | #N canvas 628 525 496 411 meter 0; 25 | #X obj 121 63 inlet; 26 | #X obj 267 63 inlet; 27 | #X obj 121 178 pack; 28 | #X obj 121 206 line; 29 | #X obj 219 178 pack; 30 | #X obj 219 206 line; 31 | #X obj 121 236 outlet; 32 | #X obj 219 236 outlet; 33 | #X obj 343 160 v peak_\$0; 34 | #X obj 345 138 v rms_\$0; 35 | #X obj 121 107 expr rms_\$0 = $f1 \; if($f1 <= rms_\$0 \, 2000 \, 0) 36 | \; peak_\$0 = $f2 \; if($f2 <= peak_\$0 \, 2000 \, 0); 37 | #X connect 0 0 10 0; 38 | #X connect 1 0 10 1; 39 | #X connect 2 0 3 0; 40 | #X connect 3 0 6 0; 41 | #X connect 4 0 5 0; 42 | #X connect 5 0 7 0; 43 | #X connect 10 0 2 0; 44 | #X connect 10 1 2 1; 45 | #X connect 10 2 4 0; 46 | #X connect 10 3 4 1; 47 | #X restore 18 112 pd meter; 48 | #N canvas 628 525 496 411 meter 0; 49 | #X obj 121 63 inlet; 50 | #X obj 267 63 inlet; 51 | #X obj 121 178 pack; 52 | #X obj 121 206 line; 53 | #X obj 219 178 pack; 54 | #X obj 219 206 line; 55 | #X obj 121 236 outlet; 56 | #X obj 219 236 outlet; 57 | #X obj 345 138 v rms_r_\$0; 58 | #X obj 343 160 v peak_r_\$0; 59 | #X obj 121 107 expr rms_r_\$0 = $f1 \; if($f1 <= rms_r_\$0 \, 2000 60 | \, 0) \; peak_r_\$0 = $f2 \; if($f2 <= peak_r_\$0 \, 2000 \, 0); 61 | #X connect 0 0 10 0; 62 | #X connect 1 0 10 1; 63 | #X connect 2 0 3 0; 64 | #X connect 3 0 6 0; 65 | #X connect 4 0 5 0; 66 | #X connect 5 0 7 0; 67 | #X connect 10 0 2 0; 68 | #X connect 10 1 2 1; 69 | #X connect 10 2 4 0; 70 | #X connect 10 3 4 1; 71 | #X restore 98 112 pd meter; 72 | #X obj 460 82 declare -path else; 73 | #X connect 3 0 4 0; 74 | #X connect 3 0 17 0; 75 | #X connect 4 0 7 0; 76 | #X connect 4 0 20 0; 77 | #X connect 4 1 7 1; 78 | #X connect 4 1 20 1; 79 | #X connect 5 0 6 0; 80 | #X connect 5 0 16 0; 81 | #X connect 6 0 8 0; 82 | #X connect 6 0 21 0; 83 | #X connect 6 1 8 1; 84 | #X connect 6 1 21 1; 85 | #X connect 7 0 19 0; 86 | #X connect 8 0 19 1; 87 | #X connect 19 0 18 0; 88 | #X connect 20 0 2 0; 89 | #X connect 20 1 2 1; 90 | #X connect 21 0 1 0; 91 | #X connect 21 1 1 1; 92 | #X coords 0 -1 1 1 72 136 2 50 150; 93 | -------------------------------------------------------------------------------- /modules/else/duck~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 718 260 510 266 12; 2 | #X declare -path else; 3 | #X obj 185 48 inlet~; 4 | #X obj 139 210 outlet~; 5 | #N canvas 667 241 423 482 set 0; 6 | #X obj 52 20 inlet; 7 | #X obj 238 391 s \$0-ratio; 8 | #X obj 270 370 s \$0-attack; 9 | #X obj 302 349 s \$0-release; 10 | #X obj 207 195 unpack f f f f; 11 | #X obj 109 93 args; 12 | #X obj 52 196 route thresh ratio attack release mix, f 12; 13 | #X msg 207 95 -60 1 10 10; 14 | #X obj 109 123 break -; 15 | #X obj 109 153 route -mix; 16 | #X obj 313 292 != 0; 17 | #X obj 313 319 v mix_\$0; 18 | #X msg 164 198 1; 19 | #X obj 207 412 s \$0-thresh; 20 | #X obj 147 62 lb -init 2; 21 | #X connect 0 0 6 0; 22 | #X connect 4 0 13 0; 23 | #X connect 4 1 1 0; 24 | #X connect 4 2 2 0; 25 | #X connect 4 3 3 0; 26 | #X connect 5 0 8 0; 27 | #X connect 6 0 13 0; 28 | #X connect 6 1 1 0; 29 | #X connect 6 2 2 0; 30 | #X connect 6 3 3 0; 31 | #X connect 6 4 10 0; 32 | #X connect 7 0 4 0; 33 | #X connect 8 0 9 0; 34 | #X connect 9 0 12 0; 35 | #X connect 9 1 4 0; 36 | #X connect 10 0 11 0; 37 | #X connect 12 0 11 0; 38 | #X connect 14 0 5 0; 39 | #X connect 14 1 7 0; 40 | #X restore 212 90 pd set; 41 | #X text 215 151 Part of ELSE \; https://github.com/porres/pd-else; 42 | #X text 217 132 Alexandre Torres Porres (2019); 43 | #N canvas 471 90 436 537 gain 0; 44 | #X obj 138 30 inlet~; 45 | #X obj 102 481 outlet~; 46 | #X obj 102 451 *~; 47 | #X obj 77 29 inlet~; 48 | #X text 140 449 gain = (threshold - level) * ratio; 49 | #X obj 187 320 r \$0-release; 50 | #X obj 187 345 r \$0-attack; 51 | #X obj 120 236 -~; 52 | #X obj 162 281 f2s~ 10; 53 | #X obj 162 256 max 1; 54 | #X obj 154 171 f2s~ 10; 55 | #X obj 154 147 r \$0-thresh; 56 | #X obj 162 230 r \$0-ratio; 57 | #X obj 120 281 *~; 58 | #X obj 120 322 min~ 0; 59 | #X obj 120 399 db2lin~; 60 | #X obj 138 76 abs~; 61 | #X obj 138 102 lin2db~; 62 | #X text 189 29 control; 63 | #X text 50 28 in; 64 | #X obj 120 369 lag2~; 65 | #X connect 0 0 16 0; 66 | #X connect 2 0 1 0; 67 | #X connect 3 0 2 0; 68 | #X connect 5 0 20 1; 69 | #X connect 6 0 20 2; 70 | #X connect 7 0 13 0; 71 | #X connect 8 0 13 1; 72 | #X connect 9 0 8 0; 73 | #X connect 10 0 7 0; 74 | #X connect 11 0 10 0; 75 | #X connect 12 0 9 0; 76 | #X connect 13 0 14 0; 77 | #X connect 14 0 20 0; 78 | #X connect 15 0 2 1; 79 | #X connect 16 0 17 0; 80 | #X connect 17 0 7 1; 81 | #X connect 20 0 15 0; 82 | #X restore 95 127 pd gain; 83 | #N canvas 987 562 404 221 mix~ 0; 84 | #X obj 44 37 inlet~; 85 | #X obj 44 110 outlet~; 86 | #X obj 265 36 inlet~; 87 | #X obj 44 72 expr~ if(mix_\$0 \, $v1 + $v2 \, $v1); 88 | #X connect 0 0 3 0; 89 | #X connect 2 0 3 1; 90 | #X connect 3 0 1 0; 91 | #X restore 139 169 pd mix~; 92 | #X text 184 26 control; 93 | #X text 93 26 in; 94 | #X obj 95 48 inlet~ fwd; 95 | #X obj 299 67 declare -path else; 96 | #X connect 0 0 6 1; 97 | #X connect 0 0 5 1; 98 | #X connect 5 0 6 0; 99 | #X connect 6 0 1 0; 100 | #X connect 9 0 5 0; 101 | #X connect 9 1 2 0; 102 | -------------------------------------------------------------------------------- /modules/else/note2pitch.pd: -------------------------------------------------------------------------------- 1 | #N canvas 450 48 661 780 10; 2 | #X obj 246 230 list fromsymbol; 3 | #X obj 274 456 list tosymbol; 4 | #X obj 274 481 f; 5 | #X obj 178 481 list tosymbol; 6 | #X obj 303 258 list length; 7 | #X obj 246 273 t l l; 8 | #X obj 246 307 list split; 9 | #X obj 303 283 - 1; 10 | #X obj 437 513 text define -k \$0-notes; 11 | #A set Cb -1 \; C♭ -1 \; C 0 \; Dbb 0 \; C# 1 \; C♯ 1 \; Db 1 \; 12 | D♭ 1 \; Cx 2 \; D 2 \; Ebb 2 \; D# 3 \; D♯ 3 \; Eb 3 \; E♭ 3 13 | \; Dx 4 \; E 4 \; Fb 4 \; F♭ 4 \; E# 5 \; E♯ 5 \; F 5 \; Gbb 5 14 | \; F# 6 \; F♯ 6 \; Gb 6 \; G♭ 6 \; Fx 5 \; G 7 \; G# 8 \; G♯ 15 | 8 \; Ab 8 \; A♭ 8 \; Gx 9 \; A 9 \; Bbb 9 \; A# 10 \; A♯ 10 \; 16 | Bb 10 \; B♭ 10 \; Ax 11 \; B 11 \; B# 12 \; B♯ 12 \;; 17 | #X obj 178 516 text search \$0-notes, f 11; 18 | #X obj 178 550 text get \$0-notes 1, f 10; 19 | #X obj 274 515 + 1; 20 | #X obj 274 539 * 12; 21 | #X obj 259 614 +; 22 | #X obj 81 703 outlet; 23 | #X obj 81 56 inlet; 24 | #X text 407 452 Part of ELSE \; https://github.com/porres/pd-else; 25 | #X obj 81 131 route float; 26 | #X obj 246 121 list; 27 | #X obj 307 388 expr $f1 >= 48 && $f1 <= 56; 28 | #X obj 274 424 spigot; 29 | #X obj 274 364 t f f; 30 | #X obj 178 454 spigot; 31 | #X text 409 433 Alexandre Torres Porres (2021); 32 | #X obj 246 148 router; 33 | #X obj 397 250 list split 2, f 21; 34 | #X obj 437 273 list; 35 | #X obj 397 294 t b l; 36 | #X obj 309 120 r \$0-mode; 37 | #X obj 370 209 t b l; 38 | #X obj 219 172 t b l; 39 | #X obj 246 203 iterate; 40 | #N canvas 390 38 403 313 init 0; 41 | #X obj 102 89 args; 42 | #X obj 159 150 sel -list; 43 | #X msg 159 181 1; 44 | #X msg 231 150 0; 45 | #X obj 231 229 s \$0-mode; 46 | #X obj 102 58 loadbanger 2, f 22; 47 | #X obj 102 120 route bang; 48 | #X connect 0 0 6 0; 49 | #X connect 1 0 2 0; 50 | #X connect 2 0 4 0; 51 | #X connect 3 0 4 0; 52 | #X connect 5 0 0 0; 53 | #X connect 5 1 3 0; 54 | #X connect 6 1 1 0; 55 | #X restore 436 164 pd init; 56 | #X obj 259 647 group; 57 | #X obj 132 372 unpack s f, f 17; 58 | #X connect 0 0 5 0; 59 | #X connect 1 0 2 0; 60 | #X connect 2 0 11 0; 61 | #X connect 3 0 9 0; 62 | #X connect 4 0 7 0; 63 | #X connect 5 0 6 0; 64 | #X connect 5 1 4 0; 65 | #X connect 6 0 22 0; 66 | #X connect 6 1 21 0; 67 | #X connect 7 0 6 1; 68 | #X connect 9 0 10 0; 69 | #X connect 10 0 13 0; 70 | #X connect 11 0 12 0; 71 | #X connect 12 0 13 1; 72 | #X connect 13 0 33 0; 73 | #X connect 15 0 17 0; 74 | #X connect 17 0 14 0; 75 | #X connect 17 1 18 0; 76 | #X connect 18 0 24 0; 77 | #X connect 19 0 20 1; 78 | #X connect 19 0 22 1; 79 | #X connect 20 0 1 0; 80 | #X connect 21 0 20 0; 81 | #X connect 21 1 19 0; 82 | #X connect 22 0 3 0; 83 | #X connect 24 0 30 0; 84 | #X connect 24 1 29 0; 85 | #X connect 25 0 27 0; 86 | #X connect 25 1 26 1; 87 | #X connect 26 0 25 0; 88 | #X connect 27 0 26 0; 89 | #X connect 27 1 34 0; 90 | #X connect 28 0 24 1; 91 | #X connect 29 0 33 0; 92 | #X connect 29 1 25 0; 93 | #X connect 30 0 33 0; 94 | #X connect 30 1 31 0; 95 | #X connect 31 0 0 0; 96 | #X connect 33 0 14 0; 97 | #X connect 34 0 9 0; 98 | #X connect 34 1 11 0; 99 | -------------------------------------------------------------------------------- /modules/else/autotune2.pd: -------------------------------------------------------------------------------- 1 | #N canvas 648 166 629 570 12; 2 | #X declare -path else; 3 | #X obj 390 291 array define \$0-scale; 4 | #X obj 349 245 array max \$0-scale; 5 | #X obj 349 158 t b l l; 6 | #X obj 372 212 array set \$0-scale; 7 | #X obj 423 157 list length; 8 | #X obj 423 181 array size \$0-scale; 9 | #X obj 47 35 inlet; 10 | #X obj 172 266 v i_\$0; 11 | #X obj 172 294 tabread \$0-scale, f 8; 12 | #X obj 172 367 -; 13 | #X obj 149 401 +; 14 | #X obj 149 229 t f b f; 15 | #N canvas 1042 459 424 442 find-index 0; 16 | #X obj 135 35 inlet; 17 | #X obj 196 134 array get \$0-scale, f 9; 18 | #X msg 181 263 1e+20; 19 | #X obj 187 292 f; 20 | #X obj 140 292 min; 21 | #X obj 140 326 change; 22 | #X obj 140 361 t f b; 23 | #X obj 210 326 f; 24 | #X obj 196 208 t f b; 25 | #X obj 210 361 v i_\$0; 26 | #X obj 140 239 -; 27 | #X obj 140 263 abs; 28 | #X obj 135 71 t b f b; 29 | #X msg 298 129 reset; 30 | #X msg 77 258 set -1; 31 | #X obj 196 181 iterate; 32 | #X obj 298 244 count; 33 | #X connect 0 0 12 0; 34 | #X connect 1 0 15 0; 35 | #X connect 2 0 4 1; 36 | #X connect 3 0 4 1; 37 | #X connect 4 0 5 0; 38 | #X connect 5 0 6 0; 39 | #X connect 6 0 3 0; 40 | #X connect 6 1 7 0; 41 | #X connect 7 0 9 0; 42 | #X connect 8 0 10 0; 43 | #X connect 8 1 16 0; 44 | #X connect 10 0 11 0; 45 | #X connect 11 0 4 0; 46 | #X connect 12 0 1 0; 47 | #X connect 12 1 10 1; 48 | #X connect 12 2 13 0; 49 | #X connect 12 2 2 0; 50 | #X connect 12 2 14 0; 51 | #X connect 13 0 16 0; 52 | #X connect 14 0 5 0; 53 | #X connect 15 0 8 0; 54 | #X connect 16 0 7 1; 55 | #X restore 269 323 pd find-index; 56 | #X obj 349 35 inlet; 57 | #N canvas 999 363 434 315 init 0; 58 | #X obj 190 255 outlet; 59 | #X msg 190 166 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 60 | , f 26; 61 | #X obj 60 100 pdcontrol; 62 | #X msg 60 68 args; 63 | #X obj 60 167 route bang list; 64 | #X obj 60 37 lb -init 2, f 19; 65 | #X obj 60 131 break -; 66 | #X connect 1 0 0 0; 67 | #X connect 2 0 6 0; 68 | #X connect 3 0 2 0; 69 | #X connect 4 1 0 0; 70 | #X connect 5 0 3 0; 71 | #X connect 5 1 1 0; 72 | #X connect 6 0 4 0; 73 | #X restore 367 118 pd init; 74 | #X obj 149 515 outlet; 75 | #X text 278 401 Part of ELSE \; https://github.com/porres/pd-else; 76 | #X text 280 382 Alexandre Torres Porres (2020); 77 | #X obj 47 73 route float bypass; 78 | #X obj 114 137 == 0; 79 | #X obj 47 177 router 2 1; 80 | #X obj 269 286 wrap2 0 1200; 81 | #X obj 311 455 declare -path else; 82 | #X connect 1 0 21 2; 83 | #X connect 2 0 1 0; 84 | #X connect 2 1 3 0; 85 | #X connect 2 2 4 0; 86 | #X connect 4 0 5 0; 87 | #X connect 6 0 18 0; 88 | #X connect 7 0 8 0; 89 | #X connect 8 0 9 0; 90 | #X connect 9 0 10 1; 91 | #X connect 10 0 15 0; 92 | #X connect 11 0 10 0; 93 | #X connect 11 1 7 0; 94 | #X connect 11 2 21 0; 95 | #X connect 13 0 2 0; 96 | #X connect 14 0 2 0; 97 | #X connect 18 0 20 0; 98 | #X connect 18 1 19 0; 99 | #X connect 19 0 20 1; 100 | #X connect 20 0 15 0; 101 | #X connect 20 1 11 0; 102 | #X connect 21 0 9 1; 103 | #X connect 21 0 12 0; 104 | -------------------------------------------------------------------------------- /modules/cc_in_handler.pd: -------------------------------------------------------------------------------- 1 | #N canvas 827 239 527 327 12; 2 | #X obj 43 138 ctlin; 3 | #X obj 43 225 pack f f; 4 | #X obj 44 440 / 127; 5 | #X obj 44 532 s global_volume-r; 6 | #X obj 64 186 t b f; 7 | #X text 43 35 Handles MIDI control messages. Responsible for updating both PlugData and Camomile interfaces.; 8 | #X obj 222 440 / 127; 9 | #X obj 222 488 s global_pan-r; 10 | #X obj 43 647 bendin; 11 | #X obj 43 711 - 8192; 12 | #X obj 43 805 t b f; 13 | #X obj 43 872 pow; 14 | #X obj 29 841 2; 15 | #X obj 43 769 / 6; 16 | #X obj 43 740 / 8192; 17 | #X obj 43 1017 s pitch_bend; 18 | #X obj 174 841 loadbang; 19 | #X obj 174 872 1; 20 | #X obj 44 469 * 56; 21 | #X obj 44 498 - 50; 22 | #X obj 44 404 pipe 0; 23 | #X obj 43 682 pipe 0; 24 | #X obj 112 647 r midi_delay_ms; 25 | #X obj 222 404 pipe 0, f 7; 26 | #X obj 212 278 r midi_delay_ms, f 15; 27 | #X obj 399 440 / 127; 28 | #X obj 399 404 pipe 0, f 7; 29 | #X obj 399 653 s main_time_stretch-r; 30 | #X obj 588 440 / 127; 31 | #X obj 588 404 pipe 0, f 7; 32 | #X obj 588 469 * 24; 33 | #X obj 588 498 - 12; 34 | #X obj 588 543 s granular_formant_shift-r; 35 | #X obj 613 570 s wavetable_formant_shift-r; 36 | #X text 43 92 Supported CC: 7 - Volume \, 10 - Pan \, 1 - Modulation \, 11 - Expression \, 5 - Portamento Time; 37 | #X obj 44 344 route 7 10 1 11 5, f 98; 38 | #X obj 817 440 / 127; 39 | #X obj 817 404 pipe 0, f 7; 40 | #X obj 817 469 * 3000; 41 | #X obj 817 527 s portamento-r; 42 | #X obj 399 469 * 4; 43 | #X obj 399 498 - 2; 44 | #X obj 399 591 pow 0; 45 | #X obj 399 527 t b f; 46 | #X obj 399 560 2; 47 | #X obj 399 620 * 100; 48 | #X obj 167 225 r cc_input_enabled; 49 | #X obj 43 290 spigot; 50 | #X connect 0 0 4 0; 51 | #X connect 0 1 1 0; 52 | #X connect 1 0 47 0; 53 | #X connect 2 0 18 0; 54 | #X connect 4 0 1 0; 55 | #X connect 4 1 1 1; 56 | #X connect 6 0 7 0; 57 | #X connect 8 0 21 0; 58 | #X connect 9 0 14 0; 59 | #X connect 10 0 12 0; 60 | #X connect 10 1 11 1; 61 | #X connect 11 0 15 0; 62 | #X connect 12 0 11 0; 63 | #X connect 13 0 10 0; 64 | #X connect 14 0 13 0; 65 | #X connect 16 0 17 0; 66 | #X connect 17 0 15 0; 67 | #X connect 18 0 19 0; 68 | #X connect 19 0 3 0; 69 | #X connect 20 0 2 0; 70 | #X connect 21 0 9 0; 71 | #X connect 22 0 21 1; 72 | #X connect 23 0 6 0; 73 | #X connect 24 0 23 1; 74 | #X connect 24 0 20 1; 75 | #X connect 24 0 26 1; 76 | #X connect 24 0 29 1; 77 | #X connect 24 0 37 1; 78 | #X connect 25 0 40 0; 79 | #X connect 26 0 25 0; 80 | #X connect 28 0 30 0; 81 | #X connect 29 0 28 0; 82 | #X connect 30 0 31 0; 83 | #X connect 31 0 32 0; 84 | #X connect 31 0 33 0; 85 | #X connect 35 0 20 0; 86 | #X connect 35 1 23 0; 87 | #X connect 35 2 26 0; 88 | #X connect 35 3 29 0; 89 | #X connect 35 4 37 0; 90 | #X connect 36 0 38 0; 91 | #X connect 37 0 36 0; 92 | #X connect 38 0 39 0; 93 | #X connect 40 0 41 0; 94 | #X connect 41 0 43 0; 95 | #X connect 42 0 45 0; 96 | #X connect 43 0 44 0; 97 | #X connect 43 1 42 1; 98 | #X connect 44 0 42 0; 99 | #X connect 45 0 27 0; 100 | #X connect 46 0 47 1; 101 | #X connect 47 0 35 0; 102 | -------------------------------------------------------------------------------- /modules/else/presets-abs.pd: -------------------------------------------------------------------------------- 1 | #N canvas 582 285 655 326 10; 2 | #X obj 55 72 r \$0-A; 3 | #X obj 111 71 r \$0-B; 4 | #X obj 165 71 r \$0-C; 5 | #X obj 87 282 outlet~; 6 | #X obj 322 190 savestate; 7 | #X msg 382 220 export; 8 | #X obj 223 121 hradio 17 1 0 4 empty \$0-radio Load\ preset 2 -10 0 9 | 10 -174763 -1 -1 3; 10 | #N canvas 356 221 694 431 shift 0; 11 | #X msg 137 214 save; 12 | #X msg 218 214 load; 13 | #X obj 106 264 insert; 14 | #X obj 218 293 s \$0-radio; 15 | #X obj 175 95 keyname; 16 | #X obj 214 117 select Shift_L; 17 | #X msg 214 139 1; 18 | #X msg 295 138 0; 19 | #X obj 199 166 &&; 20 | #X obj 199 188 sel 1 0; 21 | #X obj 106 35 inlet; 22 | #X obj 106 344 outlet; 23 | #X msg 218 242 color #aaaaaa #000000 #000000 \, label Load\ preset 24 | ; 25 | #X msg 227 270 color #ff5050 #000000 #000000 \, label Save\ preset 26 | ; 27 | #X connect 0 0 2 1; 28 | #X connect 0 0 13 0; 29 | #X connect 1 0 2 1; 30 | #X connect 1 0 12 0; 31 | #X connect 2 0 11 0; 32 | #X connect 4 0 8 0; 33 | #X connect 4 1 5 0; 34 | #X connect 5 0 6 0; 35 | #X connect 5 1 7 0; 36 | #X connect 6 0 8 1; 37 | #X connect 7 0 8 1; 38 | #X connect 8 0 9 0; 39 | #X connect 9 0 0 0; 40 | #X connect 9 1 1 0; 41 | #X connect 10 0 2 0; 42 | #X connect 12 0 3 0; 43 | #X connect 13 0 3 0; 44 | #X restore 223 175 pd shift; 45 | #X obj 55 123 nbx 4 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 11 46 | -228856 -1 -1 0 256; 47 | #X obj 111 123 nbx 4 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 11 48 | -228856 -1 -1 0 256; 49 | #X obj 165 123 nbx 4 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 11 50 | -228856 -1 -1 0 256; 51 | #X obj 87 197 pmosc~; 52 | #X text 170 107 Index; 53 | #X text 123 107 Mod; 54 | #X text 55 107 Carrier; 55 | #X obj 382 250 presets \\\$0-A \\\$0-B \\\$0-C; 56 | #A saved -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- 57 | \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; 58 | -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- 59 | \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; 60 | -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- 61 | \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; 62 | -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- 63 | \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; 64 | -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- 65 | \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; -empty- \; 66 | ; 67 | #X text 339 69 Just connect [savestate] and [presets] as below. It'll 68 | export the contents as a list and load them. Since this uses [savestate] 69 | \, the presets are saved when the parent patch gets saved and are also 70 | stored with the parent patch., f 41; 71 | #X text 156 12 This is an abstraction used as an example for the [presets] 72 | object documentation., f 41; 73 | #X connect 0 0 8 0; 74 | #X connect 1 0 9 0; 75 | #X connect 2 0 10 0; 76 | #X connect 4 0 15 0; 77 | #X connect 4 1 5 0; 78 | #X connect 5 0 15 0; 79 | #X connect 6 0 7 0; 80 | #X connect 7 0 15 0; 81 | #X connect 8 0 11 0; 82 | #X connect 9 0 11 1; 83 | #X connect 10 0 11 2; 84 | #X connect 11 0 3 0; 85 | #X connect 15 0 4 0; 86 | #X coords 0 -1 1 1 250 44 2 50 100; 87 | --------------------------------------------------------------------------------