[Gridflow-cvs] [svn] commit: r6075 - in /trunk/src: classes1.cxx classes2.cxx classes3.cxx classes_gui.cxx formats.cxx gem.cxx grid.cxx gridflow.cxx gridflow.hxx opengl.cxx pdp.cxx quicktimehw.cxx sdl.cxx source_filter.rb v4l2.cxx videodev.cxx x11.cxx

svn-gridflow at artengine.ca svn-gridflow at artengine.ca
Fri Aug 13 13:00:31 EDT 2010


Author: matju
Date: Fri Aug 13 13:00:27 2010
New Revision: 6075

Log:
'outlets' shortened to 'out' (but they remain outlet pointers) and introducing a radical shorthand using operator ()

Modified:
    trunk/src/classes1.cxx
    trunk/src/classes2.cxx
    trunk/src/classes3.cxx
    trunk/src/classes_gui.cxx
    trunk/src/formats.cxx
    trunk/src/gem.cxx
    trunk/src/grid.cxx
    trunk/src/gridflow.cxx
    trunk/src/gridflow.hxx
    trunk/src/opengl.cxx
    trunk/src/pdp.cxx
    trunk/src/quicktimehw.cxx
    trunk/src/sdl.cxx
    trunk/src/source_filter.rb
    trunk/src/v4l2.cxx
    trunk/src/videodev.cxx
    trunk/src/x11.cxx

Modified: trunk/src/classes1.cxx
==============================================================================
--- trunk/src/classes1.cxx (original)
+++ trunk/src/classes1.cxx Fri Aug 13 13:00:27 2010
@@ -162,7 +162,7 @@
 };
 GRID_INLET(0) {
 } GRID_FLOW {
-	for (int i=0; i<n; i++) outlet_float(outlets[0],data[i]);
+	for (int i=0; i<n; i++) out[0](float(data[i]));
 } GRID_END
 \end class {install("#to_float",1,1); add_creator("#to_f"); add_creator("#export"); add_creator("@export");}
 
@@ -176,7 +176,7 @@
 	char c[n+1];
 	for (int i=0; i<n; i++) c[i]=(char)data[i];
 	c[n]=0;
-	outlet_symbol(outlets[0],gensym(c));
+	out[0](gensym(c));
 } GRID_END
 \end class {install("#to_symbol",1,1); add_creator("#to_s"); add_creator("#export_symbol"); add_creator("@export_symbol");}
 
@@ -933,7 +933,7 @@
 	\constructor () {}
 	\grin 0
 };
-GRID_INLET(0) {} GRID_FINISH {outlet_bang(outlets[0]);} GRID_END
+GRID_INLET(0) {} GRID_FINISH {out[0]();} GRID_END
 \end class {install("#finished",1,1); add_creator("@finished");}
 \class GridDim : FObject {
 	\constructor () {}
@@ -950,8 +950,8 @@
 	\grin 0
 };
 GRID_INLET(0) {
-	if (abbr) outlet_symbol(outlets[0],gensym(const_cast<char *>(number_type_table[in.nt].alias)));
-	else      outlet_symbol(outlets[0],gensym(const_cast<char *>(number_type_table[in.nt].name)));
+	if (abbr) out[0](gensym(const_cast<char *>(number_type_table[in.nt].alias)));
+	else      out[0](gensym(const_cast<char *>(number_type_table[in.nt].name)));
 } GRID_END
 \end class {install("#type",1,1); add_creator("@type");}
 

Modified: trunk/src/classes2.cxx
==============================================================================
--- trunk/src/classes2.cxx (original)
+++ trunk/src/classes2.cxx Fri Aug 13 13:00:27 2010
@@ -131,7 +131,7 @@
 		j++;
 		int k=j;
 		for (; j<ac; j++) if (av[j].a_type==A_SYMBOL && av[j].a_symbol==comma) break;
-		//outlet_anything2(outlets[sargc],j-k,av+k);
+		//outlet_anything2(out[sargc],j-k,av+k);
 		t_text *t = (t_text *)canvas_getabstop(mom);
 		if (!t->te_inlet) RAISE("can't send init-messages, because object has no [inlet]");
 		if (j-k) pd_anything2((t_pd *)t->te_inlet,j-k,av+k);
@@ -151,14 +151,13 @@
 			}
 		} else v = &argv[i];
 		if (sargv[i].name==wildcard) {
-			if (argc-i>0) outlet_list(outlets[i],&s_list,argc-i,argv+i);
-			else outlet_bang(outlets[i]);
+			if (argc-i>0) out[i](argc-i,argv+i); else out[i]();
 		} else {
 			if (v->a_type==A_LIST) {
 				t_binbuf *b = (t_binbuf *)v->a_gpointer;
-				outlet_list(outlets[i],&s_list,binbuf_getnatom(b),binbuf_getvec(b));
-			} else if (v->a_type==A_SYMBOL) outlet_symbol(outlets[i],v->a_symbol);
-			else outlet_anything2(outlets[i],1,v);
+				out[i](binbuf_getnatom(b),binbuf_getvec(b));
+			} else if (v->a_type==A_SYMBOL) out[i](v->a_symbol);
+			else outlet_anything2(out[i],1,v);
 		}
 	}
 	if (argc>sargc && sargv[sargc-1].name!=wildcard) pd_error(canvas,"warning: too many args (got %d, want %d)", argc, sargc);
@@ -223,9 +222,7 @@
 	table_t table;
 	\constructor () {}
 	//void outlet_entry(const typeof(table.begin()) &f) // can't use this in gcc<4.4
-	void outlet_entry(const table_t::iterator &f) {
-		outlet_anything(outlets[0],f->first,f->second.size(),&*f->second.begin());
-	}
+	void outlet_entry(const table_t::iterator &f) {out[0](f->first,f->second.size(),&*f->second.begin());}
 	\decl 0 get (t_symbol *s=0) {
 		if (s) {
 			typeof(table.begin()) f = table.find(s);
@@ -301,17 +298,10 @@
 	\decl 0 symbol(t_atom2 a) {find(&a);}
 	void find (const t_atom *a) {
 		int i=0; for (; i<ac; i++) if (atom_eq(at[i],*a)) break;
-		outlet_float(outlets[0],i==ac?-1:i);
+		out[0](i==ac?-1:i);
 	}
 };
 \end class {install("listfind",2,1);}
-
-void outlet_atom2 (t_outlet *self, t_atom *av) {
-	if (av->a_type==A_FLOAT)   outlet_float(  self,av->a_float);    else
-	if (av->a_type==A_SYMBOL)  outlet_symbol( self,av->a_symbol);   else
-	if (av->a_type==A_POINTER) outlet_pointer(self,av->a_gpointer); else
-	outlet_list(self,gensym("list"),1,av);
-}
 
 \class ListRead : FObject { /* sounds like tabread */
 	int ac;
@@ -321,8 +311,8 @@
 	\decl 0 float(float f) {
 		int i = int(f);
 		if (i<0) i+=ac;
-		if (i<0 || i>=ac) {outlet_bang(outlets[0]); return;} /* out-of-range */
-		outlet_atom2(outlets[0],&at[i]);
+		if (i<0 || i>=ac) {out[0](); return;} /* out-of-range */
+		outlet_atom2(out[0],&at[i]);
 	}
 	\decl 1 list(...) {
 		if (at) delete[] at;
@@ -347,7 +337,7 @@
 	~Range () {delete[] mosusses;}
 	\decl 0 float(float f) {
 		int i; for (i=0; i<nmosusses; i++) if (f<mosusses[i]) break;
-		outlet_float(outlets[i],f);
+		out[i](f);
 	}
 	\decl 0 list(float f) {_0_float(f);}
 	\decl void _n_float(int i, float f);
@@ -428,8 +418,8 @@
 	SETFLOAT(b+0,tv.tv_sec/86400);
 	SETFLOAT(b+1,mod(tv.tv_sec,86400));
 	SETFLOAT(b+2,tv.tv_usec);
-	outlet_anything(outlets[2],&s_list,6,a);
-	outlet_anything(outlets[1],&s_list,3,b);
+	out[2](6,a);
+	out[1](3,b);
 	send_out(0,strlen(tt),tt);
 }
 
@@ -503,11 +493,11 @@
 #ifndef __WIN32__
 	int flags;
 	if (ioctl(fd,LPGETFLAGS,&flags)<0) post("ioctl: %s",strerror(errno));
-	if (this->flags!=flags) outlet_float(outlets[2],flags);
+	if (this->flags!=flags) out[2](flags);
 	this->flags = flags;
 	int status;
 	if (ioctl(fd,LPGETSTATUS,&status)<0) post("ioctl: %s",strerror(errno));
-	if (this->status!=status) outlet_float(outlets[1],status);
+	if (this->status!=status) out[1](status);
 	this->status = status;
 	if (clock) clock_delay(clock,2000);
 #endif
@@ -526,7 +516,7 @@
 	\decl void anything(...) {
 		t_symbol *sel = gensym(argv[0].a_symbol->s_name+3);
 		int i=0; for (i=0; i<nsels; i++) if (sel==sels[i]) break;
-		outlet_anything(outlets[i],sel,argc-1,argv+1);
+		out[i](sel,argc-1,argv+1);
 	}
 	\decl 1 list(...) {
 		for (int i=0; i<argc; i++) if (argv[i].a_type!=A_SYMBOL) {delete[] sels; RAISE("$%d: expected symbol",i+1);}
@@ -546,7 +536,7 @@
 		t_symbol *sel = gensym(argv[0].a_symbol->s_name+3);
 		int i=0; for (i=0; i<nsels; i++) if (sel==sels[i]) break;
 		if (sel!=&s_bang && sel!=&s_float && sel!=&s_symbol && sel!=&s_pointer) sel=&s_list;
-		outlet_anything(outlets[i],sel,argc-1,argv+1);
+		out[i](sel,argc-1,argv+1);
 	}
 	\decl 1 list(...) {
 		for (int i=0; i<argc; i++) if (argv[i].a_type!=A_SYMBOL) {delete[] sels; RAISE("$%d: expected symbol",i+1);}
@@ -578,7 +568,7 @@
 };
 \def void anything(...) {
 	t_symbol *sel = gensym(argv[0].a_symbol->s_name+3);
-	outlet_anything(outlets[index],sel,argc-1,argv+1);
+	out[index](sel,argc-1,argv+1);
 	if (mode) {
 		index += sgn(mode);
 		if (index<lo || index>hi) {
@@ -638,8 +628,8 @@
 	do_bind(argc,argv);
 }
 void ReceivesProxy_anything (ReceivesProxy *self, t_symbol *s, int argc, t_atom *argv) {
-	outlet_symbol(  self->parent->outlets[1],self->suffix);
-	outlet_anything(self->parent->outlets[0],s,argc,argv);
+	self->parent->out[1](self->suffix);
+	self->parent->out[0](s,argc,argv);
 }
 \end class {
 	install("receives",1,2);
@@ -653,7 +643,7 @@
 	\decl void _0_symbol(t_symbol *s);
 };
 \def void _0_symbol(t_symbol *s) {
-	outlet_float(outlets[0],!!zgetfn(&pd_objectmaker,s));
+	out[0](!!zgetfn(&pd_objectmaker,s));
 }
 \end class {install("class_exists",1,1);}
 
@@ -668,10 +658,10 @@
 	list = list_new(argc,argv);
 }
 \def 0 list (...) {
-	if (binbuf_getnatom(list) != argc) {outlet_float(outlets[0],0); return;}
+	if (binbuf_getnatom(list) != argc) {out[0](0); return;}
 	t_atom2 *at = (t_atom2 *)binbuf_getvec(list);
-	for (int i=0; i<argc; i++) if (!atom_eq(at[i],argv[i])) {outlet_float(outlets[0],0); return;}
-	outlet_float(outlets[0],1);
+	for (int i=0; i<argc; i++) if (!atom_eq(at[i],argv[i])) {out[0](0); return;}
+	out[0](1);
 }
 \end class {install("list.==",2,1);}
 
@@ -701,21 +691,21 @@
 	clock_t time;
 	\constructor () {_0_bang();}
 	\decl 0 bang () {NOWIN; struct tms t; times(&t); time = t.tms_utime;}
-	\decl 1 bang () {NOWIN; struct tms t; times(&t); outlet_float(outlets[0],(t.tms_utime-time)*1000/HZ);}
+	\decl 1 bang () {NOWIN; struct tms t; times(&t); out[0]((t.tms_utime-time)*1000/HZ);}
 };
 \end class {install("usertime",2,1);}
 \class SystemTime : FObject {
 	clock_t time;
 	\constructor () {_0_bang();}
 	\decl 0 bang () {NOWIN; struct tms t; times(&t); time = t.tms_stime;}
-	\decl 1 bang () {NOWIN; struct tms t; times(&t); outlet_float(outlets[0],(t.tms_stime-time)*1000/HZ);}
+	\decl 1 bang () {NOWIN; struct tms t; times(&t); out[0]((t.tms_stime-time)*1000/HZ);}
 };
 \end class {install("systemtime",2,1);}
 \class TSCTime : FObject {
 	uint64 time;
 	\constructor () {_0_bang();}
 	\decl 0 bang () {time=rdtsc();}
-	\decl 1 bang () {outlet_float(outlets[0],(rdtsc()-time)*1000.0/cpu_hertz);}
+	\decl 1 bang () {out[0]((rdtsc()-time)*1000.0/cpu_hertz);}
 };
 \end class {install("tsctime",2,1);
 	struct timeval t0,t1;
@@ -762,7 +752,7 @@
 	\decl 0 symbol (t_atom2 a) {_0_list(1,&a);}
 	\decl 0 list (...) {
 		ostringstream o; pd_oprintf(o,format.data(),argc,argv); string s = o.str();
-		outlet_symbol(outlets[0],gensym(s.data()));
+		out[0](gensym(s.data()));
 	}
 };
 \end class {install("gf/sprintf",2,1);}
@@ -783,7 +773,7 @@
 
 \class ForEach : FObject {
 	\constructor () {}
-	\decl 0 list (...) {for (int i=0; i<argc; i++) outlet_atom(outlets[0],&argv[i]);}
+	\decl 0 list (...) {for (int i=0; i<argc; i++) out[0](argv+i);}
 };
 \end class {install("foreach",1,1);}
 
@@ -794,13 +784,13 @@
 \class GFCanvasFileName : FObject {
 	int n;
 	\constructor (int n=0) {this->n=n;}
-	\decl 0 bang () {MOM; outlet_symbol(outlets[0],m->gl_name ? m->gl_name : gensym("empty"));}
+	\decl 0 bang () {MOM; out[0](m->gl_name ? m->gl_name : gensym("empty"));}
 };
 \end class {install("gf/canvas_filename",1,1);}
 \class GFCanvasDollarZero : FObject {
 	int n;
 	\constructor (int n=0) {this->n=n;}
-	\decl 0 bang () {MOM; outlet_float(outlets[0],canvas_getenv(m)->ce_dollarzero);}
+	\decl 0 bang () {MOM; out[0](canvas_getenv(m)->ce_dollarzero);}
 };
 \end class {install("gf/canvas_dollarzero",1,1);}
 \class GFCanvasGetPos : FObject {
@@ -810,7 +800,7 @@
 		t_atom a[2];
 		SETFLOAT(a+0,m->gl_obj.te_xpix);
 		SETFLOAT(a+1,m->gl_obj.te_ypix);
-		outlet_list(outlets[0],&s_list,2,a);
+		out[0](2,a);
 	}
 };
 \end class {install("gf/canvas_getpos",1,1);}
@@ -837,7 +827,7 @@
 \class GFCanvasEditMode : FObject {
 	int n;
 	\constructor (int n=0) {this->n=n;}
-	\decl 0 bang () {MOM; outlet_float(outlets[0],m->gl_edit);}
+	\decl 0 bang () {MOM; out[0](int(m->gl_edit));}
 };
 \end class {install("gf/canvas_edit_mode",1,1);}
 \class GFCanvasIsSelected : FObject {
@@ -847,7 +837,7 @@
 	\constructor (int n=0) {this->n=n;}
 	\decl 0 bang () {MOM;
 		if (!m->gl_owner) RAISE("chosen canvas is not in any canvas");
-		outlet_float(outlets[0],(t_float)glist_isselected(m->gl_owner,(t_gobj *)m));
+		out[0](glist_isselected(m->gl_owner,(t_gobj *)m));
 	}
 };
 \end class {install("gf/canvas_isselected",1,1);}
@@ -869,9 +859,9 @@
 	~GFCanvasXID () {pd_unbind((t_pd *)bself,name);}
 	\decl 0 bang () {MOM; sys_vgui("pd %s xid [winfo id .x%lx.c] [winfo id .x%lx]\\;\n",name->s_name,long(m),long(m));}
 	\decl 0 xid (t_symbol *t, t_symbol *u) {MOM
-		outlet_symbol(outlets[2],symprintf(".x%lx",m));
-		outlet_symbol(outlets[1],u);
-		outlet_symbol(outlets[0],t);
+		out[2](symprintf(".x%lx",m));
+		out[1](u);
+		out[0](t);
 	}
 };
 \end class {install("gf/canvas_xid",1,3);}
@@ -912,7 +902,7 @@
 \class GFCanvasCount : FObject {
 	int n;
 	\constructor (int n=0) {this->n=n;}
-	\decl 0 bang () {MOM; int k=0; canvas_each(y,m) k++; outlet_float(outlets[0],k);}
+	\decl 0 bang () {MOM; int k=0; canvas_each(y,m) k++; out[0](k);}
 };
 \end class {install("gf/canvas_count",1,1);}
 \class GFCanvasIndex : FObject {
@@ -924,7 +914,7 @@
 		if (!mm) RAISE("chosen canvas is not in any canvas");
 		int k=0;
 		canvas_each(y,mm) {if (y==(t_gobj *)m) break; else k++;}
-		outlet_float(outlets[0],k);
+		out[0](k);
 	}
 };
 \end class {install("gf/canvas_index",1,1);}
@@ -1059,8 +1049,8 @@
 		if (horiz) x += x2-x1+incr;
 		else       y += y2-y1+incr;
 	}
-	if (horiz) outlet_float(outlets[0],x-x_start);
-	else       outlet_float(outlets[0],y-y_start);
+	if (horiz) out[0](x-x_start);
+	else       out[0](y-y_start);
 #else
 	post("doesn't work with DesireData");
 #endif
@@ -1127,7 +1117,7 @@
 		wb->w_getrectfn((t_gobj *)s->s_thing,mom,&x1,&y1,&x2,&y2);
 		SETFLOAT(a+0,x1); SETFLOAT(a+1,y1);
 		SETFLOAT(a+2,x2); SETFLOAT(a+3,y2);
-		outlet_anything(outlets[0],&s_list,4,a);
+		out[0](4,a);
 	}
 };
 
@@ -1155,21 +1145,21 @@
 	string b = string(from->s_name);
 	string c = string(to->s_name);
 	a = string_replace(a,b,c);
-	outlet_symbol(outlets[0],gensym(a.c_str()));
+	out[0](gensym(a.c_str()));
 }
 \end class {install("gf/string_replace",1,1);}
 
 \class GFStringLessThan : FObject {
 	t_symbol *than;
 	\constructor (t_symbol *than=&s_) {this->than=than;}
-	\decl 0 symbol (t_symbol *it) {outlet_float(outlets[0],strcmp(it->s_name,than->s_name)<0);}
+	\decl 0 symbol (t_symbol *it) {out[0](strcmp(it->s_name,than->s_name)<0);}
 	\decl 1 symbol (t_symbol *than) {this->than=than;}
 };
 \end class {install("gf/string_<",2,1); class_sethelpsymbol(fclass->bfclass,gensym("gf/string_0x3c"));}
 
 \class GFStringLength : FObject {
 	\constructor () {}
-	\decl 0 symbol (t_symbol *it) {outlet_float(outlets[0],strlen(it->s_name));}
+	\decl 0 symbol (t_symbol *it) {out[0](strlen(it->s_name));}
 };
 \end class {install("gf/string_length",1,1);}
 
@@ -1180,9 +1170,9 @@
 	    #ifdef __WIN32__
 		RAISE("getppid unsupported on win32");
 	    #else
-		outlet_float(outlets[1],getppid());
+		out[1](getppid());
 	    #endif
-	    outlet_float(outlets[0],getpid());
+	    out[0](getpid());
 	}
 };
 \end class {install("gf/getpid",1,2);}
@@ -1192,14 +1182,14 @@
 	\decl 0 bang () {
 	    char bof[PATH_MAX];
 	    if (!getcwd(bof,sizeof(bof))) RAISE("getcwd: %s",strerror(errno));
-	    outlet_symbol(outlets[0],gensym(bof));
+	    out[0](gensym(bof));
 	}
 };
 \end class {install("gf/getcwd",1,1);}
 
 \class GFSelector : FObject {
 	\constructor () {}
-	\decl void anything (...) {outlet_symbol(outlets[0],gensym(argv[0].a_symbol->s_name+3));}
+	\decl void anything (...) {out[0](gensym(argv[0].a_symbol->s_name+3));}
 };
 \end class {install("gf/selector",1,1);}
 
@@ -1210,22 +1200,22 @@
 	    int fd;
 	    char bof[MAXPDSTRING], *bofp;
 	    fd=open_via_path(canvas_getdir(m)->s_name,s->s_name,"",bof,&bofp,MAXPDSTRING,1);
-	    if (fd>=0) {close(fd); outlet_symbol(outlets[0],symprintf("%s/%s",bof,bofp)); return;}
+	    if (fd>=0) {close(fd); out[0](symprintf("%s/%s",bof,bofp)); return;}
 	    canvas_makefilename(m,s->s_name,bof,MAXPDSTRING);
 	    fd = open(bof,0,O_RDONLY);
 	    //post("(2) fd=%d for %s",fd,bof);
-	    if (fd>=0) {close(fd); outlet_symbol(outlets[0],gensym(bof)); return;}
+	    if (fd>=0) {close(fd); out[0](gensym(bof)); return;}
 
 	    string b = gf_find_file(string(s->s_name));
 	    fd = open(b.data(),0,O_RDONLY);
 	    //post("(3) fd=%d for %s",fd,b.data());
-	    if (fd>=0) {close(fd); outlet_symbol(outlets[0],gensym(b.data())); return;}
+	    if (fd>=0) {close(fd); out[0](gensym(b.data())); return;}
 
 	    fd = open(s->s_name,0,O_RDONLY);
 	    //post("(4) fd=%d for %s",fd,s->s_name);
-	    if (fd>=0) {close(fd); outlet_symbol(outlets[0],s); return;}
-
-	    outlet_bang(outlets[1]);
+	    if (fd>=0) {close(fd); out[0](s); return;}
+
+	    out[1]();
 	}
 };
 \end class {install("gf/find_file",1,2);}
@@ -1233,7 +1223,7 @@
 \class GFL2S : FObject {
 	t_symbol *sep;
 	\constructor (t_symbol *sep=0) {this->sep=sep?sep:gensym(" ");}
-	\decl 0 list (...) {outlet_symbol(outlets[0],gensym(join(argc,argv,sep->s_name).data()));}
+	\decl 0 list (...) {out[0](gensym(join(argc,argv,sep->s_name).data()));}
 	\decl 1 symbol (t_symbol *sep) {this->sep=sep;}
 };
 \end class {install("gf/l2s",2,1);}
@@ -1251,7 +1241,7 @@
 			if (*q==sepc) {                  a[n++]=symprintf("%.*s",q-p,p); q++; p=q;}
 			if (n==64) break;
 		}
-		outlet_list(outlets[0],&s_list,n,a);
+		out[0](n,a);
 	}
 	\decl 1 symbol (t_symbol *sep) {this->sep=sep;}
 };
@@ -1265,7 +1255,7 @@
 
 \class GFWrap : FObject {
 	\constructor () {}
-	\decl 0 float (float f) {outlet_float(outlets[0],f-floor(f));}
+	\decl 0 float (float f) {out[0](f-floor(f));}
 };
 \end class {install("gf/wrap",1,1);}
 
@@ -1273,16 +1263,16 @@
 \class InvPlus : FObject {
 	float b;
 	\constructor (float b=1) {this->b=b;}
-	\decl 0 float (float a)          {           outlet_float(outlets[0],b-a);}
-	\decl 0 list  (float a, float b) {this->b=b; outlet_float(outlets[0],b-a);}
+	\decl 0 float (float a)          {           out[0](b-a);}
+	\decl 0 list  (float a, float b) {this->b=b; out[0](b-a);}
 	\decl 1 float (float b) {this->b=b;}
 	\decl 1 list  (float b) {this->b=b;}};
 \end class {install("inv+",2,1); class_sethelpsymbol(fclass->bfclass,gensym("inv0x2b"));}
 \class InvTimes : FObject {
 	float b;
 	\constructor (float b=1) {this->b=b;}
-	\decl 0 float (float a)          {           outlet_float(outlets[0],b/a);}
-	\decl 0 list  (float a, float b) {this->b=b; outlet_float(outlets[0],b/a);}
+	\decl 0 float (float a)          {           out[0](b/a);}
+	\decl 0 list  (float a, float b) {this->b=b; out[0](b/a);}
 	\decl 1 float (float b) {this->b=b;}
 	\decl 1 list  (float b) {this->b=b;}};
 \end class {install("inv*",2,1); class_sethelpsymbol(fclass->bfclass,gensym("inv0x2a"));}
@@ -1299,13 +1289,13 @@
 			SETFLOAT(a+0,GF_VERSION_A);
 			SETFLOAT(a+1,GF_VERSION_B);
 			SETFLOAT(a+2,GF_VERSION_C);
-			outlet_anything(outlets[0],s,3,a);
+			out[0](s,3,a);
 		}
 		if (s==gensym("folder")) {
 			t_atom a[1];
 			extern t_symbol *gridflow_folder;
 			SETSYMBOL(a+0,gridflow_folder);
-			outlet_anything(outlets[0],s,1,a);
+			out[0](s,1,a);
 		}
 	}
 };
@@ -1315,7 +1305,7 @@
 \class PropertyBang : FObject {
 	\constructor () {propertybang_map[canvas_getabstop(mom)][(t_gobj *)bself]=1;}
 	~PropertyBang () {propertybang_map[canvas_getabstop(mom)].erase((t_gobj *)bself);}
-	void properties () {outlet_bang(outlets[0]);}
+	void properties () {out[0]();}
 };
 extern "C" void canvas_properties(t_gobj *z, t_glist *owner);
 void canvas_properties2(t_gobj *z, t_glist *owner) {

Modified: trunk/src/classes3.cxx
==============================================================================
--- trunk/src/classes3.cxx (original)
+++ trunk/src/classes3.cxx Fri Aug 13 13:00:27 2010
@@ -341,8 +341,8 @@
 	blah[0] = sum ? sumy/sum : 0;
 	blah[1] = sum ? sumx/sum : 0;
 	go->send(2,blah);
-	outlet_float(outlets[1],blah[0]);
-	outlet_float(outlets[2],blah[1]);
+	out[1](blah[0]);
+	out[2](blah[1]);
 } GRID_END
 
 \end class {install("#centroid",1,3);}
@@ -1281,7 +1281,7 @@
 	if (in.dim[0]!=this->n) RAISE("expecting dim(%ld), got dim(%ld)",this->n,in.dim[0]);
 	in.set_chunk(0);
 } GRID_FLOW {
-	for (int i=n-1; i>=0; i--) outlet_float(outlets[i],(t_float)data[i]);
+	for (int i=n-1; i>=0; i--) out[i](float(data[i]));
 } GRID_END
 \end class {install("#unpack",1,0);}
 

Modified: trunk/src/classes_gui.cxx
==============================================================================
--- trunk/src/classes_gui.cxx (original)
+++ trunk/src/classes_gui.cxx Fri Aug 13 13:00:27 2010
@@ -317,7 +317,7 @@
 		if (key) SETSYMBOL(a+3,key);
 		t_symbol *s = gensym(ss);
 		if (snd) pd_anything((t_pd *)snd,s,key?4:3,a);
-		else outlet_anything(outlets[0] ,s,key?4:3,a);
+		else                      out[0](s,key?4:3,a);
 	}
 	\decl 0 mouse   (int x_, int y_, int but, int z=0) {y=y_; x=x_; flags|=  128<<but ;          event("position");}
 	\decl 0 mouseup (int x_, int y_, int but, int z=0) {y=y_; x=x_; flags&=~(128<<but);          event("position");}
@@ -392,7 +392,7 @@
 			t_atom a[4]; SETFLOAT(a+0,y); SETFLOAT(a+1,x); SETFLOAT(a+2,flags);
 			if (k) SETSYMBOL(a+3,k);
 			hold = (flags&-256) != 0;
-			outlet_anything(outlets[0],gensym(sel),k?4:3,a);
+			out[0](gensym(sel),k?4:3,a);
 		}
 	}
 	\decl 0 position   (int y, int x, int flags             ) {event(y,x,flags,0,"position"  );}
@@ -445,7 +445,7 @@
 		if (osx!=sx || osy!=sy) canvas_fixlinesfor(c,(t_object *)bself);
 		sys_vgui("gridsee_update %s .x%x.c %d %d %d %d %d %d %d %d #cccccc %s\n",rsym->s_name,c,
 			text_xpix(bself,mom),text_ypix(bself,mom),sx,sy,mx1,my1,mx2,my2,selected?"#0000ff":"#aaaaaa");
-		outlet_anything(outlets[0],gensym("shown"),0,0);
+		out[0](gensym("shown"),0,0);
 	}
 	static void doh (void *x) {INIT1
 		MouseSpy *ms = (MouseSpy *)self->spy->self;
@@ -511,7 +511,7 @@
 		this->text = text;
 		outline = "#eeeeee";
 	}
-	\decl 0 bang () {outlet_bang(outlets[0]);}
+	\decl 0 bang () {out[0]();}
 	\decl 0 size (int sy, int sx) {this->sy=sy; this->sx=sx;}
 	void show () {
 		//if (osx!=sx || osy!=sy) canvas_fixlinesfor(c,(t_object *)bself);

Modified: trunk/src/formats.cxx
==============================================================================
--- trunk/src/formats.cxx (original)
+++ trunk/src/formats.cxx Fri Aug 13 13:00:27 2010
@@ -70,14 +70,14 @@
   \decl 0 symbol (t_symbol *str) {
 	char *s = strdup(str->s_name);
 	char *t = strrchr(s,'.');
-	if (!t) outlet_symbol(outlets[2],gensym(s));
+	if (!t) out[2](gensym(s));
 	else {
 		*t = 0;
 		for (char *u=t+1; *u; u++) *u=tolower(*u);
-		outlet_symbol(outlets[1],gensym(t+1));
+		out[1](gensym(t+1));
 		map<string,string>::iterator u = suffix_table.find(string(t+1));
-		if (u==suffix_table.end()) outlet_bang(outlets[0]);
-		else outlet_symbol(outlets[0],gensym((char *)u->second.data()));
+		if (u==suffix_table.end()) out[0]();
+		else out[0](gensym((char *)u->second.data()));
 	}
 	free(s);
   }

Modified: trunk/src/gem.cxx
==============================================================================
--- trunk/src/gem.cxx (original)
+++ trunk/src/gem.cxx Fri Aug 13 13:00:27 2010
@@ -284,12 +284,12 @@
 		t_atom ap[2];
 		SETPOINTER(ap+0,(t_gpointer *)cache); // GemCache
 		SETPOINTER(ap+1,(t_gpointer *)state);
-		outlet_anything(outlets[0],gensym("gem_state"),2,ap);
+		out[0](gensym("gem_state"),2,ap);
 	}
 	\decl 0 float (float state) {
 		t_atom ap[1];
 		SETFLOAT(ap,!!state);
-		outlet_anything(outlets[0],gensym("gem_state"),1,ap);
+		out[0](gensym("gem_state"),1,ap);
 	}
 };
 \end class {install("gemdead",1,1);}

Modified: trunk/src/grid.cxx
==============================================================================
--- trunk/src/grid.cxx (original)
+++ trunk/src/grid.cxx Fri Aug 13 13:00:27 2010
@@ -191,7 +191,7 @@
 	t_atom a[1];
 	SETGRIDOUT(a,this);
 	if (parent) {
-		outlet_anything(parent->outlets[woutlet],s_grid,1,a);
+		outlet_anything(parent->out[woutlet],s_grid,1,a);
 		if (!dim.prod()) finish();
 	}
 }

Modified: trunk/src/gridflow.cxx
==============================================================================
--- trunk/src/gridflow.cxx (original)
+++ trunk/src/gridflow.cxx Fri Aug 13 13:00:27 2010
@@ -198,12 +198,18 @@
 	return self;
 }
 
-// from desiredata/src/kernel.c
-void outlet_atom(t_outlet *x, t_atom *a) {
-    if      (a->a_type==A_FLOAT  ) outlet_float(  x,a->a_float);
-    else if (a->a_type==A_SYMBOL ) outlet_symbol( x,a->a_symbol);
-    else if (a->a_type==A_POINTER) outlet_pointer(x,a->a_gpointer);
+// adapted from desiredata/src/kernel.c
+void PtrOutlet::operator () (t_atom *a) {
+    if      (a->a_type==A_FLOAT  ) outlet_float(  p,a->a_float);
+    else if (a->a_type==A_SYMBOL ) outlet_symbol( p,a->a_symbol);
+    else if (a->a_type==A_POINTER) outlet_pointer(p,a->a_gpointer);
     else error("can't send atom whose type is %d",a->a_type);
+}
+void outlet_atom2 (t_outlet *self, t_atom *av) {
+	if (av->a_type==A_FLOAT)   outlet_float(  self,av->a_float);    else
+	if (av->a_type==A_SYMBOL)  outlet_symbol( self,av->a_symbol);   else
+	if (av->a_type==A_POINTER) outlet_pointer(self,av->a_gpointer); else
+	outlet_list(self,gensym("list"),1,av);
 }
 
 //----------------------------------------------------------------
@@ -630,8 +636,8 @@
 	mom = (t_canvas *)canvas_getcurrent();
 	ninlets  = 1;
 	noutlets = 0;
-	inlets  = new  BFProxy*[1];
-	outlets = new PtrOutlet[1];
+	inlets = new  BFProxy*[1];
+	out    = new PtrOutlet[1];
 	FClass *fc = fclasses[name];
 	inlets[0] = 0; // inlet 0 of this table is not in use
 	ninlets_set( fc->ninlets ,false);
@@ -640,7 +646,7 @@
 FObject::~FObject () {
 	ninlets_set(1,false);
 	delete[] inlets;
-	delete[] outlets;
+	delete[] out;
 }
 static void *BFObject_new (t_symbol *classsym, int ac, t_atom *at) {
     string name = string(classsym->s_name);
@@ -738,12 +744,12 @@
 	if (draw) BFObject_undrawio(bself);
 	if (noutlets<n) {
 		PtrOutlet*noo = new PtrOutlet[n>0?n:1];
-		memcpy(noo,outlets,noutlets*sizeof(t_outlet*));
-		delete[] outlets;
-		outlets = noo;
-		while (noutlets<n) outlets[noutlets++].p = outlet_new(bself,&s_anything);
+		memcpy(noo,out,noutlets*sizeof(t_outlet*));
+		delete[] out;
+		out = noo;
+		while (noutlets<n) out[noutlets++].p = outlet_new(bself,&s_anything);
 	} else {
-		while (noutlets>n) outlet_free(outlets[--noutlets]);
+		while (noutlets>n) outlet_free(out[--noutlets]);
 	}
 	if (draw) BFObject_redraw(bself);
 }
@@ -824,9 +830,9 @@
 	if (fclass->startup) fclass->startup(fclass);
 }
 
-void install2(FClass *fclass, const char *name, int inlets, int outlets, int flags) {
-	fclass->ninlets = inlets;
-	fclass->noutlets = outlets;
+void install2(FClass *fclass, const char *name, int ninlets, int noutlets, int flags) {
+	fclass->ninlets = ninlets;
+	fclass->noutlets = noutlets;
 	fclass->name = string(name);
 	fclass->bfclass = class_new(gensym((char *)name), (t_newmethod)BFObject_new, (t_method)BFObject_delete,
 		sizeof(BFObject), flags, A_GIMME,0);

Modified: trunk/src/gridflow.hxx
==============================================================================
--- trunk/src/gridflow.hxx (original)
+++ trunk/src/gridflow.hxx Fri Aug 13 13:00:27 2010
@@ -807,7 +807,19 @@
 struct PtrOutlet {
 	t_outlet *p;
 	operator t_outlet * () {return p;}
-};
+	void operator () ()              {outlet_bang(   p  );}
+	void operator () (int f)         {outlet_float(  p,f);}
+	void operator () (long f)        {outlet_float(  p,f);}
+	void operator () (size_t f)      {outlet_float(  p,f);}
+	void operator () (float f)       {outlet_float(  p,f);}
+	void operator () (double f)      {outlet_float(  p,f);}
+	void operator () (t_symbol *s)   {outlet_symbol( p,s);}
+	void operator () (t_gpointer *g) {outlet_pointer(p,g);}
+	void operator () (             int argc, t_atom *argv) {outlet_list(p,&s_list,argc,argv);}
+	void operator () (t_symbol *s, int argc, t_atom *argv) {outlet_anything(p,s,  argc,argv);}
+	void operator () (t_atom *a);
+};
+void outlet_atom2 (t_outlet *self, t_atom *av);
 
 // represents objects that have inlets/outlets
 \class FObject {
@@ -815,8 +827,8 @@
 	virtual void changed (t_symbol *s=0) {}
 	BFObject *bself; // point to PD peer
 	int ninlets,noutlets; // per object settings (not class)
-	BFProxy  **inlets;    // direct access to  inlets (not linked lists)
-	PtrOutlet *outlets;  // direct access to outlets (not linked lists)
+	BFProxy  **inlets; // direct access to  inlets (not linked lists)
+	PtrOutlet *out;    // direct access to outlets (not linked lists)
 	t_canvas *mom;
 	void  ninlets_set(int n, bool draw=true);
 	void noutlets_set(int n, bool draw=true);
@@ -826,7 +838,7 @@
 	template <class T> void send_out(int outlet, int argc, T *argv) {
 		t_atom foo[argc];
 		for (int i=0; i<argc; i++) SETFLOAT(&foo[i],argv[i]);
-		outlet_list(outlets[outlet],&s_list,argc,foo);
+		outlet_list(out[outlet],&s_list,argc,foo);
 	}
 	\decl 0 get (t_symbol *s=0);
 	\decl 0 help ();
@@ -951,9 +963,4 @@
 };
 #endif
 
-// from desiredata/src/kernel.c
-#ifndef DESIRE
-extern void outlet_atom(t_outlet *x, t_atom *a);
-#endif
-
 #endif // __GF_GRID_H

Modified: trunk/src/opengl.cxx
==============================================================================
--- trunk/src/opengl.cxx (original)
+++ trunk/src/opengl.cxx Fri Aug 13 13:00:27 2010
@@ -902,7 +902,7 @@
 		for (int i=0; i<argc; i++) textures[i] = argv[i];
 		if (glAreTexturesResident(argc,textures,residences)) for (int i=0; i<argc; i++) a[i]=1;
 		else						     for (int i=0; i<argc; i++) a[i]=residences[i];
-		outlet_list(outlets[0],&s_list,argc,a);
+		out[0](argc,a);
 	}
 	\decl 0 array_element (int i) {glArrayElement(i);}
 	\decl 0 begin (t_atom2 a) {glBegin(primitive_type(a));}
@@ -1016,14 +1016,14 @@
 		if (n<1) RAISE("$1 must be at least 1");
 		uint32 list = glGenLists(n);
 		//t_atom2 a[n]; for (int i=0; i<n; i++) a[i]=list+i;
-		//outlet_anything(outlets[0],&s_list,n,a);
-		outlet_float(outlets[0],list);
+		//out[0](n,a);
+		out[0](list);
 	}
 	\decl 0 gen_textures (int n) {
 		if (n<1) RAISE("$1 must be at least 1");
 		uint32 textures[n]; glGenTextures(n,textures);
 		t_atom2 a[n]; for (int i=0; i<n; i++) a[i]=textures[i];
-		outlet_anything(outlets[0],&s_list,n,a);
+		out[0](&s_list,n,a);
 	}
 	\decl 0 get_error () {
 		t_symbol *error = gensym("error");
@@ -1031,7 +1031,7 @@
 			GLenum e = glGetError();
 			if (e==GL_NO_ERROR) break;
 			t_atom2 a[1]; a[0] = gl_error.reverse(e);
-			outlet_anything(outlets[0],error,1,a);
+			out[0](error,1,a);
 		}
 	}
 	\decl 0 get_light (int light, t_atom pname) { // not in GEM
@@ -1040,14 +1040,14 @@
 		float fv[n]; t_atom2 a[n];
 		glGetLightfv(GL_LIGHT0+light,e,fv);
 		for (int i=0; i<n; i++) a[i]=fv[i];
-		outlet_list(outlets[0],&s_list,n,a);
+		out[0](n,a);
 	}
 	\decl 0 get_map (t_atom target, t_atom pname) {
 		RAISE("what do i do with this ?");
 		//float fv[n];
 		//glGetMapfv(get_map_target(target),get_map_parameter(pname),fv);
 		//t_atom2 a[n]; for (int i=0; i<n; i++) a[i]=fv[i];
-		//outlet_list(outlets[0],&s_list,n,a);
+		//out[0](n,a);
 	}
 	\decl 0 get_pointer (t_atom pname) {
 		RAISE("what do i do with this ?");
@@ -1058,7 +1058,7 @@
 	\decl 0 get_string (t_atom pname) {
 		const char *s = (const char *)glGetString(get_string_parameter(pname));
 		if (!s) RAISE("boo");
-		outlet_symbol(outlets[0],gensym(s));
+		out[0](gensym(s));
 	}
 	\decl 0 get_tex_env (t_atom target, t_atom pname) {
 		GLenum e = tex_env_parameter(pname);
@@ -1074,15 +1074,15 @@
 		//post("reading property %d 0x%04X %s n=%d",e,e,s->s_name,n);
 		glGetFloatv(e,fv);
 		t_atom2 a[n]; for (int i=0; i<n; i++) a[i]=fv[i];
-		outlet_anything(outlets[0],s,n,a);
+		out[0](s,n,a);
 	}
 	\decl 0 hint (t_atom target, t_atom mode) {glHint(hint_target(target),hint_mode(mode));}
 	\decl 0 index (float value) {glIndexf(value);}
 	\decl 0 index_mask (bool flag) {glIndexMask(flag);}
 	\decl 0 init_names () {glInitNames();}
-	\decl 0 is_enabled (t_atom cap) {outlet_float(outlets[0],glIsEnabled(capability(cap)));}
-	\decl 0 is_list    (uint32 list   ) {outlet_float(outlets[0],glIsList(   list   ));}
-	\decl 0 is_texture (uint32 texture) {outlet_float(outlets[0],glIsTexture(texture));}
+	\decl 0 is_enabled (t_atom cap    ) {out[0](glIsEnabled(capability(cap)));}
+	\decl 0 is_list    (uint32 list   ) {out[0](glIsList(   list   ));}
+	\decl 0 is_texture (uint32 texture) {out[0](glIsTexture(texture));}
 	\decl 0 light (...) {
 		if (argc<3) RAISE("minimum 3 args");
 		int light = (int)argv[0];

Modified: trunk/src/pdp.cxx
==============================================================================
--- trunk/src/pdp.cxx (original)
+++ trunk/src/pdp.cxx Fri Aug 13 13:00:27 2010
@@ -54,7 +54,7 @@
 	d=data; for (int y=0; y<sy; y+=2, d+=3*sx) for (int x=0; x<sx; x+=2,d+=6) *tada++ = (RGB2V_(d[0],d[1],d[2])-128)<<8;
 	d=data; for (int y=0; y<sy; y+=2, d+=3*sx) for (int x=0; x<sx; x+=2,d+=6) *tada++ = (RGB2U_(d[0],d[1],d[2])-128)<<8;
 
-	pdp_packet_pass_if_valid(outlets[0],&packet);
+	pdp_packet_pass_if_valid(out[0],&packet);
 } GRID_FINISH {
 } GRID_END
 \end class {install("#to_pdp",1,1);}

Modified: trunk/src/quicktimehw.cxx
==============================================================================
--- trunk/src/quicktimehw.cxx (original)
+++ trunk/src/quicktimehw.cxx Fri Aug 13 13:00:27 2010
@@ -124,7 +124,7 @@
 	}
 	long length = quicktime_video_length(anim,track);
 	long nframe = quicktime_video_position(anim,track);
-	if (nframe >= length) {outlet_bang(outlets[0]); return;}
+	if (nframe >= length) {out[0](); return;}
 	/* if it works, only do it once, to avoid silly stderr messages forgotten in LQT */
 	if (!quicktime_reads_cmodel(anim,colorspace,0) && !started) {
 		RAISE("LQT says this video cannot be decoded into the chosen colorspace");

Modified: trunk/src/sdl.cxx
==============================================================================
--- trunk/src/sdl.cxx (original)
+++ trunk/src/sdl.cxx Fri Aug 13 13:00:27 2010
@@ -151,10 +151,10 @@
 	\decl 0 setcursor (int shape);
 	\decl 0 hidecursor ();
 	\decl 0 title (string title);
-	\decl 0 position   (...) {outlet_anything(outlets[0],gensym("position"),  argc,argv);}
-	\decl 0 keypress   (...) {outlet_anything(outlets[0],gensym("keypress"),  argc,argv);}
-	\decl 0 keyrelease (...) {outlet_anything(outlets[0],gensym("keyrelease"),argc,argv);}
-	\decl 0 loadbang () {outlet_anything(outlets[0],gensym("nogrey"),0,0);}
+	\decl 0 position   (...) {out[0](gensym("position"),  argc,argv);}
+	\decl 0 keypress   (...) {out[0](gensym("keypress"),  argc,argv);}
+	\decl 0 keyrelease (...) {out[0](gensym("keyrelease"),argc,argv);}
+	\decl 0 loadbang ()      {out[0](gensym("nogrey"),0,0);}
 	\constructor (t_symbol *mode) {
 		pd_bind((t_pd *)bself,gensym("#sdl"));
 		if (!in_use) start();

Modified: trunk/src/source_filter.rb
==============================================================================
--- trunk/src/source_filter.rb (original)
+++ trunk/src/source_filter.rb Fri Aug 13 13:00:27 2010
@@ -226,7 +226,7 @@
 		handle_def "0 #{name} (#{type} #{name}) {this->#{name}=#{name}; changed(gensym(\"#{name}\"));}"
 	}
 	line.gsub!(/^\s*(\w+\s*)?\{/,"")
-	get << "RAISE(\"unknown attr %s\",s->s_name); outlet_anything(outlets[noutlets-1],s,1,a);}"
+	get << "RAISE(\"unknown attr %s\",s->s_name); outlet_anything(out[noutlets-1],s,1,a);}"
 	handle_def get if frame.attrs.size>0
 	Out.print "void #{frame.name}_startup (FClass *fclass) {"
 	frame.methods.each {|name,method| Out.print "fclass->methods[\"#{name}\"] = FMethod(#{frame.name}::#{method.selector}_wrap);" }

Modified: trunk/src/v4l2.cxx
==============================================================================
--- trunk/src/v4l2.cxx (original)
+++ trunk/src/v4l2.cxx Fri Aug 13 13:00:27 2010
@@ -207,10 +207,10 @@
 	// size are abnormal attributes (does not use nested list)
 	if (!s) {
 		t_atom a[2];
-		//SETFLOAT(a+0,cap.minheight); SETFLOAT(a+1,cap.minwidth); outlet_anything(outlets[0],gensym("minsize"),2,a);
-		//SETFLOAT(a+0,cap.maxheight); SETFLOAT(a+1,cap.maxwidth); outlet_anything(outlets[0],gensym("maxsize"),2,a);
-		SETFLOAT(a+0,dim[0]); SETFLOAT(a+1,dim[1]); outlet_anything(outlets[0],gensym("size"),2,a);
-		SETSYMBOL(a,gensym("mmap")); outlet_anything(outlets[0],gensym("transfer"),1,a);
+		//SETFLOAT(a+0,cap.minheight); SETFLOAT(a+1,cap.minwidth); out[0](gensym("minsize"),2,a);
+		//SETFLOAT(a+0,cap.maxheight); SETFLOAT(a+1,cap.maxwidth); out[0](gensym("maxsize"),2,a);
+		SETFLOAT(a+0,dim[0]); SETFLOAT(a+1,dim[1]); out[0](gensym("size"),2,a);
+		SETSYMBOL(a,gensym("mmap")); out[0](gensym("transfer"),1,a);
 	}
 }
 

Modified: trunk/src/videodev.cxx
==============================================================================
--- trunk/src/videodev.cxx (original)
+++ trunk/src/videodev.cxx Fri Aug 13 13:00:27 2010
@@ -310,12 +310,12 @@
 	// size are abnormal attributes (does not use nested list)
 	if (!s) {
 		t_atom a[2];
-		SETFLOAT(a+0,vcaps.minheight); SETFLOAT(a+1,vcaps.minwidth); outlet_anything(outlets[0],gensym("minsize"),2,a);
-		SETFLOAT(a+0,vcaps.maxheight); SETFLOAT(a+1,vcaps.maxwidth); outlet_anything(outlets[0],gensym("maxsize"),2,a);
+		SETFLOAT(a+0,vcaps.minheight); SETFLOAT(a+1,vcaps.minwidth); out[0](gensym("minsize"),2,a);
+		SETFLOAT(a+0,vcaps.maxheight); SETFLOAT(a+1,vcaps.maxwidth); out[0](gensym("maxsize"),2,a);
 		string foo = choice_to_s(vp.palette,COUNT(video_palette_choice),video_palette_choice);
 		SETSYMBOL(a,gensym(foo.data()));
-		outlet_anything(outlets[0],gensym("palette"),1,a);
-		SETFLOAT(a+0,dim[0]); SETFLOAT(a+1,dim[1]); outlet_anything(outlets[0],gensym("size"),    2,a);
+		out[0](gensym("palette"),1,a);
+		SETFLOAT(a+0,dim[0]); SETFLOAT(a+1,dim[1]); out[0](gensym("size"),2,a);
 	}
 }
 

Modified: trunk/src/x11.cxx
==============================================================================
--- trunk/src/x11.cxx (original)
+++ trunk/src/x11.cxx Fri Aug 13 13:00:27 2010
@@ -244,7 +244,7 @@
 	}
 	\decl 0 fullscreen (bool toggle=1); // not working
 	\decl 0 border     (bool toggle=1);
-	\decl 0 loadbang () {outlet_anything(outlets[0],gensym("nogrey"),0,0);}
+	\decl 0 loadbang () {out[0](gensym("nogrey"),0,0);}
 //	\decl 0 raise ();
 	\grin 0 int
 };
@@ -396,7 +396,7 @@
 	SETFLOAT(a+0,y);
 	SETFLOAT(a+1,x);
 	SETFLOAT(a+2,state);
-	outlet_anything(outlets[0],gensym("position"),COUNT(a),a);
+	out[0](gensym("position"),COUNT(a),a);
 }
 
 void FormatX11::call() {
@@ -434,7 +434,7 @@
 			SETFLOAT(at+1,ek->x);
 			SETFLOAT(at+2,ek->state);
 			SETSYMBOL(at+3,gensym(buf));
-			outlet_anything(outlets[0],sel,4,at);
+			out[0](sel,4,at);
 			//XFree(kss);
 		}break;
 		case MotionNotify:{



More information about the Gridflow-cvs mailing list