aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoão Pais <jmmmp@users.sourceforge.net>2011-06-06 14:34:34 +0000
committerJoão Pais <jmmmp@users.sourceforge.net>2011-06-06 14:34:34 +0000
commit417d2bc2866d920965e51eceac6da23c2633ad9a (patch)
tree9e00917bae3fe8f118f093adaf3f377acc0cee8e
parente48db9ff03238d1e8b4874e0dbe08c42948079f9 (diff)
svn path=/trunk/abstractions/jmmmp/; revision=15098
-rw-r--r--bezier-help.pd62
-rw-r--r--bezier.pd147
-rw-r--r--bezier~-help.pd126
-rw-r--r--bezier~.pd694
-rw-r--r--uhr.pd8
5 files changed, 931 insertions, 106 deletions
diff --git a/bezier-help.pd b/bezier-help.pd
index 97528bc..e96ad18 100644
--- a/bezier-help.pd
+++ b/bezier-help.pd
@@ -1,10 +1,10 @@
-#N struct 1026-bez-array float x float y array 1026-bez-c-arr 1026-bez-c
+#N struct 1037-bez-array float x float y array 1037-bez-c-arr 1037-bez-c
float p0x float p0y float p0x. float p0y. float p1x float p1y float
p1x. float p1y. float p2x float p2y float p2x. float p2y. float p3x
float p3y float p3x. float p3y. float rpx float rpy float rpx. float
rpy.;
-#N struct 1026-bez-c float x float y;
-#N canvas 280 17 921 908 10;
+#N struct 1037-bez-c float x float y;
+#N canvas 280 17 921 889 10;
#X floatatom 415 741 5 0 0 0 - - -;
#X obj 418 727 hsl 50 10 0 1 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 4900 0;
@@ -15,7 +15,6 @@ rpy.;
#X msg 415 687 0 \, 1 3000;
#X obj 135 504 pack;
#X obj 145 484 t b f;
-#X obj 125 820 unpack;
#X msg 228 820 p0 0.25 0.34 \, p1 0.34 0.88 \, p2 0.9 0.4 \, p3 0.85
0.73;
#X text 543 84 Arguments;
@@ -23,10 +22,10 @@ rpy.;
-1 0 1;
#X obj 148 471 hsl 50 10 0 1 0 0 empty empty Y -16 6 0 12 -228856 -1
-1 0 1;
-#X obj 128 840 hsl 50 10 0 1 0 0 empty empty X -16 6 0 12 -228856 -1
--1 4165 1;
-#X obj 128 854 hsl 50 10 0 1 0 0 empty empty Y -16 6 0 12 -228856 -1
--1 3577 1;
+#X obj 128 820 hsl 50 10 0 1 0 0 empty empty X -16 6 0 12 -228856 -1
+-1 2405 1;
+#X obj 128 834 hsl 50 10 0 1 0 0 empty empty Y -16 6 0 12 -228856 -1
+-1 4152 1;
#X text 135 297 default values;
#X text 135 337 also first and last points can take any value;
#X text 222 154 Two values define x and y coordinates;
@@ -37,14 +36,13 @@ a square ...;
#X text 172 194 size \$1 - Define array size (minimum 2 points);
#X text 240 789 Dump outlet: connect to a message box \, which you
can later copy-paste.;
-#X text 105 869 Output: list with scaled x and y values;
#X text 545 163 If no arguments are given \, the default values are
110 100 100 When no y argument is present \, a square with dimensions
of x is created.;
#X text 542 385 But \, even with the points outside of the box \, the
calculations will still work. You only loose mouse control of the graphic
handles.;
-#X obj 135 564 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+#X obj 135 564 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 125 697 bezier;
#X text 165 624 dump - Dump the coordinates of the control points through
@@ -80,7 +78,7 @@ the red boundaries. Or send pX coordinates.;
#X text 70 814 OUTPUT;
#X obj 415 761 s \$0-input;
#X obj 135 677 r \$0-input;
-#X text 320 667 Send your input values between 0 and 1 here:;
+#X text 415 667 Send your input values between 0 and 1 here:;
#X msg 125 317 p0 0 0 \, p1 0.1 0.6 \, p2 0.9 0.4 \, p3 1 1;
#X msg 125 357 p0 0.25 0.34 \, p1 0.34 0.88 \, p2 0.9 0.4 \, p3 0.85
0.73;
@@ -95,30 +93,30 @@ the box - you won't be able to grab the graphic (see bug description)
;
#X msg 125 583 readpoint \$1;
#X msg 125 624 dump;
-#X connect 0 0 51 0;
+#X text 65 849 Outputs: scaled x and y values;
+#X connect 0 0 49 0;
#X connect 1 0 0 0;
-#X connect 2 0 59 0;
-#X connect 3 0 27 0;
+#X connect 2 0 57 0;
+#X connect 3 0 25 0;
#X connect 4 0 3 0;
#X connect 5 0 1 0;
#X connect 6 0 5 0;
-#X connect 7 0 57 0;
+#X connect 7 0 55 0;
#X connect 8 0 7 0;
#X connect 8 1 7 1;
-#X connect 9 0 14 0;
-#X connect 9 1 15 0;
-#X connect 12 0 7 0;
-#X connect 13 0 8 0;
-#X connect 26 0 63 0;
-#X connect 27 0 9 0;
-#X connect 27 1 10 0;
-#X connect 52 0 27 0;
-#X connect 54 0 27 0;
-#X connect 55 0 27 0;
-#X connect 56 0 27 0;
-#X connect 57 0 27 0;
-#X connect 59 0 27 0;
-#X connect 60 0 27 0;
-#X connect 61 0 27 0;
-#X connect 63 0 27 0;
-#X connect 64 0 27 0;
+#X connect 11 0 7 0;
+#X connect 12 0 8 0;
+#X connect 24 0 61 0;
+#X connect 25 0 13 0;
+#X connect 25 1 14 0;
+#X connect 25 2 9 0;
+#X connect 50 0 25 0;
+#X connect 52 0 25 0;
+#X connect 53 0 25 0;
+#X connect 54 0 25 0;
+#X connect 55 0 25 0;
+#X connect 57 0 25 0;
+#X connect 58 0 25 0;
+#X connect 59 0 25 0;
+#X connect 61 0 25 0;
+#X connect 62 0 25 0;
diff --git a/bezier.pd b/bezier.pd
index 41bc9da..e20012c 100644
--- a/bezier.pd
+++ b/bezier.pd
@@ -136,7 +136,7 @@ a escalonar tudo? talvez nao;
#X connect 34 0 19 0;
#X connect 35 0 8 0;
#X restore 20 362 pd calculate;
-#X obj 65 182 outlet;
+#X obj 65 202 outlet;
#N canvas 161 314 333 632 index 0;
#X obj 13 292 outlet;
#X obj 208 142 r \$0-arrpoint;
@@ -146,84 +146,87 @@ a escalonar tudo? talvez nao;
#X obj 106 102 - 1;
#X obj 13 202 * 0.01;
#X obj 106 202 * 0.01;
-#X obj 13 222 pack f f;
-#X obj 136 332 unpack;
-#X obj 226 282 r \$0-arrpoint;
-#X obj 123 312 pointer;
-#X obj 123 452 t p p p p;
-#X obj 123 502 + 5;
-#X obj 153 572 + 5;
-#X obj 226 382 t p p;
-#X obj 179 372 - 2;
-#X obj 136 372 - 2;
-#X obj 123 262 pack;
-#X obj 136 352 * 1;
-#X obj 179 352 * 1;
-#X obj 123 282 t b l;
-#X text 185 256 read point;
+#X obj 156 332 unpack;
+#X obj 246 282 r \$0-arrpoint;
+#X obj 143 312 pointer;
+#X obj 143 452 t p p p p;
+#X obj 143 502 + 5;
+#X obj 173 572 + 5;
+#X obj 246 382 t p p;
+#X obj 199 372 - 2;
+#X obj 156 372 - 2;
+#X obj 143 262 pack;
+#X obj 156 352 * 1;
+#X obj 199 352 * 1;
+#X obj 143 282 t b l;
+#X text 205 256 read point;
#X obj 53 32 inlet;
#X text 94 31 update read point;
#X obj 53 52 t b b b;
#X obj 13 272 spigot 1;
-#X obj 68 252 0;
-#X obj 38 252 1;
+#X obj 88 242 0;
+#X obj 58 242 1;
#X obj 13 102 f;
#X obj 106 82 getsize \$0-bez-array \$0-bez-c-arr;
#X obj 13 162 element \$0-bez-array \$0-bez-c-arr;
#X obj 13 182 get \$0-bez-c x y;
-#X obj 136 402 set \$0-bez-array rpx;
-#X obj 135 422 set \$0-bez-array rpy;
-#X obj 123 482 get \$0-bez-array rpx;
-#X obj 133 522 set \$0-bez-array rpx.;
-#X obj 153 552 get \$0-bez-array rpy;
-#X obj 163 592 set \$0-bez-array rpy.;
+#X obj 156 402 set \$0-bez-array rpx;
+#X obj 155 422 set \$0-bez-array rpy;
+#X obj 143 482 get \$0-bez-array rpx;
+#X obj 153 522 set \$0-bez-array rpx.;
+#X obj 173 552 get \$0-bez-array rpy;
+#X obj 183 592 set \$0-bez-array rpy.;
#X obj 233 217 inlet;
-#X connect 1 0 31 1;
-#X connect 2 0 29 0;
-#X connect 3 0 30 0;
-#X connect 4 0 31 0;
+#X obj 53 342 outlet;
+#X obj 53 322 spigot 1;
+#X connect 1 0 30 1;
+#X connect 2 0 28 0;
+#X connect 3 0 29 0;
+#X connect 4 0 30 0;
#X connect 5 0 4 4;
-#X connect 6 0 8 0;
-#X connect 7 0 8 1;
-#X connect 8 0 26 0;
-#X connect 9 0 19 0;
-#X connect 9 1 20 0;
+#X connect 6 0 25 0;
+#X connect 7 0 40 0;
+#X connect 8 0 18 0;
+#X connect 8 1 19 0;
+#X connect 9 0 10 0;
+#X connect 9 0 14 0;
#X connect 10 0 11 0;
-#X connect 10 0 15 0;
-#X connect 11 0 12 0;
+#X connect 11 0 34 0;
+#X connect 11 1 35 1;
+#X connect 11 2 36 0;
+#X connect 11 3 37 1;
#X connect 12 0 35 0;
-#X connect 12 1 36 1;
-#X connect 12 2 37 0;
-#X connect 12 3 38 1;
-#X connect 13 0 36 0;
-#X connect 14 0 38 0;
-#X connect 15 0 34 1;
-#X connect 15 1 33 1;
-#X connect 16 0 34 0;
-#X connect 17 0 33 0;
-#X connect 18 0 21 0;
-#X connect 19 0 17 0;
-#X connect 20 0 16 0;
-#X connect 21 0 11 0;
-#X connect 21 1 9 0;
-#X connect 23 0 25 0;
-#X connect 25 0 28 0;
-#X connect 25 1 29 0;
-#X connect 25 2 27 0;
-#X connect 26 0 0 0;
-#X connect 27 0 26 1;
-#X connect 28 0 26 1;
-#X connect 29 0 4 0;
-#X connect 30 0 5 0;
-#X connect 31 0 32 0;
-#X connect 32 0 6 0;
-#X connect 32 0 18 0;
-#X connect 32 1 7 0;
-#X connect 32 1 18 1;
-#X connect 35 0 13 0;
-#X connect 37 0 14 0;
-#X connect 39 0 29 0;
-#X restore 65 162 pd index;
+#X connect 13 0 37 0;
+#X connect 14 0 33 1;
+#X connect 14 1 32 1;
+#X connect 15 0 33 0;
+#X connect 16 0 32 0;
+#X connect 17 0 20 0;
+#X connect 18 0 16 0;
+#X connect 19 0 15 0;
+#X connect 20 0 10 0;
+#X connect 20 1 8 0;
+#X connect 22 0 24 0;
+#X connect 24 0 27 0;
+#X connect 24 1 28 0;
+#X connect 24 2 26 0;
+#X connect 25 0 0 0;
+#X connect 26 0 25 1;
+#X connect 26 0 40 1;
+#X connect 27 0 25 1;
+#X connect 27 0 40 1;
+#X connect 28 0 4 0;
+#X connect 29 0 5 0;
+#X connect 30 0 31 0;
+#X connect 31 0 6 0;
+#X connect 31 0 17 0;
+#X connect 31 1 7 0;
+#X connect 31 1 17 1;
+#X connect 34 0 12 0;
+#X connect 36 0 13 0;
+#X connect 38 0 28 0;
+#X connect 40 0 39 0;
+#X restore 65 182 pd index;
#N canvas 0 0 332 180 size 0;
#X obj 18 17 inlet;
#X obj 213 117 r \$0-arrpoint;
@@ -500,8 +503,8 @@ a escalonar tudo? talvez nao;
#X connect 71 0 21 0;
#X restore 89 342 pd point-befehle;
#X obj 182 362 outlet;
-#X obj 110 222 s \$0-dump;
-#X obj 110 202 0;
+#X obj 110 152 s \$0-dump;
+#X obj 110 132 0;
#N canvas 0 0 450 300 size-init 0;
#X obj 154 93 inlet;
#X obj 154 133 sel 0;
@@ -604,9 +607,11 @@ pontos do array... \; ajustar tamanha dos pontos kr de acordo com o
tamanho do display;
#X obj 300 32 t b b b b;
#X obj 20 342 t b b;
+#X obj 110 202 outlet;
#X connect 0 0 25 0;
#X connect 3 0 35 0;
#X connect 6 0 5 0;
+#X connect 6 1 36 0;
#X connect 8 0 4 1;
#X connect 8 1 9 0;
#X connect 11 0 10 0;
@@ -673,7 +678,9 @@ in the documentation and/or other materials provided with the distribution.
#X text 8 7 Copyright 2010 \, João Pais;
#X restore 11 721 pd license;
#X text 8 703 (C) 2010 João Pais - jmmmpais@googlemail.com;
+#X obj 242 70 outlet;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
-#X connect 1 1 4 0;
+#X connect 1 1 7 0;
+#X connect 1 2 4 0;
#X coords -20 120 120 -20 110 110 2 0 0;
diff --git a/bezier~-help.pd b/bezier~-help.pd
new file mode 100644
index 0000000..3ee953b
--- /dev/null
+++ b/bezier~-help.pd
@@ -0,0 +1,126 @@
+#N struct 1071-bez-array float x float y array 1071-bez-c-arr 1071-bez-c
+float p0x float p0y float p0x. float p0y. float p1x float p1y float
+p1x. float p1y. float p2x float p2y float p2x. float p2y. float p3x
+float p3y float p3x. float p3y. float rpx float rpy float rpx. float
+rpy.;
+#N struct 1071-bez-c float x float y;
+#N canvas 280 17 921 927 10;
+#X floatatom 415 751 5 0 0 0 - - -;
+#X obj 418 737 hsl 50 10 0 1 0 0 empty empty empty -2 -8 0 10 -228856
+-1 -1 0 0;
+#X floatatom 135 205 5 0 0 0 - - -;
+#X msg 125 144 canvas \$1;
+#X floatatom 135 124 5 0 0 0 - - -;
+#X obj 415 717 line;
+#X msg 415 697 0 \, 1 3000;
+#X obj 135 514 pack;
+#X obj 145 494 t b f;
+#X msg 258 830 p0 0.25 0.34 \, p1 0.34 0.88 \, p2 0.9 0.4 \, p3 0.85
+0.73;
+#X text 543 94 Arguments;
+#X obj 148 467 hsl 50 10 0 1 0 0 empty empty X -16 6 0 12 -228856 -1
+-1 0 1;
+#X obj 148 481 hsl 50 10 0 1 0 0 empty empty Y -16 6 0 12 -228856 -1
+-1 0 1;
+#X obj 128 870 hsl 50 10 0 1 0 0 empty empty X -16 6 0 12 -228856 -1
+-1 0 1;
+#X obj 128 884 hsl 50 10 0 1 0 0 empty empty Y -16 6 0 12 -228856 -1
+-1 0 1;
+#X text 135 307 default values;
+#X text 135 347 also first and last points can take any value;
+#X text 222 164 Two values define x and y coordinates;
+#X text 131 275 p[0-3] \$1 \$2 - Control one handle point's coordinates
+between 0 and 1 Send either a message with all points...;
+#X text 115 90 canvas \$1 [\$2] - Change canvas size. One value creates
+a square ...;
+#X text 172 204 size \$1 - Define array size (minimum 2 points);
+#X text 260 799 Dump outlet: connect to a message box \, which you
+can later copy-paste.;
+#X text 545 173 If no arguments are given \, the default values are
+110 100 100 When no y argument is present \, a square with dimensions
+of x is created.;
+#X text 542 395 But \, even with the points outside of the box \, the
+calculations will still work. You only loose mouse control of the graphic
+handles.;
+#X obj 135 574 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 125 707 bezier~;
+#X text 165 634 dump - Dump the coordinates of the control points through
+the right outlet. Connect the outlet to a message box \, and it will
+get formatted.;
+#X text 541 475 Released under the BSD License;
+#X text 541 455 (C) 2010 João Pais - jmmmpais@googlemail.com;
+#X text 20 94 Object size:;
+#X text 20 204 Array size:;
+#X text 20 274 Control points:;
+#X text 20 574 Readpoint:;
+#X text 20 634 Dump parameters:;
+#X text 546 112 - Array size;
+#X text 546 132 - Canvas size x (+ y);
+#X text 546 152 - Canvas size y;
+#X text 543 224 Inlets;
+#X text 543 264 Outlets;
+#X text 546 282 - float pair with x / y values;
+#X text 546 302 - control point dump;
+#X text 153 564 readpoint \$1 - Turn readpoint (red) display on or
+off. Readpoint shows the curent place in the buffer.;
+#X text 22 39 Create a transfer function between 0 and 1 \, using the
+four control points of a cubic bézier curve.;
+#X text 546 242 - floats [0 to 1] / commands (with parameters);
+#X text 542 336 BUG ALERT: if the control points get out of the GOP
+box \, these won't react when you click on them. You'll have to right-click
+\, open \, and then inside the abstraction place the points again inside
+the red boundaries. Or send pX coordinates.;
+#X text 20 74 CONTROL OPTIONS;
+#X text 70 704 INPUT;
+#X text 70 864 OUTPUT;
+#X obj 415 771 s \$0-input;
+#X obj 135 687 r \$0-input;
+#X text 415 677 Send your input values between 0 and 1 here:;
+#X msg 125 327 p0 0 0 \, p1 0.1 0.6 \, p2 0.9 0.4 \, p3 1 1;
+#X msg 125 367 p0 0.25 0.34 \, p1 0.34 0.88 \, p2 0.9 0.4 \, p3 0.85
+0.73;
+#X msg 125 427 p0 0 0 \, p1 0.34 1.3 \, p2 1.4 0.4 \, p3 1 1;
+#X msg 125 534 p0 \$1 \$2;
+#X text 144 446 Or move the points separately:;
+#X msg 125 224 size \$1;
+#X msg 125 245 size 100;
+#X msg 125 164 canvas 300 100;
+#X text 135 387 values outside the 0-1 boundaries will be outside of
+the box - you won't be able to grab the graphic (see bug description)
+;
+#X msg 125 593 readpoint \$1;
+#X msg 125 634 dump;
+#X text 65 899 Outputs: scaled x and y values;
+#X obj 125 830 snaps~;
+#X obj 135 850 snaps~;
+#X text 21 9 [bezier~] - Transfer function with one cubic bézier curve
+\, at audio rate;
+#X connect 0 0 48 0;
+#X connect 1 0 0 0;
+#X connect 2 0 56 0;
+#X connect 3 0 25 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 5 0;
+#X connect 7 0 54 0;
+#X connect 8 0 7 0;
+#X connect 8 1 7 1;
+#X connect 11 0 7 0;
+#X connect 12 0 8 0;
+#X connect 24 0 60 0;
+#X connect 25 0 63 0;
+#X connect 25 1 64 0;
+#X connect 25 2 9 0;
+#X connect 49 0 25 0;
+#X connect 51 0 25 0;
+#X connect 52 0 25 0;
+#X connect 53 0 25 0;
+#X connect 54 0 25 0;
+#X connect 56 0 25 0;
+#X connect 57 0 25 0;
+#X connect 58 0 25 0;
+#X connect 60 0 25 0;
+#X connect 61 0 25 0;
+#X connect 63 0 13 0;
+#X connect 64 0 14 0;
diff --git a/bezier~.pd b/bezier~.pd
new file mode 100644
index 0000000..87acbf0
--- /dev/null
+++ b/bezier~.pd
@@ -0,0 +1,694 @@
+#N canvas 0 0 855 754 10;
+#X obj 217 10 inlet;
+#N canvas 627 482 718 464 inside 0;
+#X obj 20 82 inlet;
+#X obj 346 282 s \$0-bezier-a;
+#N canvas 0 0 450 300 element 0;
+#X obj 52 46 struct \$0-bez-c float x float y;
+#X restore 20 302 pd element;
+#N canvas 665 149 542 409 array 0;
+#X obj 11 87 route change click;
+#X obj 31 121 unpack p f;
+#X obj 31 141 t b p;
+#X obj 31 201 outlet;
+#X obj 58 161 s \$0-arrpoint;
+#X obj 31 181 speedlim 150;
+#X obj 166 141 drawpolygon 0 1 0 0 0 100 100 100 100 0 0 0;
+#X text 14 233 4 control points \, 2 extremos nao saem da caixa. fronteiras
+desfazadas em 2pt \, para desenhar o quadrado;
+#X obj 11 333 filledpolygon 0 0 1 p2x p2y p2x. p2y p2x. p2y. p2x p2y.
+p2x p2y;
+#X obj 11 300 filledpolygon 0 0 1 p1x p1y p1x. p1y p1x. p1y. p1x p1y.
+p1x p1y;
+#X obj 11 267 filledpolygon 0 0 1 p0x(-2:98)(-2:98) p0y(-2:98)(-2:98)
+p0x. p0y p0x. p0y. p0x p0y. p0x p0y;
+#X obj 11 366 filledpolygon 0 0 1 p3x(-2:98)(-2:98) p3y(-2:98)(-2:98)
+p3x. p3y p3x. p3y. p3x p3y. p3x p3y;
+#X obj 166 171 r \$0-read-point-view;
+#X text 297 171 read point;
+#X obj 11 15 struct \$0-bez-array float x float y array \$0-bez-c-arr
+\$0-bez-c float p0x float p0y float p0x. float p0y. float p1x float
+p1y float p1x. float p1y. float p2x float p2y float p2x. float p2y.
+float p3x float p3y float p3x. float p3y. float rpx float rpy float
+rpx. float rpy.;
+#X obj 166 111 plot \$0-bez-c-arr 9 2 0 0;
+#X obj 166 191 filledpolygon 900 900 1 rpx rpy rpx. rpy rpx. rpy. rpx
+rpy. rpx rpy;
+#X connect 0 0 1 0;
+#X connect 0 1 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 1 4 0;
+#X connect 5 0 3 0;
+#X connect 12 0 16 0;
+#X connect 14 0 0 0;
+#X restore 20 322 pd array;
+#N canvas 257 223 482 660 calculate 0;
+#X obj 27 42 inlet;
+#X obj 27 202 until;
+#X obj 27 222 f+ 0;
+#X obj 27 352 expr (-$f2+3*$f3-3*$f4+$f5)*pow($f1 \, 3) + (3*$f2-6*$f3+3*$f4)*pow($f1
+\, 2) + (3*$f3-3*$f2)*$f1 + $f2;
+#X obj 46 425 expr (-$f2+3*$f3-3*$f4+$f5)*pow($f1 \, 3) + (3*$f2-6*$f3+3*$f4)*pow($f1
+\, 2) + (3*$f3-3*$f2)*$f1 + $f2;
+#X obj 27 332 pack f f f f f;
+#X obj 46 405 pack f f f f f;
+#X obj 228 468 r \$0-arrpoint;
+#X obj 108 518 t p p;
+#X obj 27 242 t f f f;
+#X text 142 11 array com 100 pontos. fazer 200? \; e necessario estar
+a escalonar tudo? talvez nao;
+#X obj 27 72 t b b;
+#X obj 77 32 inlet;
+#X obj 141 80 r \$0-arrpoint;
+#X obj 141 150 pointer;
+#X obj 77 52 t b b;
+#X obj 141 270 + 2;
+#X obj 171 270 + 2;
+#X obj 311 270 + 2;
+#X obj 341 270 + 2;
+#X obj 47 102 r \$0-size;
+#X obj 42 162 + 1;
+#X obj 27 182 f;
+#X obj 86 242 inv;
+#X obj 47 122 t b f f;
+#X obj 27 272 *;
+#X obj 46 292 *;
+#X obj 141 190 get \$0-bez-array p0x;
+#X obj 151 210 get \$0-bez-array p1x;
+#X obj 161 230 get \$0-bez-array p2x;
+#X obj 171 250 get \$0-bez-array p3x;
+#X obj 311 190 get \$0-bez-array p0y;
+#X obj 320 210 get \$0-bez-array p1y;
+#X obj 331 230 get \$0-bez-array p2y;
+#X obj 341 250 get \$0-bez-array p3y;
+#X obj 108 498 element \$0-bez-array \$0-bez-c-arr;
+#X obj 27 538 set \$0-bez-c x;
+#X obj 46 558 set \$0-bez-c y;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 9 0;
+#X connect 3 0 36 0;
+#X connect 4 0 37 0;
+#X connect 5 0 3 0;
+#X connect 6 0 4 0;
+#X connect 7 0 35 1;
+#X connect 8 0 36 1;
+#X connect 8 1 37 1;
+#X connect 9 0 25 0;
+#X connect 9 1 26 0;
+#X connect 9 2 35 0;
+#X connect 11 0 22 0;
+#X connect 11 1 2 1;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 27 0;
+#X connect 14 0 28 0;
+#X connect 14 0 29 0;
+#X connect 14 0 30 0;
+#X connect 14 0 31 0;
+#X connect 14 0 32 0;
+#X connect 14 0 33 0;
+#X connect 14 0 34 0;
+#X connect 15 0 11 0;
+#X connect 15 1 14 0;
+#X connect 16 0 5 1;
+#X connect 17 0 5 4;
+#X connect 18 0 6 1;
+#X connect 19 0 6 4;
+#X connect 20 0 24 0;
+#X connect 21 0 22 1;
+#X connect 22 0 1 0;
+#X connect 23 0 25 1;
+#X connect 23 0 26 1;
+#X connect 24 0 11 0;
+#X connect 24 1 21 0;
+#X connect 24 2 23 0;
+#X connect 25 0 5 0;
+#X connect 26 0 6 0;
+#X connect 27 0 16 0;
+#X connect 28 0 5 2;
+#X connect 29 0 5 3;
+#X connect 30 0 17 0;
+#X connect 31 0 18 0;
+#X connect 32 0 6 2;
+#X connect 33 0 6 3;
+#X connect 34 0 19 0;
+#X connect 35 0 8 0;
+#X restore 20 362 pd calculate;
+#N canvas 161 314 333 632 index 0;
+#X obj 208 142 r \$0-arrpoint;
+#X obj 13 62 inlet;
+#X obj 106 62 r \$0-arrpoint;
+#X obj 13 122 maxlib/scale 0 1 0 0;
+#X obj 106 102 - 1;
+#X obj 13 202 * 0.01;
+#X obj 106 202 * 0.01;
+#X obj 156 332 unpack;
+#X obj 246 282 r \$0-arrpoint;
+#X obj 143 312 pointer;
+#X obj 143 452 t p p p p;
+#X obj 143 502 + 5;
+#X obj 173 572 + 5;
+#X obj 246 382 t p p;
+#X obj 199 372 - 2;
+#X obj 156 372 - 2;
+#X obj 143 262 pack;
+#X obj 156 352 * 1;
+#X obj 199 352 * 1;
+#X obj 143 282 t b l;
+#X text 205 256 read point;
+#X obj 53 32 inlet;
+#X text 94 31 update read point;
+#X obj 53 52 t b b b;
+#X obj 13 282 spigot 1;
+#X obj 88 242 0;
+#X obj 58 242 1;
+#X obj 13 102 f;
+#X obj 106 82 getsize \$0-bez-array \$0-bez-c-arr;
+#X obj 13 162 element \$0-bez-array \$0-bez-c-arr;
+#X obj 13 182 get \$0-bez-c x y;
+#X obj 156 402 set \$0-bez-array rpx;
+#X obj 155 422 set \$0-bez-array rpy;
+#X obj 143 482 get \$0-bez-array rpx;
+#X obj 153 522 set \$0-bez-array rpx.;
+#X obj 173 552 get \$0-bez-array rpy;
+#X obj 183 592 set \$0-bez-array rpy.;
+#X obj 233 217 inlet;
+#X obj 73 282 spigot 1;
+#X obj 13 332 line~;
+#X obj 13 352 outlet~;
+#X obj 73 332 line~;
+#X obj 73 352 outlet~;
+#X msg 13 312 \$1 5;
+#X msg 73 312 \$1 5;
+#X connect 0 0 29 1;
+#X connect 1 0 27 0;
+#X connect 2 0 28 0;
+#X connect 3 0 29 0;
+#X connect 4 0 3 4;
+#X connect 5 0 24 0;
+#X connect 6 0 38 0;
+#X connect 7 0 17 0;
+#X connect 7 1 18 0;
+#X connect 8 0 9 0;
+#X connect 8 0 13 0;
+#X connect 9 0 10 0;
+#X connect 10 0 33 0;
+#X connect 10 1 34 1;
+#X connect 10 2 35 0;
+#X connect 10 3 36 1;
+#X connect 11 0 34 0;
+#X connect 12 0 36 0;
+#X connect 13 0 32 1;
+#X connect 13 1 31 1;
+#X connect 14 0 32 0;
+#X connect 15 0 31 0;
+#X connect 16 0 19 0;
+#X connect 17 0 15 0;
+#X connect 18 0 14 0;
+#X connect 19 0 9 0;
+#X connect 19 1 7 0;
+#X connect 21 0 23 0;
+#X connect 23 0 26 0;
+#X connect 23 1 27 0;
+#X connect 23 2 25 0;
+#X connect 24 0 43 0;
+#X connect 25 0 24 1;
+#X connect 25 0 38 1;
+#X connect 26 0 24 1;
+#X connect 26 0 38 1;
+#X connect 27 0 3 0;
+#X connect 28 0 4 0;
+#X connect 29 0 30 0;
+#X connect 30 0 5 0;
+#X connect 30 0 16 0;
+#X connect 30 1 6 0;
+#X connect 30 1 16 1;
+#X connect 33 0 11 0;
+#X connect 35 0 12 0;
+#X connect 37 0 27 0;
+#X connect 38 0 44 0;
+#X connect 39 0 40 0;
+#X connect 41 0 42 0;
+#X connect 43 0 39 0;
+#X connect 44 0 41 0;
+#X restore 65 182 pd index;
+#N canvas 0 0 332 180 size 0;
+#X obj 18 17 inlet;
+#X obj 213 117 r \$0-arrpoint;
+#X obj 57 77 s \$0-size;
+#X obj 18 117 r \$0-size;
+#X obj 18 37 moses 2;
+#X msg 18 57 2;
+#X text 111 16 size \, wenigstens 2 Punkte;
+#X obj 18 137 setsize \$0-bez-array \$0-bez-c-arr;
+#X connect 0 0 4 0;
+#X connect 1 0 7 1;
+#X connect 3 0 7 0;
+#X connect 4 0 5 0;
+#X connect 4 1 2 0;
+#X connect 5 0 2 0;
+#X restore 47 232 pd size;
+#N canvas 498 34 773 605 point-befehle 0;
+#X obj 189 18 inlet;
+#X obj 60 166 unpack;
+#X obj 150 86 r \$0-arrpoint;
+#X obj 150 116 t p p p p;
+#X obj 47 116 pointer;
+#X obj 47 332 t p p p p;
+#X obj 47 292 t p p p p;
+#X obj 227 332 t p p p p;
+#X obj 407 332 t p p p p;
+#X obj 586 332 t p p p p;
+#X obj 47 382 + 5;
+#X obj 77 452 + 5;
+#X obj 200 166 unpack;
+#X obj 340 166 unpack;
+#X obj 480 166 unpack;
+#X obj 23 82 outlet;
+#X obj 189 38 t b b a;
+#X obj 227 382 + 5;
+#X obj 257 452 + 5;
+#X obj 437 452 + 5;
+#X obj 407 382 + 5;
+#X obj 586 382 + 5;
+#X obj 616 452 + 5;
+#X obj 150 216 t p p;
+#X obj 291 216 t p p;
+#X obj 430 216 t p p;
+#X obj 570 216 t p p;
+#X obj 52 566 outlet;
+#X obj 243 186 * 100;
+#X obj 103 186 * 100;
+#X obj 383 186 * 100;
+#X obj 523 186 * 100;
+#X obj 523 206 - 2;
+#X obj 383 206 - 2;
+#X obj 243 206 - 2;
+#X obj 103 206 - 2;
+#X obj 60 206 - 2;
+#X obj 200 206 - 2;
+#X obj 340 206 - 2;
+#X obj 480 206 - 2;
+#X obj 480 186 * 100;
+#X obj 340 186 * 100;
+#X obj 200 186 * 100;
+#X obj 60 186 * 100;
+#X obj 491 61 r \$0-size;
+#X obj 52 516 r \$0-dump;
+#N canvas 118 276 501 312 convert-to-dump 0;
+#X obj 81 57 inlet;
+#X obj 116 230 outlet;
+#X obj 81 97 - 5;
+#X obj 81 117 * 0.01;
+#X obj 81 77 + 2;
+#X obj 131 57 inlet;
+#X obj 131 97 - 5;
+#X obj 131 117 * 0.01;
+#X obj 131 77 + 2;
+#X obj 171 17 r \$0-size;
+#X obj 171 37 inv;
+#X obj 31 117 inlet;
+#X obj 117 157 pack f f f f f f f f f;
+#X obj 181 57 inlet;
+#X obj 181 97 - 5;
+#X obj 181 117 * 0.01;
+#X obj 181 77 + 2;
+#X obj 231 57 inlet;
+#X obj 231 97 - 5;
+#X obj 231 117 * 0.01;
+#X obj 231 77 + 2;
+#X obj 281 57 inlet;
+#X obj 281 97 - 5;
+#X obj 281 117 * 0.01;
+#X obj 281 77 + 2;
+#X obj 331 57 inlet;
+#X obj 331 97 - 5;
+#X obj 331 117 * 0.01;
+#X obj 331 77 + 2;
+#X obj 381 57 inlet;
+#X obj 381 97 - 5;
+#X obj 381 117 * 0.01;
+#X obj 381 77 + 2;
+#X obj 431 57 inlet;
+#X obj 431 97 - 5;
+#X obj 431 117 * 0.01;
+#X obj 431 77 + 2;
+#X msg 116 177 set \, add2 p0 \$2 \$3 \, addcomma \, add2 p1 \$4 \$5
+\, addcomma \, add2 p2 \$6 \$7 \, addcomma \, add2 p3 \$8 \$9;
+#X connect 0 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 12 1;
+#X connect 4 0 2 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 12 2;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 7 1;
+#X connect 10 0 3 1;
+#X connect 10 0 15 1;
+#X connect 10 0 19 1;
+#X connect 10 0 23 1;
+#X connect 10 0 27 1;
+#X connect 10 0 31 1;
+#X connect 10 0 35 1;
+#X connect 11 0 12 0;
+#X connect 12 0 37 0;
+#X connect 13 0 16 0;
+#X connect 14 0 15 0;
+#X connect 15 0 12 3;
+#X connect 16 0 14 0;
+#X connect 17 0 20 0;
+#X connect 18 0 19 0;
+#X connect 19 0 12 4;
+#X connect 20 0 18 0;
+#X connect 21 0 24 0;
+#X connect 22 0 23 0;
+#X connect 23 0 12 5;
+#X connect 24 0 22 0;
+#X connect 25 0 28 0;
+#X connect 26 0 27 0;
+#X connect 27 0 12 6;
+#X connect 28 0 26 0;
+#X connect 29 0 32 0;
+#X connect 30 0 31 0;
+#X connect 31 0 12 7;
+#X connect 32 0 30 0;
+#X connect 33 0 36 0;
+#X connect 34 0 35 0;
+#X connect 35 0 12 8;
+#X connect 36 0 34 0;
+#X connect 37 0 1 0;
+#X restore 52 546 pd convert-to-dump;
+#X obj 228 58 route p0 p1 p2 p3;
+#X obj 480 236 set \$0-bez-array p3x;
+#X obj 480 256 set \$0-bez-array p3y;
+#X obj 340 236 set \$0-bez-array p2x;
+#X obj 340 256 set \$0-bez-array p2y;
+#X obj 199 236 set \$0-bez-array p1x;
+#X obj 200 256 set \$0-bez-array p1y;
+#X obj 60 236 set \$0-bez-array p0x;
+#X obj 60 256 set \$0-bez-array p0y;
+#X obj 47 362 get \$0-bez-array p0x;
+#X obj 57 402 set \$0-bez-array p0x.;
+#X obj 77 432 get \$0-bez-array p0y;
+#X obj 87 472 set \$0-bez-array p0y.;
+#X obj 267 472 set \$0-bez-array p1y.;
+#X obj 257 432 get \$0-bez-array p1y;
+#X obj 237 402 set \$0-bez-array p1x.;
+#X obj 227 362 get \$0-bez-array p1x;
+#X obj 407 362 get \$0-bez-array p2x;
+#X obj 417 402 set \$0-bez-array p2x.;
+#X obj 437 433 get \$0-bez-array p2y;
+#X obj 447 472 set \$0-bez-array p2y.;
+#X obj 626 472 set \$0-bez-array p3y.;
+#X obj 616 432 get \$0-bez-array p3y;
+#X obj 596 402 set \$0-bez-array p3x.;
+#X obj 586 362 get \$0-bez-array p3x;
+#X connect 0 0 16 0;
+#X connect 1 0 43 0;
+#X connect 1 1 29 0;
+#X connect 2 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 23 0;
+#X connect 3 1 24 0;
+#X connect 3 2 25 0;
+#X connect 3 3 26 0;
+#X connect 4 0 6 0;
+#X connect 5 0 56 0;
+#X connect 5 1 57 1;
+#X connect 5 2 58 0;
+#X connect 5 3 59 1;
+#X connect 6 0 5 0;
+#X connect 6 1 7 0;
+#X connect 6 2 8 0;
+#X connect 6 3 9 0;
+#X connect 7 0 63 0;
+#X connect 7 1 62 1;
+#X connect 7 2 61 0;
+#X connect 7 3 60 1;
+#X connect 8 0 64 0;
+#X connect 8 1 65 1;
+#X connect 8 2 66 0;
+#X connect 8 3 67 1;
+#X connect 9 0 71 0;
+#X connect 9 1 70 1;
+#X connect 9 2 69 0;
+#X connect 9 3 68 1;
+#X connect 10 0 46 1;
+#X connect 10 0 57 0;
+#X connect 11 0 46 2;
+#X connect 11 0 59 0;
+#X connect 12 0 42 0;
+#X connect 12 1 28 0;
+#X connect 13 0 41 0;
+#X connect 13 1 30 0;
+#X connect 14 0 40 0;
+#X connect 14 1 31 0;
+#X connect 16 0 15 0;
+#X connect 16 1 4 0;
+#X connect 16 2 47 0;
+#X connect 17 0 46 3;
+#X connect 17 0 62 0;
+#X connect 18 0 46 4;
+#X connect 18 0 60 0;
+#X connect 19 0 46 6;
+#X connect 19 0 67 0;
+#X connect 20 0 46 5;
+#X connect 20 0 65 0;
+#X connect 21 0 46 7;
+#X connect 21 0 70 0;
+#X connect 22 0 46 8;
+#X connect 22 0 68 0;
+#X connect 23 0 55 1;
+#X connect 23 1 54 1;
+#X connect 24 0 53 1;
+#X connect 24 1 52 1;
+#X connect 25 0 51 1;
+#X connect 25 1 50 1;
+#X connect 26 0 49 1;
+#X connect 26 1 48 1;
+#X connect 28 0 34 0;
+#X connect 29 0 35 0;
+#X connect 30 0 33 0;
+#X connect 31 0 32 0;
+#X connect 32 0 49 0;
+#X connect 33 0 51 0;
+#X connect 34 0 53 0;
+#X connect 35 0 55 0;
+#X connect 36 0 54 0;
+#X connect 37 0 52 0;
+#X connect 38 0 50 0;
+#X connect 39 0 48 0;
+#X connect 40 0 39 0;
+#X connect 41 0 38 0;
+#X connect 42 0 37 0;
+#X connect 43 0 36 0;
+#X connect 44 0 31 1;
+#X connect 44 0 40 1;
+#X connect 44 0 30 1;
+#X connect 44 0 41 1;
+#X connect 44 0 28 1;
+#X connect 44 0 42 1;
+#X connect 44 0 29 1;
+#X connect 44 0 43 1;
+#X connect 45 0 46 0;
+#X connect 46 0 27 0;
+#X connect 47 0 1 0;
+#X connect 47 1 12 0;
+#X connect 47 2 13 0;
+#X connect 47 3 14 0;
+#X connect 56 0 10 0;
+#X connect 58 0 11 0;
+#X connect 61 0 18 0;
+#X connect 63 0 17 0;
+#X connect 64 0 20 0;
+#X connect 66 0 19 0;
+#X connect 69 0 22 0;
+#X connect 71 0 21 0;
+#X restore 89 342 pd point-befehle;
+#X obj 182 362 outlet;
+#X obj 110 152 s \$0-dump;
+#X obj 110 132 0;
+#N canvas 0 0 450 300 size-init 0;
+#X obj 154 93 inlet;
+#X obj 154 133 sel 0;
+#X obj 154 113 \$1;
+#X obj 154 153 100;
+#X obj 154 203 outlet;
+#X msg 154 183 size \$1;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 5 0 4 0;
+#X restore 334 72 pd size-init;
+#N canvas 0 0 450 300 create-init 0;
+#X obj 129 118 pointer;
+#X obj 129 78 symbol \$0-bezier-a;
+#X obj 129 198 s \$0-arrpoint;
+#X msg 129 158 0 0;
+#X msg 129 98 traverse \$1 \, bang;
+#X obj 129 138 t b p;
+#X obj 129 58 inlet;
+#X obj 129 178 append \$0-bez-array x y;
+#X connect 0 0 5 0;
+#X connect 1 0 4 0;
+#X connect 3 0 7 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 7 2;
+#X connect 6 0 1 0;
+#X connect 7 0 2 0;
+#X restore 351 52 pd create-init;
+#X obj 310 212 t f f;
+#X obj 310 232 pack;
+#X obj 300 152 route float list;
+#X msg 346 262 donecanvasdialog 1 -1 2 -20 120 120 -20 \$1 \$2 0 0
+\, dirty 0;
+#N canvas 0 0 390 188 get-pointer 0;
+#X obj 39 82 pointer;
+#X obj 39 42 symbol \$0-bezier-a;
+#X obj 39 102 s \$0-arrpoint;
+#X msg 39 62 traverse \$1 \, next \, bang;
+#X obj 39 22 inlet;
+#X text 27 128 extra Schaltung um das Pointer in Focus zu bekommen.
+dann muss man nicht die Grafik clicken.;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X connect 4 0 1 0;
+#X restore 20 252 pd get-pointer;
+#X obj 20 212 t b f;
+#X msg 89 312 p0 0 0 \, p1 0.1 0.6 \, p2 0.9 0.4 \, p3 1 1;
+#N canvas 0 0 403 272 canvas-init 0;
+#X obj 68 104 sel 0;
+#X obj 68 124 110;
+#X obj 18 64 t b b;
+#X obj 18 124 sel 0;
+#X obj 73 194 pack;
+#X msg 73 214 \$2 \$1;
+#X obj 68 84 \$2;
+#X obj 18 104 \$3;
+#X obj 115 164 f;
+#X obj 88 144 t f f;
+#X obj 73 164 f;
+#X obj 18 44 inlet;
+#X obj 73 234 outlet;
+#X text 21 8 canvas init (etwa komplex \, um die Anwesenheit von x
+und vielleicht y zu berücksichtigen);
+#X connect 0 0 1 0;
+#X connect 0 1 9 0;
+#X connect 1 0 9 0;
+#X connect 2 0 7 0;
+#X connect 2 1 6 0;
+#X connect 3 0 10 0;
+#X connect 3 1 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 12 0;
+#X connect 6 0 0 0;
+#X connect 7 0 3 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 1;
+#X connect 9 1 8 0;
+#X connect 10 0 4 0;
+#X connect 11 0 2 0;
+#X restore 300 132 pd canvas-init;
+#X obj 300 172 moses 20;
+#X msg 300 192 20;
+#X obj 200 262 s \$0-read-point-view;
+#X obj 20 112 route size float dump canvas readpoint;
+#X obj 245 132 t b a;
+#X obj 300 12 lbang;
+#X obj 417 132 pointer;
+#X obj 417 92 symbol \$0-bezier-a;
+#X obj 417 152 s \$0-arrpoint;
+#X msg 417 112 traverse \$1 \, next \, bang;
+#X text 321 362 ha demasiada accao a passar no patch \, optimizar;
+#X text 323 386 botao para adicionar x curvas (p3 da anterior == p0
+da seguinte) \, criando uma mega-curva \; tornar tudo variavel \, nr
+pontos do array... \; ajustar tamanha dos pontos kr de acordo com o
+tamanho do display;
+#X obj 300 32 t b b b b;
+#X obj 20 342 t b b;
+#X obj 65 202 outlet~;
+#X obj 120 202 outlet~;
+#X connect 0 0 24 0;
+#X connect 3 0 34 0;
+#X connect 5 0 35 0;
+#X connect 5 1 36 0;
+#X connect 7 0 4 1;
+#X connect 7 1 8 0;
+#X connect 10 0 9 0;
+#X connect 11 0 24 0;
+#X connect 13 0 14 0;
+#X connect 13 1 14 1;
+#X connect 14 0 16 0;
+#X connect 15 0 21 0;
+#X connect 15 1 16 0;
+#X connect 16 0 1 0;
+#X connect 18 0 17 0;
+#X connect 18 1 6 0;
+#X connect 19 0 7 0;
+#X connect 20 0 15 0;
+#X connect 21 0 22 0;
+#X connect 21 1 13 0;
+#X connect 22 0 13 0;
+#X connect 24 0 18 0;
+#X connect 24 1 5 0;
+#X connect 24 2 10 0;
+#X connect 24 3 15 0;
+#X connect 24 4 23 0;
+#X connect 24 5 25 0;
+#X connect 25 0 5 1;
+#X connect 25 1 7 0;
+#X connect 26 0 33 0;
+#X connect 27 0 29 0;
+#X connect 28 0 30 0;
+#X connect 30 0 27 0;
+#X connect 33 0 20 0;
+#X connect 33 1 19 0;
+#X connect 33 2 11 0;
+#X connect 33 3 12 0;
+#X connect 34 0 4 0;
+#X connect 34 1 5 2;
+#X restore 217 30 pd inside;
+#X obj 287 10 namecanvas \$0-bezier-a;
+#X obj 268 50 outlet;
+#N canvas 0 0 426 446 license 0;
+#X text 8 47 All rights reserved.;
+#X text 8 227 The names of its contributors may not be used to endorse
+or promote products derived from this software without specific prior
+written permission.;
+#X text 8 87 Redistribution and use in source and binary forms \, with
+or without modification \, are permitted provided that the following
+conditions are met:;
+#X text 8 127 Redistributions of source code must retain the above
+copyright notice \, this list of conditions and the following disclaimer.
+;
+#X text 8 297 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES \, INCLUDING
+\, BUT NOT LIMITED TO \, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT \, INDIRECT
+\, INCIDENTAL \, SPECIAL \, EXEMPLARY \, OR CONSEQUENTIAL DAMAGES (INCLUDING
+\, BUT NOT LIMITED TO \, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES
+;
+#X text 8 167 Redistributions in binary form must reproduce the above
+copyright notice \, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the distribution.
+;
+#X text 8 27 jmmmpais@googlemail.com;
+#X text 8 7 Copyright 2010 \, João Pais;
+#X restore 11 721 pd license;
+#X obj 217 50 outlet~;
+#X obj 242 70 outlet~;
+#X text 8 703 (C) 2011 João Pais - jmmmpais@googlemail.com;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 1 1 6 0;
+#X connect 1 2 3 0;
+#X coords -20 120 120 -20 110 110 2 0 0;
diff --git a/uhr.pd b/uhr.pd
index 22d3a9d..0b0a07e 100644
--- a/uhr.pd
+++ b/uhr.pd
@@ -4,11 +4,11 @@
#X msg 107 179 label \$1;
#X obj 77 209 s \$0-stunde;
#X obj 247 209 s \$0-minute;
-#X obj 102 42 cnv 13 22 13 empty \$0-stunde 07 2 7 0 11 -233017 -1
+#X obj 102 42 cnv 13 22 15 empty \$0-stunde 19 2 8 0 11 -1 -228856
0;
-#X obj 126 42 cnv 13 22 13 empty \$0-minute 46 2 7 0 11 -233017 -1
+#X obj 125 42 cnv 13 22 15 empty \$0-minute 46 2 8 0 11 -1 -228856
0;
-#X obj 150 42 cnv 13 22 13 empty \$0-sek 08 2 7 0 11 -233017 -1 0;
+#X obj 148 42 cnv 13 22 15 empty \$0-sek 02 2 8 0 11 -1 -228856 0;
#X obj 427 209 s \$0-sek;
#X obj 377 159 mergefilename;
#X obj 197 159 mergefilename;
@@ -74,4 +74,4 @@ in the documentation and/or other materials provided with the distribution.
#X connect 24 1 22 0;
#X connect 25 0 10 0;
#X connect 25 1 19 0;
-#X coords 0 -1 1 1 74 17 1 100 40;
+#X coords 0 -1 1 1 70 17 1 101 41;