#N canvas 445 81 518 450 12;
#X obj 36 168 clip~ -0.5 0.5;
#X obj 58 252 metro 500;
#X obj 12 16 clip~;
#X text 171 137 inlets to reset clip range;
#X floatatom 83 137 5 -1 1 0 - - - 0;
#X text 146 169 creation arguments initialize clip range;
#X text 11 412 see also:;
#X obj 91 413 clip;
#X obj 176 413 min~;
#X obj 130 413 expr~;
#X msg 153 244 \; pd dsp \$1;
#X obj 58 227 loadbang;
#N canvas 629 138 568 290 reference 0;
#X obj 8 48 cnv 5 550 5 empty empty INLETS: 8 18 0 13 #202020 #000000 0;
#X obj 8 79 cnv 1 550 1 empty empty 1st: 8 12 0 13 #9f9f9f #000000 0;
#X obj 8 166 cnv 2 550 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 8 203 cnv 2 550 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X obj 8 108 cnv 1 550 1 empty empty 2nd: 8 12 0 13 #7c7c7c #000000 0;
#X obj 8 137 cnv 1 550 1 empty empty 3rd: 8 12 0 13 #7c7c7c #000000 0;
#X text 153 112 float - set lower limit., f 49;
#X text 153 140 float - set upper limit., f 49;
#X obj 31 16 clip~;
#X obj 7 260 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 133 213 1) float - initial lower limit (default 0)., f 49;
#X text 133 232 2) float - initial upper limit (default 0)., f 49;
#X text 78 16 - restrict signal(s) between two limits.;
#X text 145 84 signal(s) - signal value(s) to clip., f 50;
#X text 145 176 signal(s) - the clipped signal(s)., f 49;
#X restore 350 14 pd reference;
#X text 441 13 <= click;
#X obj 4 47 cnv 1 505 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 56 15 - restrict a signal between two limits;
#X obj 36 294 tabwrite~ clip;
#X floatatom 131 138 5 -1 1 0 - - - 0;
#X text 80 114 lower;
#X text 130 114 upper;
#X obj 4 400 cnv 1 505 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 133 61 The [clip~] object passes its signal input to its output \, clipping it to lie between two limits., f 50;
#X obj 301 223 cnv 19 198 98 empty empty empty 20 12 0 12 #ffffff #404040 0;
#X obj 36 72 osc~ 500;
#X obj 153 208 set-dsp-tgl;
#X text 184 212 DSP on/off;
#N canvas 440 63 597 629 multichannel 0;
#X text 59 25 [clip~] works with multichannel signals \, where the operation is performed in all existing channels., f 41;
#X obj 72 135 snake~ in, f 10;
#X obj 72 243 snake~ out;
#X obj 171 332 snapshot~;
#X floatatom 171 371 6 0 0 0 - - - 0;
#X obj 72 332 snapshot~;
#X floatatom 72 371 6 0 0 0 - - - 0;
#X msg 347 141 \; pd dsp \$1;
#X text 379 104 DSP on/off;
#X obj 347 100 set-dsp-tgl;
#X obj 72 200 clip~ -0.5 0.5;
#X obj 72 405 vsl 19 162 -1 1 0 0 empty empty empty 0 -9 0 12 #dfdfdf #000000 #000000 0 1;
#X obj 171 405 vsl 19 162 -1 1 0 0 empty empty empty 0 -9 0 12 #dfdfdf #000000 #000000 0 1;
#X obj 72 105 osc~ 0.5;
#X obj 139 105 osc~ 0.25;
#X obj 171 265 metro 25;
#X obj 171 236 loadbang;
#X obj 319 480 min~;
#X obj 347 549 max~;
#X obj 344 444 snake~ in, f 10;
#X obj 372 513 snake~ in, f 10;
#X obj 344 414 sig~ 0;
#X obj 411 414 osc~ 0.25;
#X obj 372 483 sig~ 0.5;
#X obj 439 483 osc~ 0.75;
#X obj 319 364 snake~ in, f 10;
#X obj 319 334 osc~ 0.5;
#X obj 386 334 osc~ 0.25;
#X text 292 208 Note you can also implement [clip~] by combining [min~] and [max~]. This way you can provide signals not only to provide minimum and maximum clip values but they can also be multichannel signals., f 37;
#X connect 1 0 10 0;
#X connect 2 0 5 0;
#X connect 2 1 3 0;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 5 0 6 0;
#X connect 6 0 11 0;
#X connect 9 0 7 0;
#X connect 10 0 2 0;
#X connect 13 0 1 0;
#X connect 14 0 1 1;
#X connect 15 0 3 0;
#X connect 15 0 5 0;
#X connect 16 0 15 0;
#X connect 17 0 18 0;
#X connect 19 0 17 1;
#X connect 20 0 18 1;
#X connect 21 0 19 0;
#X connect 22 0 19 1;
#X connect 23 0 20 0;
#X connect 24 0 20 1;
#X connect 25 0 17 0;
#X connect 26 0 25 0;
#X connect 27 0 25 1;
#X restore 273 356 pd multichannel;
#X text 122 341 mutichannel signal support ----------->, f 20;
#X text 298 412 updated for Pd version 0.54;
#X obj 216 413 wrap~;
#X obj 291 222 cnv 19 198 98 empty empty empty 20 12 0 12 #e0e0e0 #404040 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X array clip 200 float 0;
#X coords 0 1 199 -1 200 100 1 0 0;
#X restore 290 222 graph;
#X connect 0 0 16 0;
#X connect 1 0 16 0;
#X connect 4 0 0 1;
#X connect 11 0 1 0;
#X connect 17 0 0 2;
#X connect 23 0 0 0;
#X connect 24 0 10 0;
