#N canvas 23 9 968 641 10;
#X text 54 77 argument/right inlet: value;
#X obj 58 27 cnv 15 15 15 empty empty vasp.offset= 0 10 1 14 -262144
-1 0;
#X text 68 587 abbreviation;
#X obj 75 272 prepend set;
#N canvas 0 0 450 300 graph1 0;
#X array bufsoffs1 1000 float 0;
#X coords 0 1 999 -1 300 100 1;
#X restore 551 88 graph;
#N canvas 466 356 391 255 init 0;
#X obj 33 19 loadbang;
#X msg 33 45 symbol bufsoffs1;
#X msg 151 45 symbol bufsoffs2;
#X msg 33 71 \; \$1 xticks 0 100 10 \; \$1 xlabel 1.1 0 200 300 500
700 800 1000 \; \$1 yticks 0 0.25 2 \; \$1 ylabel 1100 -1 -0.5 0 0.5
1;
#X connect 0 0 1 0;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 2 0 3 0;
#X restore 802 556 pd init;
#N canvas 0 0 450 300 graph1 0;
#X array bufsoffs2 1000 float 0;
#X coords 0 1 999 -1 300 100 1;
#X restore 551 207 graph;
#X obj 64 177 vasp.u;
#X msg 63 130 vasp bufsoffs1;
#X msg 64 221 vasp bufsoffs1;
#X msg 75 293 vasp 701 bufsoffs1 299 0;
#X obj 64 367 vasp.noise;
#X obj 64 388 vasp.u;
#X obj 159 591 vasp.o=;
#X obj 259 592 VASP-HELP;
#X text 54 95 right outlet: relative offset position in frames;
#X text 201 128 1 generate a ramp;
#X text 199 220 2 generate noise \, and start at the point \,;
#X obj 64 325 vasp.o?;
#X msg 64 346 vasp bufsoffs2 \$1;
#X text 54 59 search for a value set it as offset;
#X floatatom 161 271 5 0 0 0 - - -;
#X obj 170 130 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
-1;
#X obj 170 221 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
-1;
#N canvas 0 0 261 214 clear_buffer 0;
#X obj 49 73 vasp.= 0;
#X obj 49 49 inlet;
#X obj 49 97 vasp.u;
#X obj 49 118 bng 15 250 50 0 \$0-draw_display empty empty 0 -6 1152
8 -262144 -1 -1;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X restore 633 556 pd clear_buffer;
#X msg 633 535 vasp bufsoffs2;
#X text 653 515 clear second buffer;
#X obj 633 516 bng 15 250 50 0 empty \$0-clear empty 0 -6 576 8 -262144
-1 -1;
#X obj 147 445 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
-1;
#X obj 64 151 vasp.= env -1 0 1 500 -1 1000;
#X obj 102 496 t a b;
#X obj 127 517 bng 15 250 50 0 \$0-clear empty empty 0 -6 1152 8 -262144
-1 -1;
#X text 145 517 (clear);
#X obj 612 391 cnv 15 15 15 empty empty --> 0 10 0 14 -262144 -24198
0;
#X text 214 232 where the ramp is at 0.2;
#X obj 64 242 vasp.offset= 0.2;
#X text 174 444 3 start searching at frame 501;
#X msg 102 475 vasp bufsoffs1 501;
#X text 133 419 the search always starts at the offset point;
#N canvas 80 75 454 317 incl 0;
#X obj 168 260 vasp.noise;
#X obj 168 281 vasp.u;
#X msg 168 239 vasp bufsoffs2 \$1;
#X obj 168 214 vasp.o?;
#X obj 170 135 t a b;
#X obj 195 161 bng 15 250 50 0 \$0-clear empty empty 0 -6 1152 8 -262144
-1 -1;
#X text 213 161 (clear);
#X floatatom 261 211 5 0 0 0 - - -;
#X text 24 17 include current sample;
#X msg 170 61 vasp bufsoffs1;
#X obj 170 185 vasp.offset= 0.5;
#X obj 170 109 vasp.u;
#X obj 170 86 vasp.= env 0.5 500 -0.5 700;
#X msg 68 93 incl 0;
#X msg 68 143 incl 1;
#X text 21 73 don't include (default);
#X text 20 126 do include;
#X text 21 188 query;
#X msg 68 189 getincl;
#X obj 300 210 prepend set;
#X msg 301 231;
#X connect 0 0 1 0;
#X connect 2 0 0 0;
#X connect 3 0 2 0;
#X connect 4 0 10 0;
#X connect 4 1 5 0;
#X connect 9 0 12 0;
#X connect 10 0 3 0;
#X connect 10 1 7 0;
#X connect 10 2 19 0;
#X connect 11 0 4 0;
#X connect 12 0 11 0;
#X connect 13 0 10 0;
#X connect 14 0 10 0;
#X connect 18 0 10 0;
#X connect 19 0 20 0;
#X restore 660 421 pd incl;
#X obj 612 423 cnv 15 15 15 empty empty --> 0 10 0 14 -262144 -24198
0;
#N canvas 77 60 447 584 dir_and_slope 0;
#X text 46 56 forward;
#X text 48 154 backward;
#X text 31 22 search direction;
#X text 56 371 both;
#X text 26 403 negative;
#X text 56 339 positive;
#X text 26 316 target slope;
#X text 46 99 both (nearest);
#X obj 183 210 vasp.noise;
#X obj 183 231 vasp.u;
#X msg 183 189 vasp bufsoffs2 \$1;
#X msg 110 156 dir -1;
#X msg 111 121 dir 0;
#X msg 110 59 dir 1;
#X obj 183 164 vasp.o?;
#X obj 185 90 t a b;
#X obj 210 111 bng 15 250 50 0 \$0-clear empty empty 0 -6 1152 8 -262144
-1 -1;
#X text 228 111 (clear);
#X obj 185 135 vasp.offset= 0.1;
#X msg 185 71 vasp bufsoffs1 500;
#X floatatom 276 161 5 0 0 0 - - -;
#X msg 124 338 slope 1;
#X msg 108 369 slope 0;
#X msg 95 401 slope -1;
#X obj 237 486 vasp.noise;
#X obj 237 507 vasp.u;
#X msg 237 465 vasp bufsoffs2 \$1;
#X obj 237 440 vasp.o?;
#X obj 237 357 t a b;
#X obj 262 378 bng 15 250 50 0 \$0-clear empty empty 0 -6 1152 8 -262144
-1 -1;
#X text 280 378 (clear);
#X obj 237 402 vasp.offset= 0.1;
#X floatatom 308 430 5 0 0 0 - - -;
#X text 27 292 find values with positive and/or negative slope;
#X msg 237 338 vasp bufsoffs1;
#X text 47 197 query;
#X msg 104 197 getdir;
#X text 50 434 query;
#X msg 109 437 getslope;
#X obj 315 158 prepend set;
#X msg 314 180;
#X obj 315 158 prepend set;
#X msg 314 180;
#X obj 354 431 prepend set;
#X msg 355 452;
#X connect 8 0 9 0;
#X connect 10 0 8 0;
#X connect 11 0 18 0;
#X connect 12 0 18 0;
#X connect 13 0 18 0;
#X connect 14 0 10 0;
#X connect 15 0 18 0;
#X connect 15 1 16 0;
#X connect 18 0 14 0;
#X connect 18 1 20 0;
#X connect 18 2 39 0;
#X connect 19 0 15 0;
#X connect 21 0 31 0;
#X connect 22 0 31 0;
#X connect 23 0 31 0;
#X connect 24 0 25 0;
#X connect 26 0 24 0;
#X connect 27 0 26 0;
#X connect 28 0 31 0;
#X connect 28 1 29 0;
#X connect 31 0 27 0;
#X connect 31 1 32 0;
#X connect 31 2 43 0;
#X connect 34 0 28 0;
#X connect 36 0 18 0;
#X connect 38 0 31 0;
#X connect 39 0 40 0;
#X connect 41 0 42 0;
#X connect 43 0 44 0;
#X restore 660 394 pd dir_and_slope;
#X text 614 375 3 more features!;
#X connect 3 0 10 0;
#X connect 8 0 29 0;
#X connect 9 0 35 0;
#X connect 11 0 12 0;
#X connect 18 0 19 0;
#X connect 19 0 11 0;
#X connect 22 0 8 0;
#X connect 23 0 9 0;
#X connect 25 0 24 0;
#X connect 27 0 25 0;
#X connect 28 0 37 0;
#X connect 29 0 7 0;
#X connect 30 0 35 0;
#X connect 30 1 31 0;
#X connect 35 0 18 0;
#X connect 35 0 3 0;
#X connect 35 1 21 0;
#X connect 37 0 30 0;