aboutsummaryrefslogtreecommitdiff
path: root/grid
diff options
context:
space:
mode:
authorN.N. <sevyves@users.sourceforge.net>2005-03-02 02:48:57 +0000
committerN.N. <sevyves@users.sourceforge.net>2005-03-02 02:48:57 +0000
commit3c83bb159ecc7a6bb3cc790d508c6e1dbfebd07c (patch)
treeece782f727214f022a6829688e20695b39519023 /grid
parente625413ae9b5cb00209ab406283fff0b622eb5a7 (diff)
Added GOP supoort
svn path=/trunk/externals/unauthorized/; revision=2592
Diffstat (limited to 'grid')
-rw-r--r--grid/CHANGES.LOG2
-rw-r--r--grid/grid.c138
-rw-r--r--grid/help-grid.pd34
3 files changed, 88 insertions, 86 deletions
diff --git a/grid/CHANGES.LOG b/grid/CHANGES.LOG
index 339b742..7706b29 100644
--- a/grid/CHANGES.LOG
+++ b/grid/CHANGES.LOG
@@ -1,3 +1,5 @@
+0.6
+ added GOP support
0.5
Adapted for pd 0.37
0.4
diff --git a/grid/grid.c b/grid/grid.c
index e982027..3e1bfd9 100644
--- a/grid/grid.c
+++ b/grid/grid.c
@@ -35,7 +35,7 @@ static int gridcount=0;
static int guidebug=0;
static int pointsize = 5;
-static char *grid_version = "grid: version 0.5, written by Yves Degoyon (ydegoyon@free.fr)";
+static char *grid_version = "grid: version 0.6, written by Yves Degoyon (ydegoyon@free.fr)";
#define GRID_SYS_VGUI2(a,b) if (guidebug) \
post(a,b);\
@@ -60,8 +60,8 @@ static char *grid_version = "grid: version 0.5, written by Yves Degoyon (ydego
/* drawing functions */
static void grid_draw_update(t_grid *x, t_glist *glist)
{
- t_canvas *canvas=glist_getcanvas(glist);
- t_int xpoint=x->x_current, ypoint=x->y_current;
+ t_canvas *canvas=glist_getcanvas(glist);
+ t_int xpoint=x->x_current, ypoint=x->y_current;
// later : try to figure out what's this test for ??
// if (glist_isvisible(glist))
@@ -72,12 +72,12 @@ static void grid_draw_update(t_grid *x, t_glist *glist)
GRID_SYS_VGUI3(".x%x.c delete %xPOINT\n", canvas, x);
}
- if ( x->x_current < x->x_obj.te_xpix ) xpoint = x->x_obj.te_xpix;
- if ( x->x_current > x->x_obj.te_xpix + x->x_width - pointsize )
- xpoint = x->x_obj.te_xpix + x->x_width - pointsize;
- if ( x->y_current < x->x_obj.te_ypix ) ypoint = x->x_obj.te_ypix;
- if ( x->y_current > x->x_obj.te_ypix + x->x_height - pointsize )
- ypoint = x->x_obj.te_ypix + x->x_height - pointsize;
+ if ( x->x_current < text_xpix(&x->x_obj, glist) ) xpoint = text_xpix(&x->x_obj, glist);
+ if ( x->x_current > text_xpix(&x->x_obj, glist) + x->x_width - pointsize )
+ xpoint = text_xpix(&x->x_obj, glist) + x->x_width - pointsize;
+ if ( x->y_current < text_ypix(&x->x_obj, glist) ) ypoint = text_ypix(&x->x_obj, glist);
+ if ( x->y_current > text_ypix(&x->x_obj, glist) + x->x_height - pointsize )
+ ypoint = text_ypix(&x->x_obj, glist) + x->x_height - pointsize;
// draw the selected point
GRID_SYS_VGUI7(".x%x.c create rectangle %d %d %d %d -fill #FF0000 -tags %xPOINT\n",
canvas, xpoint, ypoint, xpoint+pointsize, ypoint+pointsize, x);
@@ -91,44 +91,44 @@ static void grid_draw_update(t_grid *x, t_glist *glist)
static void grid_draw_new(t_grid *x, t_glist *glist)
{
- t_canvas *canvas=glist_getcanvas(glist);
- char *tagRoot;
+ t_canvas *canvas=glist_getcanvas(glist);
+ char *tagRoot;
rtext_new(glist, (t_text *)x );
tagRoot = rtext_gettag(glist_findrtext(glist,(t_text *)x));
GRID_SYS_VGUI7(".x%x.c create rectangle %d %d %d %d -fill #124392 -tags %xGRID\n",
- canvas, x->x_obj.te_xpix, x->x_obj.te_ypix,
- x->x_obj.te_xpix + x->x_width, x->x_obj.te_ypix + x->x_height,
+ canvas, text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist),
+ text_xpix(&x->x_obj, glist) + x->x_width, text_ypix(&x->x_obj, glist) + x->x_height,
x);
GRID_SYS_VGUI7(".x%x.c create rectangle %d %d %d %d -tags %so0\n",
- canvas, x->x_obj.te_xpix, x->x_obj.te_ypix + x->x_height+1,
- x->x_obj.te_xpix+7, x->x_obj.te_ypix + x->x_height+2,
+ canvas, text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist) + x->x_height+1,
+ text_xpix(&x->x_obj, glist)+7, text_ypix(&x->x_obj, glist) + x->x_height+2,
tagRoot);
GRID_SYS_VGUI7(".x%x.c create rectangle %d %d %d %d -tags %so1\n",
- canvas, x->x_obj.te_xpix+x->x_width-7, x->x_obj.te_ypix + x->x_height+1,
- x->x_obj.te_xpix+x->x_width, x->x_obj.te_ypix + x->x_height+2,
+ canvas, text_xpix(&x->x_obj, glist)+x->x_width-7, text_ypix(&x->x_obj, glist) + x->x_height+1,
+ text_xpix(&x->x_obj, glist)+x->x_width, text_ypix(&x->x_obj, glist) + x->x_height+2,
tagRoot);
if ( x->x_grid )
{
- int xlpos = x->x_obj.te_xpix+x->x_width/x->x_xlines;
- int ylpos = x->x_obj.te_ypix+x->x_height/x->x_ylines;
+ int xlpos = text_xpix(&x->x_obj, glist)+x->x_width/x->x_xlines;
+ int ylpos = text_ypix(&x->x_obj, glist)+x->x_height/x->x_ylines;
int xcount = 1;
int ycount = 1;
- while ( xlpos < x->x_obj.te_xpix+x->x_width )
+ while ( xlpos < text_xpix(&x->x_obj, glist)+x->x_width )
{
GRID_SYS_VGUI9(".x%x.c create line %d %d %d %d -fill #FFFFFF -tags %xLINE%d%d\n",
- canvas, xlpos, x->x_obj.te_ypix,
- xlpos, x->x_obj.te_ypix+x->x_height,
+ canvas, xlpos, text_ypix(&x->x_obj, glist),
+ xlpos, text_ypix(&x->x_obj, glist)+x->x_height,
x, xcount, 0 );
xlpos+=x->x_width/x->x_xlines;
xcount++;
}
- while ( ylpos < x->x_obj.te_ypix+x->x_height )
+ while ( ylpos < text_ypix(&x->x_obj, glist)+x->x_height )
{
GRID_SYS_VGUI9(".x%x.c create line %d %d %d %d -fill #FFFFFF -tags %xLINE%d%d\n",
- canvas, x->x_obj.te_xpix, ylpos,
- x->x_obj.te_xpix+x->x_width, ylpos,
+ canvas, text_xpix(&x->x_obj, glist), ylpos,
+ text_xpix(&x->x_obj, glist)+x->x_width, ylpos,
x, 0, ycount);
ylpos+=x->x_height/x->x_ylines;
ycount++;
@@ -139,45 +139,45 @@ static void grid_draw_new(t_grid *x, t_glist *glist)
static void grid_draw_move(t_grid *x, t_glist *glist)
{
- t_canvas *canvas=glist_getcanvas(glist);
- char *tagRoot;
+ t_canvas *canvas=glist_getcanvas(glist);
+ char *tagRoot;
tagRoot = rtext_gettag(glist_findrtext(glist,(t_text *)x));
GRID_SYS_VGUI7(".x%x.c coords %xGRID %d %d %d %d\n",
canvas, x,
- x->x_obj.te_xpix, x->x_obj.te_ypix,
- x->x_obj.te_xpix+x->x_width, x->x_obj.te_ypix+x->x_height);
+ text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist),
+ text_xpix(&x->x_obj, glist)+x->x_width, text_ypix(&x->x_obj, glist)+x->x_height);
GRID_SYS_VGUI7(".x%x.c coords %so0 %d %d %d %d\n",
canvas, tagRoot,
- x->x_obj.te_xpix, x->x_obj.te_ypix + x->x_height+1,
- x->x_obj.te_xpix+7, x->x_obj.te_ypix + x->x_height+2 );
+ text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist) + x->x_height+1,
+ text_xpix(&x->x_obj, glist)+7, text_ypix(&x->x_obj, glist) + x->x_height+2 );
GRID_SYS_VGUI7(".x%x.c coords %so1 %d %d %d %d\n",
canvas, tagRoot,
- x->x_obj.te_xpix+x->x_width-7, x->x_obj.te_ypix + x->x_height+1,
- x->x_obj.te_xpix+x->x_width, x->x_obj.te_ypix + x->x_height+2 );
+ text_xpix(&x->x_obj, glist)+x->x_width-7, text_ypix(&x->x_obj, glist) + x->x_height+1,
+ text_xpix(&x->x_obj, glist)+x->x_width, text_ypix(&x->x_obj, glist) + x->x_height+2 );
if ( x->x_point )
{
grid_draw_update(x, glist);
}
if ( x->x_grid )
{
- int xlpos = x->x_obj.te_xpix+x->x_width/x->x_xlines;
- int ylpos = x->x_obj.te_ypix+x->x_height/x->x_ylines;
+ int xlpos = text_xpix(&x->x_obj, glist)+x->x_width/x->x_xlines;
+ int ylpos = text_ypix(&x->x_obj, glist)+x->x_height/x->x_ylines;
int xcount = 1;
int ycount = 1;
- while ( xlpos < x->x_obj.te_xpix+x->x_width )
+ while ( xlpos < text_xpix(&x->x_obj, glist)+x->x_width )
{
GRID_SYS_VGUI9(".x%x.c coords %xLINE%d%d %d %d %d %d\n",
- canvas, x, xcount, 0, xlpos, x->x_obj.te_ypix,
- xlpos, x->x_obj.te_ypix + x->x_height);
+ canvas, x, xcount, 0, xlpos, text_ypix(&x->x_obj, glist),
+ xlpos, text_ypix(&x->x_obj, glist) + x->x_height);
xlpos+=x->x_width/x->x_xlines;
xcount++;
}
- while ( ylpos < x->x_obj.te_ypix+x->x_height )
+ while ( ylpos < text_ypix(&x->x_obj, glist)+x->x_height )
{
GRID_SYS_VGUI9(".x%x.c coords %xLINE%d%d %d %d %d %d\n",
- canvas, x, 0, ycount, x->x_obj.te_xpix, ylpos,
- x->x_obj.te_xpix + x->x_width, ylpos);
+ canvas, x, 0, ycount, text_xpix(&x->x_obj, glist), ylpos,
+ text_xpix(&x->x_obj, glist) + x->x_width, ylpos);
ylpos+=x->x_height/x->x_ylines;
ycount++;
}
@@ -187,9 +187,9 @@ static void grid_draw_move(t_grid *x, t_glist *glist)
static void grid_draw_erase(t_grid* x,t_glist* glist)
{
- t_canvas *canvas=glist_getcanvas(glist);
- int i;
- char *tagRoot;
+ t_canvas *canvas=glist_getcanvas(glist);
+ int i;
+ char *tagRoot;
tagRoot = rtext_gettag(glist_findrtext(glist,(t_text *)x));
GRID_SYS_VGUI3(".x%x.c delete %xGRID\n", canvas, x);
@@ -216,7 +216,7 @@ static void grid_draw_erase(t_grid* x,t_glist* glist)
static void grid_draw_select(t_grid* x,t_glist* glist)
{
- t_canvas *canvas=glist_getcanvas(glist);
+ t_canvas *canvas=glist_getcanvas(glist);
if(x->x_selected)
{
@@ -236,14 +236,14 @@ static void grid_output_current(t_grid* x)
t_float xvalue, yvalue;
t_float xmodstep, ymodstep;
- xvalue = x->x_min + (x->x_current - x->x_obj.te_xpix) * (x->x_max-x->x_min) / x->x_width ;
+ xvalue = x->x_min + (x->x_current - text_xpix(&x->x_obj, x->x_glist)) * (x->x_max-x->x_min) / x->x_width ;
if (xvalue < x->x_min ) xvalue = x->x_min;
if (xvalue > x->x_max ) xvalue = x->x_max;
xmodstep = ((float)((int)(xvalue*10000) % (int)(x->x_xstep*10000))/10000.);
xvalue = xvalue - xmodstep;
outlet_float( x->x_xoutlet, xvalue );
- yvalue = x->y_max - (x->y_current - x->x_obj.te_ypix ) * (x->y_max-x->y_min) / x->x_height ;
+ yvalue = x->y_max - (x->y_current - text_ypix(&x->x_obj, x->x_glist) ) * (x->y_max-x->y_min) / x->x_height ;
if (yvalue < x->y_min ) yvalue = x->y_min;
if (yvalue > x->y_max ) yvalue = x->y_max;
ymodstep = ((float)((int)(yvalue*10000) % (int)(x->x_ystep*10000))/10000.);
@@ -259,10 +259,10 @@ static void grid_getrect(t_gobj *z, t_glist *owner,
{
t_grid* x = (t_grid*)z;
- *xp1 = x->x_obj.te_xpix;
- *yp1 = x->x_obj.te_ypix;
- *xp2 = x->x_obj.te_xpix+x->x_width;
- *yp2 = x->x_obj.te_ypix+x->x_height;
+ *xp1 = text_xpix(&x->x_obj, x->x_glist);
+ *yp1 = text_ypix(&x->x_obj, x->x_glist);
+ *xp2 = text_xpix(&x->x_obj, x->x_glist)+x->x_width;
+ *yp2 = text_ypix(&x->x_obj, x->x_glist)+x->x_height;
}
static void grid_save(t_gobj *z, t_binbuf *b)
@@ -271,7 +271,7 @@ static void grid_save(t_gobj *z, t_binbuf *b)
// post( "saving grid : %s", x->x_name->s_name );
binbuf_addv(b, "ssiissiffiffiffiiff", gensym("#X"),gensym("obj"),
- (t_int)x->x_obj.te_xpix, (t_int)x->x_obj.te_ypix,
+ (t_int)text_xpix(&x->x_obj, x->x_glist), (t_int)text_ypix(&x->x_obj, x->x_glist),
gensym("grid"), x->x_name, x->x_width, x->x_min,
x->x_max, x->x_height,
x->y_min, x->y_max,
@@ -361,8 +361,8 @@ static void grid_delete(t_gobj *z, t_glist *glist)
static void grid_displace(t_gobj *z, t_glist *glist, int dx, int dy)
{
t_grid *x = (t_grid *)z;
- int xold = x->x_obj.te_xpix;
- int yold = x->x_obj.te_ypix;
+ int xold = text_xpix(&x->x_obj, glist);
+ int yold = text_ypix(&x->x_obj, glist);
// post( "grid_displace dx=%d dy=%d", dx, dy );
@@ -370,7 +370,7 @@ static void grid_displace(t_gobj *z, t_glist *glist, int dx, int dy)
x->x_current += dx;
x->x_obj.te_ypix += dy;
x->y_current += dy;
- if(xold != x->x_obj.te_xpix || yold != x->x_obj.te_ypix)
+ if(xold != text_xpix(&x->x_obj, glist) || yold != text_ypix(&x->x_obj, glist))
{
grid_draw_move(x, x->x_glist);
}
@@ -422,8 +422,8 @@ static void grid_goto(t_grid *x, t_floatarg newx, t_floatarg newy)
// post( "grid_set x=%f y=%f", newx, newy );
- x->x_current = newx + x->x_obj.te_xpix;
- x->y_current = newy + x->x_obj.te_ypix;
+ x->x_current = newx + text_xpix(&x->x_obj, x->x_glist);
+ x->y_current = newy + text_ypix(&x->x_obj, x->x_glist);
if(xold != x->x_current || yold != x->y_current)
{
grid_output_current(x);
@@ -439,12 +439,12 @@ static void grid_values(t_grid* x, t_floatarg xvalue, t_floatarg yvalue)
if (xvalue < x->x_min ) xvalue = x->x_min;
if (xvalue > x->x_max ) xvalue = x->x_max;
- x->x_current = x->x_obj.te_xpix + ((xvalue - x->x_min) / x->x_max) * x->x_width;
+ x->x_current = text_xpix(&x->x_obj, x->x_glist) + ((xvalue - x->x_min) / x->x_max) * x->x_width;
if (yvalue < x->y_min ) yvalue = x->y_min;
if (yvalue > x->y_max ) yvalue = x->y_max;
- x->y_current = x->x_obj.te_ypix + (1 - ((yvalue - x->y_min) / x->y_max)) * x->x_height;
+ x->y_current = text_ypix(&x->x_obj, x->x_glist) + (1 - ((yvalue - x->y_min) / x->y_max)) * x->x_height;
if(xold != x->x_current || yold != x->y_current) {
grid_output_current(x);
@@ -460,12 +460,12 @@ static void grid_xvalues(t_grid* x, t_floatarg xvalue, t_floatarg yvalue)
if (xvalue < x->x_min ) xvalue = x->x_min;
if (xvalue > x->x_max ) xvalue = x->x_max;
- x->x_current = x->x_obj.te_xpix + ((xvalue - x->x_min) / x->x_max) * x->x_width;
+ x->x_current = text_xpix(&x->x_obj, x->x_glist) + ((xvalue - x->x_min) / x->x_max) * x->x_width;
if (yvalue < x->y_min ) yvalue = x->y_min;
if (yvalue > x->y_max ) yvalue = x->y_max;
- x->y_current = x->x_obj.te_ypix + (1 - ((yvalue - x->y_min) / x->y_max)) * x->x_height;
+ x->y_current = text_ypix(&x->x_obj, x->x_glist) + (1 - ((yvalue - x->y_min) / x->y_max)) * x->x_height;
if(xold != x->x_current || yold != x->y_current) {
grid_draw_update(x, x->x_glist);
@@ -478,11 +478,11 @@ static void grid_valuemotion(t_grid* x, t_floatarg dx, t_floatarg dy)
int yold = x->y_current;
t_float xvalue, yvalue;
- xvalue = x->x_min + (x->x_current - x->x_obj.te_xpix) * (x->x_max-x->x_min) / x->x_width ;
+ xvalue = x->x_min + (x->x_current - text_xpix(&x->x_obj, x->x_glist)) * (x->x_max-x->x_min) / x->x_width ;
if (xvalue < x->x_min ) xvalue = x->x_min;
if (xvalue > x->x_max ) xvalue = x->x_max;
- yvalue = x->y_max - (x->y_current - x->x_obj.te_ypix ) * (x->y_max-x->y_min) / x->x_height ;
+ yvalue = x->y_max - (x->y_current - text_ypix(&x->x_obj, x->x_glist) ) * (x->y_max-x->y_min) / x->x_height ;
if (yvalue < x->y_min ) yvalue = x->y_min;
if (yvalue > x->y_max ) yvalue = x->y_max;
@@ -492,12 +492,12 @@ static void grid_valuemotion(t_grid* x, t_floatarg dx, t_floatarg dy)
if (xvalue < x->x_min ) xvalue = x->x_min;
if (xvalue > x->x_max ) xvalue = x->x_max;
- x->x_current = x->x_obj.te_xpix + ((xvalue - x->x_min) / x->x_max) * x->x_width;
+ x->x_current = text_xpix(&x->x_obj, x->x_glist) + ((xvalue - x->x_min) / x->x_max) * x->x_width;
if (yvalue < x->y_min ) yvalue = x->y_min;
if (yvalue > x->y_max ) yvalue = x->y_max;
- x->y_current = x->x_obj.te_ypix + (1 - ((yvalue - x->y_min) / x->y_max)) * x->x_height;
+ x->y_current = text_ypix(&x->x_obj, x->x_glist) + (1 - ((yvalue - x->y_min) / x->y_max)) * x->x_height;
if(xold != x->x_current || yold != x->y_current) {
grid_output_current(x);
@@ -511,11 +511,11 @@ static void grid_xvaluemotion(t_grid* x, t_floatarg dx, t_floatarg dy)
int yold = x->y_current;
t_float xvalue, yvalue;
- xvalue = x->x_min + (x->x_current - x->x_obj.te_xpix) * (x->x_max-x->x_min) / x->x_width ;
+ xvalue = x->x_min + (x->x_current - text_xpix(&x->x_obj, x->x_glist)) * (x->x_max-x->x_min) / x->x_width ;
if (xvalue < x->x_min ) xvalue = x->x_min;
if (xvalue > x->x_max ) xvalue = x->x_max;
- yvalue = x->y_max - (x->y_current - x->x_obj.te_ypix ) * (x->y_max-x->y_min) / x->x_height ;
+ yvalue = x->y_max - (x->y_current - text_ypix(&x->x_obj, x->x_glist) ) * (x->y_max-x->y_min) / x->x_height ;
if (yvalue < x->y_min ) yvalue = x->y_min;
if (yvalue > x->y_max ) yvalue = x->y_max;
@@ -525,12 +525,12 @@ static void grid_xvaluemotion(t_grid* x, t_floatarg dx, t_floatarg dy)
if (xvalue < x->x_min ) xvalue = x->x_min;
if (xvalue > x->x_max ) xvalue = x->x_max;
- x->x_current = x->x_obj.te_xpix + ((xvalue - x->x_min) / x->x_max) * x->x_width;
+ x->x_current = text_xpix(&x->x_obj, x->x_glist) + ((xvalue - x->x_min) / x->x_max) * x->x_width;
if (yvalue < x->y_min ) yvalue = x->y_min;
if (yvalue > x->y_max ) yvalue = x->y_max;
- x->y_current = x->x_obj.te_ypix + (1 - ((yvalue - x->y_min) / x->y_max)) * x->x_height;
+ x->y_current = text_ypix(&x->x_obj, x->x_glist) + (1 - ((yvalue - x->y_min) / x->y_max)) * x->x_height;
if(xold != x->x_current || yold != x->y_current) {
grid_draw_update(x, x->x_glist);
diff --git a/grid/help-grid.pd b/grid/help-grid.pd
index b31c29e..663237f 100644
--- a/grid/help-grid.pd
+++ b/grid/help-grid.pd
@@ -1,7 +1,7 @@
#N canvas 26 1 763 647 10;
-#X obj 71 76 grid grid1 200 0 199 200 0 199 1 1 1 10 10 188 197;
-#X floatatom 72 293 5 0 0;
-#X floatatom 257 282 5 0 0;
+#X obj 72 77 grid grid1 200 0 199 200 0 199 1 1 1 10 10 192 224;
+#X floatatom 72 293 5 0 0 0 - - -;
+#X floatatom 257 282 5 0 0 0 - - -;
#X text 41 21 Grid is a 2-dimensional control object;
#X text 319 449 (invoke with <right mouse>Properties );
#X text 322 439 You can set the following properties :;
@@ -28,12 +28,12 @@ grid;
#X msg 587 271 \; pd dsp 0;
#X msg 653 271 \; pd dsp 1;
#X obj 276 417 *~;
-#X floatatom 276 360 0 0 0;
+#X floatatom 276 360 0 0 0 0 - - -;
#X obj 357 397 line~;
-#X floatatom 188 380 0 0 0;
+#X floatatom 188 380 0 0 0 0 - - -;
#X obj 188 494 cos~;
#X obj 188 450 +~;
-#X floatatom 228 506 0 0 100;
+#X floatatom 228 506 0 0 100 0 - - -;
#N canvas 159 26 495 270 output 0;
#X obj 338 160 t b;
#X obj 338 110 f;
@@ -89,7 +89,7 @@ grid;
#X msg 266 506 MUTE;
#X obj 276 385 osc~ 0;
#X obj 357 371 pack 0 50;
-#X floatatom 357 318 0 0 0;
+#X floatatom 357 318 0 0 0 0 - - -;
#X obj 357 345 / 100;
#X text 188 345 carrier;
#X text 184 355 frequency;
@@ -104,34 +104,34 @@ grid;
#X text 393 325 in hundredths;
#X text 40 32 It was inspired by the chaospad device;
#X text 346 568 * Y step : Y delta for an Y update;
-#X floatatom 474 85 5 0 0;
-#X floatatom 586 84 5 0 0;
+#X floatatom 474 85 5 0 0 0 - - -;
+#X floatatom 586 84 5 0 0 0 - - -;
#X obj 411 82 pack f f;
#X msg 332 81 goto \$1 \$2;
#X msg 546 83 bang;
#X text 524 84 X;
#X text 333 63 Set position :;
#X text 631 85 Y;
-#X floatatom 486 120 5 0 0;
-#X floatatom 586 121 5 0 0;
+#X floatatom 486 120 5 0 0 0 - - -;
+#X floatatom 586 121 5 0 0 0 - - -;
#X obj 423 119 pack f f;
#X msg 546 120 bang;
#X text 530 120 X;
#X text 634 121 Y;
-#X floatatom 528 156 5 0 0;
-#X floatatom 633 156 5 0 0;
+#X floatatom 528 156 5 0 0 0 - - -;
+#X floatatom 633 156 5 0 0 0 - - -;
#X obj 465 153 pack f f;
#X msg 593 154 bang;
#X text 578 155 X;
#X text 679 156 Y;
-#X floatatom 503 191 5 0 0;
-#X floatatom 607 190 5 0 0;
+#X floatatom 503 191 5 0 0 0 - - -;
+#X floatatom 607 190 5 0 0 0 - - -;
#X obj 440 188 pack f f;
#X msg 568 189 bang;
#X text 553 190 X;
#X text 656 191 Y;
-#X floatatom 539 224 5 0 0;
-#X floatatom 638 226 5 0 0;
+#X floatatom 539 224 5 0 0 0 - - -;
+#X floatatom 638 226 5 0 0 0 - - -;
#X obj 472 223 pack f f;
#X msg 600 224 bang;
#X text 585 225 X;