Skip to content

Commit

Permalink
gaterelease/gaterelease~
Browse files Browse the repository at this point in the history
  • Loading branch information
porres committed Jan 13, 2025
1 parent f095f45 commit 04addf9
Show file tree
Hide file tree
Showing 6 changed files with 159 additions and 7 deletions.
23 changes: 23 additions & 0 deletions Abstractions/Audio/gaterelease~.pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#N canvas 513 211 668 292 10;
#X obj 103 39 inlet~;
#X obj 88 239 outlet~;
#X text 431 146 Part of ELSE \; https://github.com/porres/pd-else;
#X obj 379 35 inlet;
#X obj 88 203 *~;
#X obj 117 89 abs~;
#X obj 33 172 else/sh~;
#X obj 268 138 else/timed.gate~ \$1;
#X obj 268 96 else/gate2imp~;
#X obj 103 171 expr~ ($v1 != 0 && $v2 != 0);
#X text 433 127 Alexandre Torres Porres (2025);
#X connect 0 0 5 0;
#X connect 0 0 6 0;
#X connect 0 0 8 0;
#X connect 0 0 9 0;
#X connect 3 0 7 1;
#X connect 4 0 1 0;
#X connect 5 0 6 1;
#X connect 6 0 4 0;
#X connect 7 0 9 1;
#X connect 8 0 7 0;
#X connect 9 0 4 1;
39 changes: 39 additions & 0 deletions Abstractions/Control/gaterelease.pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#N canvas 502 118 702 542 12;
#X msg 328 392 0;
#X obj 145 163 t f f;
#X obj 177 250 sel 1;
#X msg 177 276 stop;
#X obj 145 129 trigger float float;
#X obj 369 45 inlet;
#X obj 71 45 inlet;
#X obj 201 472 outlet;
#X obj 330 333 del \$1;
#X obj 177 208 expr ($f1 == 0) && ($f2 != 0), f 15;
#X text 415 261 Part of ELSE \; https://github.com/porres/pd-else;
#X text 417 241 Alexandre Torres Porres (2025);
#X obj 330 301 b;
#X obj 298 172 sel 0;
#X obj 328 416 else/changed, f 16;
#X obj 71 90 else/router;
#X obj 369 90 > 0;
#X connect 0 0 14 0;
#X connect 1 0 9 1;
#X connect 1 1 9 0;
#X connect 2 0 3 0;
#X connect 3 0 8 0;
#X connect 4 0 1 0;
#X connect 4 1 13 0;
#X connect 5 0 16 0;
#X connect 6 0 15 0;
#X connect 8 0 0 0;
#X connect 9 0 2 0;
#X connect 12 0 8 0;
#X connect 13 0 0 0;
#X connect 13 0 14 1;
#X connect 13 1 12 0;
#X connect 13 1 7 0;
#X connect 14 0 7 0;
#X connect 15 0 7 0;
#X connect 15 1 4 0;
#X connect 16 0 8 1;
#X connect 16 0 15 1;
1 change: 1 addition & 0 deletions Documentation/Help-files/gatehold-help.pd
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
#X obj 205 241 else/display;
#X text 42 199 see also;
#X obj 44 224 else/gatehold~;
#X obj 44 249 else/gaterelease;
#X connect 24 0 33 1;
#X connect 31 0 32 0;
#X connect 32 0 33 0;
Expand Down
15 changes: 8 additions & 7 deletions Documentation/Help-files/gatehold~-help.pd
Original file line number Diff line number Diff line change
Expand Up @@ -158,15 +158,16 @@
#X text 468 183 hold time;
#X obj 306 146 else/randpulse~ 0.5 0.25;
#X text 70 88 [gatehold~] holds a gate value for a certain amount of time (specified in ms) after the gate has closed. If a new gate starts before the hold time is finished \, the object is retriggered.;
#X obj 148 212 else/gatehold~ 500;
#X obj 148 164 else/imp~ 1;
#X obj 148 188 *~;
#X obj 183 188 noise~;
#X obj 158 212 else/gatehold~ 500;
#X obj 158 164 else/imp~ 1;
#X obj 158 188 *~;
#X obj 193 188 noise~;
#X obj 306 239 else/numbox~ 6 12 100 #c0c0c4 #440008 10 0 0 0;
#X obj 148 239 else/numbox~ 6 12 100 #c0c0c4 #440008 10 0 0 0;
#X obj 158 239 else/numbox~ 6 12 100 #c0c0c4 #440008 10 0 0 0;
#X obj 306 173 else/numbox~ 6 12 100 #c0c0c4 #440008 10 0 0 0;
#X text 23 204 see also;
#X obj 23 228 else/gatehold;
#X text 17 204 see also;
#X obj 17 228 else/gatehold;
#X obj 17 250 else/gaterelease~;
#X connect 28 0 38 0;
#X connect 29 0 28 1;
#X connect 32 0 40 0;
Expand Down
44 changes: 44 additions & 0 deletions Documentation/Help-files/gaterelease-help.pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#N canvas 471 61 567 440 10;
#X obj 6 283 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 6 341 cnv 3 550 3 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 6 373 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000 0;
#X obj 118 349 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 6 409 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020 0;
#X obj 118 291 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 118 317 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 25 40 cnv 4 4 4 empty empty Release\ gate\ values 0 28 2 18 #e0e0e0 #000000 0;
#X obj 5 3 cnv 15 301 42 empty empty gaterelease 20 20 2 37 #e0e0e0 #000000 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 302 42 1 0 0;
#X restore 4 3 graph;
#X obj 307 4 cnv 15 250 40 empty empty empty 12 13 0 18 #7c7c7c #e0e4dc 0;
#N canvas 382 141 749 319 (subpatch) 0;
#X coords 0 -1 1 1 252 42 2 100 100;
#X restore 306 3 pd;
#X obj 347 11 cnv 10 10 10 empty empty ELSE 0 15 2 30 #7c7c7c #e0e4dc 0;
#X obj 460 11 cnv 10 10 10 empty empty EL 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 480 11 cnv 10 10 10 empty empty Locus 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 517 11 cnv 10 10 10 empty empty Solus' 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 466 26 cnv 10 10 10 empty empty ELSE 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 504 26 cnv 10 10 10 empty empty library 0 6 2 13 #7c7c7c #e0e4dc 0;
#X text 224 318 - hold time in ms;
#X obj 332 200 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X text 184 318 float;
#X text 184 291 float;
#X text 224 291 - gate value;
#X text 184 350 float;
#X floatatom 215 195 12 0 0 0 - - - 0;
#X obj 215 254 else/display;
#X text 42 199 see also;
#X obj 215 163 else/randpulse 0.5;
#X text 139 382 1) float - release time in ms (default 0 \, no release time);
#X text 389 200 release time;
#X obj 215 224 else/gaterelease 250;
#X text 66 86 [gaterelease] allows you to release one gate in your patch while you still hold another. [gaterelease] releases a gate value after a given amount of time (specified in ms) after the gate has opened. If the gate is closed before the release time \, the object is reset. If the release time is 0 or less \, the object is bypassed., f 75;
#X obj 44 244 else/gatehold;
#X obj 44 220 else/gaterelease~;
#X text 224 350 - released gate;
#X connect 19 0 30 1;
#X connect 24 0 30 0;
#X connect 27 0 24 0;
#X connect 30 0 25 0;
44 changes: 44 additions & 0 deletions Documentation/Help-files/gaterelease~-help.pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#N canvas 471 61 563 432 10;
#X obj 6 283 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 6 341 cnv 3 550 3 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 6 373 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000 0;
#X obj 118 349 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 6 409 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020 0;
#X obj 118 291 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 118 317 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 25 40 cnv 4 4 4 empty empty Release\ gate\ values 0 28 2 18 #e0e0e0 #000000 0;
#X obj 5 3 cnv 15 301 42 empty empty gaterelease~ 20 20 2 37 #e0e0e0 #000000 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 302 42 1 0 0;
#X restore 4 3 graph;
#X obj 307 4 cnv 15 250 40 empty empty empty 12 13 0 18 #7c7c7c #e0e4dc 0;
#N canvas 382 141 749 319 (subpatch) 0;
#X coords 0 -1 1 1 252 42 2 100 100;
#X restore 306 3 pd;
#X obj 347 11 cnv 10 10 10 empty empty ELSE 0 15 2 30 #7c7c7c #e0e4dc 0;
#X obj 460 11 cnv 10 10 10 empty empty EL 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 480 11 cnv 10 10 10 empty empty Locus 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 517 11 cnv 10 10 10 empty empty Solus' 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 466 26 cnv 10 10 10 empty empty ELSE 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 504 26 cnv 10 10 10 empty empty library 0 6 2 13 #7c7c7c #e0e4dc 0;
#X text 224 318 - hold time in ms;
#X obj 338 200 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X text 184 318 float;
#X text 224 291 - gate value;
#X text 42 199 see also;
#X text 139 382 1) float - release time in ms (default 0 \, no release time);
#X text 395 200 release time;
#X obj 215 224 else/gaterelease~ 250;
#X obj 215 163 else/randpulse~ 0.5;
#X obj 215 195 else/numbox~ 6 10 100 #C0C0C4 #440008 10 0 0 0;
#X obj 215 254 else/numbox~ 6 10 100 #C0C0C4 #440008 10 0 0 0;
#X obj 44 220 else/gaterelease;
#X obj 44 244 else/gatehold~;
#X text 178 291 signal;
#X text 178 350 signal;
#X text 224 350 - released gate;
#X text 66 86 [gaterelease~] allows you to release one gate in your patch while you still hold another. [gaterelease~] releases a gate value after a given amount of time (specified in ms) after the gate has opened. If the gate is closed before the release time \, the object is reset. If the release time is 0 or less \, the object is bypassed., f 75;
#X connect 19 0 25 1;
#X connect 25 0 28 0;
#X connect 26 0 27 0;
#X connect 27 0 25 0;

0 comments on commit 04addf9

Please sign in to comment.