[PD-cvs] pd/src g_text.c, 1.15.6.4, 1.15.6.5 m_atom.c, 1.4.6.1, 1.4.6.2 m_binbuf.c, 1.13.6.1, 1.13.6.2 m_class.c, 1.7.6.1, 1.7.6.2 m_imp.h, 1.4.10.1, 1.4.10.2 m_obj.c, 1.4.10.1, 1.4.10.2 m_pd.c, 1.4.10.1, 1.4.10.2 m_pd.h, 1.16.2.2.2.1, 1.16.2.2.2.2 x_interface.c, 1.3, 1.3.6.1
Hans-Christoph Steiner
eighthave at users.sourceforge.net
Sun Nov 25 04:31:07 CET 2007
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21389
Modified Files:
Tag: branch-v0-40-extended
g_text.c m_atom.c m_binbuf.c m_class.c m_imp.h m_obj.c m_pd.c
m_pd.h x_interface.c
Log Message:
removed old version of string patch and applied new version that renames the type to 'blob'
Index: m_class.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_class.c,v
retrieving revision 1.7.6.1
retrieving revision 1.7.6.2
diff -C2 -d -r1.7.6.1 -r1.7.6.2
*** m_class.c 4 Nov 2007 18:00:20 -0000 1.7.6.1
--- m_class.c 25 Nov 2007 03:31:05 -0000 1.7.6.2
***************
*** 21,25 ****
static t_symbol *class_loadsym; /* name under which an extern is invoked */
static void pd_defaultfloat(t_pd *x, t_float f);
! static void pd_defaultstring(t_pd *x, t_string *st); /* MP20061226 string type */
static void pd_defaultlist(t_pd *x, t_symbol *s, int argc, t_atom *argv);
t_pd pd_objectmaker; /* factory for creating "object" boxes */
--- 21,25 ----
static t_symbol *class_loadsym; /* name under which an extern is invoked */
static void pd_defaultfloat(t_pd *x, t_float f);
! static void pd_defaultblob(t_pd *x, t_blob *st); /* MP20061226 blob type */
static void pd_defaultlist(t_pd *x, t_symbol *s, int argc, t_atom *argv);
t_pd pd_objectmaker; /* factory for creating "object" boxes */
***************
*** 40,46 ****
}
! static void pd_defaultstring(t_pd *x, t_string *st) /* MP 20061226 string type */
{ /* for now just reject it, later convert to symbol/float/list */
! pd_error(x, "%s: no method for string so far...", (*x)->c_name->s_name);
}
--- 40,46 ----
}
! static void pd_defaultblob(t_pd *x, t_blob *st) /* MP 20061226 blob type */
{ /* for now just reject it, later convert to symbol/float/list */
! pd_error(x, "%s: no method for blob so far...", (*x)->c_name->s_name);
}
***************
*** 212,216 ****
c->c_floatmethod = pd_defaultfloat;
c->c_symbolmethod = pd_defaultsymbol;
! c->c_stringmethod = pd_defaultstring; /* MP 20061226 string type */
c->c_listmethod = pd_defaultlist;
c->c_anymethod = pd_defaultanything;
--- 212,216 ----
c->c_floatmethod = pd_defaultfloat;
c->c_symbolmethod = pd_defaultsymbol;
! c->c_blobmethod = pd_defaultblob; /* MP 20061226 blob type */
c->c_listmethod = pd_defaultlist;
c->c_anymethod = pd_defaultanything;
***************
*** 296,304 ****
class_addsymbol(c, fn);
}
! else if (sel == &s_string) /* MP 20070106 string type */
{
post("class_addmethod: %p", fn);
! if (argtype != A_STRING || va_arg(ap, t_atomtype)) goto phooey;
! class_addstring(c, fn);
}
else if (sel == &s_list)
--- 296,304 ----
class_addsymbol(c, fn);
}
! else if (sel == &s_blob) /* MP 20070106 blob type */
{
post("class_addmethod: %p", fn);
! if (argtype != A_BLOB || va_arg(ap, t_atomtype)) goto phooey;
! class_addblob(c, fn);
}
else if (sel == &s_list)
***************
*** 360,366 ****
}
! void class_addstring(t_class *c, t_method fn) /* MP 20061226 string type */
{
! c->c_stringmethod = (t_stringmethod)fn;
}
--- 360,366 ----
}
! void class_addblob(t_class *c, t_method fn) /* MP 20061226 blob type */
{
! c->c_blobmethod = (t_blobmethod)fn;
}
***************
*** 587,594 ****
t_symbol s_y = {"y", 0, 0};
t_symbol s_ = {"", 0, 0};
! t_symbol s_string = {"string", 0, 0}; /* MP 20061223 string type */
static t_symbol *symlist[] = { &s_pointer, &s_float, &s_symbol, &s_bang,
! &s_list, &s_anything, &s_signal, &s__N, &s__X, &s_x, &s_y, &s_, &s_string}; /* MP 20061223 added s_string */
void mess_init(void)
--- 587,594 ----
t_symbol s_y = {"y", 0, 0};
t_symbol s_ = {"", 0, 0};
! t_symbol s_blob = {"blob", 0, 0}; /* MP 20061223 blob type */
static t_symbol *symlist[] = { &s_pointer, &s_float, &s_symbol, &s_bang,
! &s_list, &s_anything, &s_signal, &s__N, &s__X, &s_x, &s_y, &s_, &s_blob}; /* MP 20061223 added s_blob */
void mess_init(void)
***************
*** 678,685 ****
return;
}
! if (s == &s_string) /* MP 20061226 string type */
{
/*post("pd_typedmess argc = %d\n", argc);*//* MP 20061226 debug */
! if (argc == 1) (*c->c_stringmethod)(x, argv->a_w.w_string);
else goto badarg;
return;
--- 678,685 ----
return;
}
! if (s == &s_blob) /* MP 20061226 blob type */
{
/*post("pd_typedmess argc = %d\n", argc);*//* MP 20061226 debug */
! if (argc == 1) (*c->c_blobmethod)(x, argv->a_w.w_blob);
else goto badarg;
return;
***************
*** 729,739 ****
dp++;
break;
! case A_STRING:/* MP 20070106 string type */
! /*post("pd_typedmess A_STRING");*/
if (!argc) goto badarg;
! if (argv->a_type == A_STRING)
{
! /*post("argv->a_type == A_STRING, argc = %d, narg= %d", argc, narg);*/
! *ap = (t_int)(argv->a_w.w_string);
}
argc--;
--- 729,739 ----
dp++;
break;
! case A_BLOB:/* MP 20070106 blob type */
! /*post("pd_typedmess A_BLOB");*/
if (!argc) goto badarg;
! if (argv->a_type == A_BLOB)
{
! /*post("argv->a_type == A_BLOB, argc = %d, narg= %d", argc, narg);*/
! *ap = (t_int)(argv->a_w.w_blob);
}
argc--;
***************
*** 817,823 ****
case 's': SETSYMBOL(at, va_arg(ap, t_symbol *)); break;
case 't':
! SETSTRING(at, va_arg(ap, t_string *));
! /*post("pd_vmess: arg[0].a_w.w_string = %p", arg[0].a_w.w_string);*/
! break; /* MP 20061226 string type */
case 'i': SETFLOAT(at, va_arg(ap, t_int)); break;
case 'p': SETPOINTER(at, va_arg(ap, t_gpointer *)); break;
--- 817,823 ----
case 's': SETSYMBOL(at, va_arg(ap, t_symbol *)); break;
case 't':
! SETBLOB(at, va_arg(ap, t_blob *));
! /*post("pd_vmess: arg[0].a_w.w_blob = %p", arg[0].a_w.w_blob);*/
! break; /* MP 20061226 blob type */
case 'i': SETFLOAT(at, va_arg(ap, t_int)); break;
case 'p': SETPOINTER(at, va_arg(ap, t_gpointer *)); break;
Index: g_text.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_text.c,v
retrieving revision 1.15.6.4
retrieving revision 1.15.6.5
diff -C2 -d -r1.15.6.4 -r1.15.6.5
*** g_text.c 10 Nov 2007 19:42:33 -0000 1.15.6.4
--- g_text.c 25 Nov 2007 03:31:05 -0000 1.15.6.5
***************
*** 280,286 ****
}
! static void messresponder_string(t_messresponder *x, t_string *st)
! { /* MP 20070107 string type */
! outlet_string(x->mr_outlet, st);
}
--- 280,286 ----
}
! static void messresponder_blob(t_messresponder *x, t_blob *st)
! { /* MP 20070107 blob type */
! outlet_blob(x->mr_outlet, st);
}
***************
*** 316,323 ****
}
! static void message_string(t_message *x, t_string *st)
{
t_atom at;
! SETSTRING(&at, st);
binbuf_eval(x->m_text.te_binbuf, &x->m_messresponder.mr_pd, 1, &at);
}
--- 316,323 ----
}
! static void message_blob(t_message *x, t_blob *st)
{
t_atom at;
! SETBLOB(&at, st);
binbuf_eval(x->m_text.te_binbuf, &x->m_messresponder.mr_pd, 1, &at);
}
***************
*** 1389,1393 ****
class_addfloat(message_class, message_float);
class_addsymbol(message_class, message_symbol);
! class_addstring(message_class, message_string);
class_addlist(message_class, message_list);
class_addanything(message_class, message_list);
--- 1389,1393 ----
class_addfloat(message_class, message_float);
class_addsymbol(message_class, message_symbol);
! class_addblob(message_class, message_blob);
class_addlist(message_class, message_list);
class_addanything(message_class, message_list);
Index: m_atom.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_atom.c,v
retrieving revision 1.4.6.1
retrieving revision 1.4.6.2
diff -C2 -d -r1.4.6.1 -r1.4.6.2
*** m_atom.c 4 Nov 2007 18:00:20 -0000 1.4.6.1
--- m_atom.c 25 Nov 2007 03:31:05 -0000 1.4.6.2
***************
*** 29,37 ****
}
! t_string *atom_getstring(t_atom *a) /* MP 20070108 */
{
! static unsigned char c = 0;/* a default string to avoid null pointers. This should be somewhere else...? */
! static t_string st = {1L, &c};
! if (a->a_type == A_STRING) return (a->a_w.w_string);
else return (&st);
}
--- 29,37 ----
}
! t_blob *atom_getblob(t_atom *a) /* MP 20070108 */
{
! static unsigned char c = 0;/* a default blob to avoid null pointers. This should be somewhere else...? */
! static t_blob st = {1L, &c};
! if (a->a_type == A_BLOB) return (a->a_w.w_blob);
else return (&st);
}
Index: m_binbuf.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_binbuf.c,v
retrieving revision 1.13.6.1
retrieving revision 1.13.6.2
diff -C2 -d -r1.13.6.1 -r1.13.6.2
*** m_binbuf.c 4 Nov 2007 18:00:20 -0000 1.13.6.1
--- m_binbuf.c 25 Nov 2007 03:31:05 -0000 1.13.6.2
***************
*** 673,678 ****
typedmess(target, stackwas->a_w.w_symbol, nargs-1, stackwas+1);
break;
! case A_STRING: /* MP 20070106 string type */
! if (nargs == 1) pd_string(target, stackwas->a_w.w_string);
else pd_list(target, 0, nargs, stackwas);
break;
--- 673,678 ----
typedmess(target, stackwas->a_w.w_symbol, nargs-1, stackwas+1);
break;
! case A_BLOB: /* MP 20070106 blob type */
! if (nargs == 1) pd_blob(target, stackwas->a_w.w_blob);
else pd_list(target, 0, nargs, stackwas);
break;
Index: m_obj.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_obj.c,v
retrieving revision 1.4.10.1
retrieving revision 1.4.10.2
diff -C2 -d -r1.4.10.1 -r1.4.10.2
*** m_obj.c 4 Nov 2007 18:00:20 -0000 1.4.10.1
--- m_obj.c 25 Nov 2007 03:31:05 -0000 1.4.10.2
***************
*** 16,20 ****
t_float *iu_floatslot;
t_symbol **iu_symslot;
! t_string **iu_stringslot; /* MP 20061226 string type */
t_sample iu_floatsignalvalue;
};
--- 16,20 ----
t_float *iu_floatslot;
t_symbol **iu_symslot;
! t_blob **iu_blobslot; /* MP 20061226 blob type */
t_sample iu_floatsignalvalue;
};
***************
*** 34,41 ****
#define i_floatslot i_un.iu_floatslot
#define i_symslot i_un.iu_symslot
! #define i_stringslot i_un.iu_stringslot /* MP 20061226 string type */
static t_class *inlet_class, *pointerinlet_class, *floatinlet_class,
! *symbolinlet_class, *stringinlet_class; /* MP 20061226 added stringinlet_class */
#define ISINLET(pd) ((*(pd) == inlet_class) || \
--- 34,41 ----
#define i_floatslot i_un.iu_floatslot
#define i_symslot i_un.iu_symslot
! #define i_blobslot i_un.iu_blobslot /* MP 20061226 blob type */
static t_class *inlet_class, *pointerinlet_class, *floatinlet_class,
! *symbolinlet_class, *blobinlet_class; /* MP 20061226 added blobinlet_class */
#define ISINLET(pd) ((*(pd) == inlet_class) || \
***************
*** 114,134 ****
}
! static void inlet_string(t_inlet *x, t_string *st) /* MP20061226 string type */
{
! /*post("inlet_string (%p): st %p", &inlet_string, st);*/
! if (x->i_symfrom == &s_string)
{
! /*post("inlet_string calling pd_vmess");*/
pd_vmess(x->i_dest, x->i_symto, "t", st);
}
else if (!x->i_symfrom)
{
! /*post("inlet_string calling pd_string");*/
! pd_string(x->i_dest, st);
}
else
{
! /*post("inlet_string calling inlet_wrong");*/
! inlet_wrong(x, &s_string);
}
}
--- 114,134 ----
}
! static void inlet_blob(t_inlet *x, t_blob *st) /* MP20061226 blob type */
{
! /*post("inlet_blob (%p): st %p", &inlet_blob, st);*/
! if (x->i_symfrom == &s_blob)
{
! /*post("inlet_blob calling pd_vmess");*/
pd_vmess(x->i_dest, x->i_symto, "t", st);
}
else if (!x->i_symfrom)
{
! /*post("inlet_blob calling pd_blob");*/
! pd_blob(x->i_dest, st);
}
else
{
! /*post("inlet_blob calling inlet_wrong");*/
! inlet_wrong(x, &s_blob);
}
}
***************
*** 215,225 ****
}
! t_inlet *stringinlet_new(t_object *owner, t_string **stp) /* MP 20061226 string type */
{
! t_inlet *x = (t_inlet *)pd_new(stringinlet_class), *y, *y2;
x->i_owner = owner;
x->i_dest = 0;
! x->i_symfrom = &s_string;
! x->i_stringslot = stp;
x->i_next = 0;
if (y = owner->ob_inlet)
--- 215,225 ----
}
! t_inlet *blobinlet_new(t_object *owner, t_blob **stp) /* MP 20061226 blob type */
{
! t_inlet *x = (t_inlet *)pd_new(blobinlet_class), *y, *y2;
x->i_owner = owner;
x->i_dest = 0;
! x->i_symfrom = &s_blob;
! x->i_blobslot = stp;
x->i_next = 0;
if (y = owner->ob_inlet)
***************
*** 284,288 ****
class_addfloat(inlet_class, inlet_float);
class_addsymbol(inlet_class, inlet_symbol);
! class_addstring(inlet_class, inlet_string); /* MP 20061226 string type */
class_addlist(inlet_class, inlet_list);
class_addanything(inlet_class, inlet_anything);
--- 284,288 ----
class_addfloat(inlet_class, inlet_float);
class_addsymbol(inlet_class, inlet_symbol);
! class_addblob(inlet_class, inlet_blob); /* MP 20061226 blob type */
class_addlist(inlet_class, inlet_list);
class_addanything(inlet_class, inlet_anything);
***************
*** 407,413 ****
}
! void outlet_string(t_outlet *x, t_string *st) /* MP 20061226 string type */
{
! /*post("outlet_string %p %lu", st, st->s_length);*/
t_outconnect *oc;
if(++stackcount >= STACKITER)
--- 407,413 ----
}
! void outlet_blob(t_outlet *x, t_blob *st) /* MP 20061226 blob type */
{
! /*post("outlet_blob %p %lu", st, st->s_length);*/
t_outconnect *oc;
if(++stackcount >= STACKITER)
***************
*** 415,419 ****
else
for (oc = x->o_connections; oc; oc = oc->oc_next)
! pd_string(oc->oc_to, st);
--stackcount;
}
--- 415,419 ----
else
for (oc = x->o_connections; oc; oc = oc->oc_next)
! pd_blob(oc->oc_to, st);
--stackcount;
}
Index: m_imp.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_imp.h,v
retrieving revision 1.4.10.1
retrieving revision 1.4.10.2
diff -C2 -d -r1.4.10.1 -r1.4.10.2
*** m_imp.h 4 Nov 2007 18:00:20 -0000 1.4.10.1
--- m_imp.h 25 Nov 2007 03:31:05 -0000 1.4.10.2
***************
*** 26,30 ****
typedef void (*t_floatmethod)(t_pd *x, t_float f);
typedef void (*t_symbolmethod)(t_pd *x, t_symbol *s);
! typedef void (*t_stringmethod)(t_pd *x, t_string *st); /* MP20061226 string type */
typedef void (*t_listmethod)(t_pd *x, t_symbol *s, int argc, t_atom *argv);
typedef void (*t_anymethod)(t_pd *x, t_symbol *s, int argc, t_atom *argv);
--- 26,30 ----
typedef void (*t_floatmethod)(t_pd *x, t_float f);
typedef void (*t_symbolmethod)(t_pd *x, t_symbol *s);
! typedef void (*t_blobmethod)(t_pd *x, t_blob *st); /* MP20061226 blob type */
typedef void (*t_listmethod)(t_pd *x, t_symbol *s, int argc, t_atom *argv);
typedef void (*t_anymethod)(t_pd *x, t_symbol *s, int argc, t_atom *argv);
***************
*** 43,47 ****
t_floatmethod c_floatmethod;
t_symbolmethod c_symbolmethod;
! t_stringmethod c_stringmethod; /* MP20061226 string type */
t_listmethod c_listmethod;
t_anymethod c_anymethod;
--- 43,47 ----
t_floatmethod c_floatmethod;
t_symbolmethod c_symbolmethod;
! t_blobmethod c_blobmethod; /* MP20061226 blob type */
t_listmethod c_listmethod;
t_anymethod c_anymethod;
Index: m_pd.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v
retrieving revision 1.16.2.2.2.1
retrieving revision 1.16.2.2.2.2
diff -C2 -d -r1.16.2.2.2.1 -r1.16.2.2.2.2
*** m_pd.h 4 Nov 2007 18:00:20 -0000 1.16.2.2.2.1
--- m_pd.h 25 Nov 2007 03:31:05 -0000 1.16.2.2.2.2
***************
*** 103,114 ****
} t_gpointer;
! #define PD_STRINGS 1 /* MP20070211 Use this to test for string capability */
! /* MP20061223 string type: */
! typedef struct _string /* pointer to a string */
{
! unsigned long s_length; /* length of string in bytes */
! unsigned char *s_data; /* pointer to 1st byte of string */
! } t_string;
! /* ...MP20061223 string type */
--- 103,114 ----
} t_gpointer;
! #define PD_BLOBS 1 /* MP20070211 Use this to test for blob capability */
! /* MP20061223 blob type: */
! typedef struct _blob /* pointer to a blob */
{
! unsigned long s_length; /* length of blob in bytes */
! unsigned char *s_data; /* pointer to 1st byte of blob */
! } t_blob;
! /* ...MP20061223 blob type */
***************
*** 121,125 ****
struct _glist *w_list;
int w_index;
! t_string *w_string; /* MP20061223 string type */
} t_word;
--- 121,125 ----
struct _glist *w_list;
int w_index;
! t_blob *w_blob; /* MP20061223 blob type */
} t_word;
***************
*** 138,142 ****
A_GIMME,
A_CANT,
! A_STRING /* MP20061223 string type */
} t_atomtype;
--- 138,142 ----
A_GIMME,
A_CANT,
! A_BLOB /* MP20061223 blob type */
} t_atomtype;
***************
*** 225,229 ****
EXTERN t_symbol s_float;
EXTERN t_symbol s_symbol;
! EXTERN t_symbol s_string;
EXTERN t_symbol s_bang;
EXTERN t_symbol s_list;
--- 225,229 ----
EXTERN t_symbol s_float;
EXTERN t_symbol s_symbol;
! EXTERN t_symbol s_blob;
EXTERN t_symbol s_bang;
EXTERN t_symbol s_list;
***************
*** 269,273 ****
#define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \
(atom)->a_w.w_symbol = (s))
! #define SETSTRING(atom, st) ((atom)->a_type = A_STRING, (atom)->a_w.w_string = (st)) /* MP 20061226 string type */
#define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \
(atom)->a_w.w_index = (n))
--- 269,273 ----
#define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \
(atom)->a_w.w_symbol = (s))
! #define SETBLOB(atom, st) ((atom)->a_type = A_BLOB, (atom)->a_w.w_blob = (st)) /* MP 20061226 blob type */
#define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \
(atom)->a_w.w_index = (n))
***************
*** 278,282 ****
EXTERN t_int atom_getint(t_atom *a);
EXTERN t_symbol *atom_getsymbol(t_atom *a);
! EXTERN t_string *atom_getstring(t_atom *a);/* MP 20070108 sring type */
EXTERN t_symbol *atom_gensym(t_atom *a);
EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv);
--- 278,282 ----
EXTERN t_int atom_getint(t_atom *a);
EXTERN t_symbol *atom_getsymbol(t_atom *a);
! EXTERN t_blob *atom_getblob(t_atom *a);/* MP 20070108 blob type */
EXTERN t_symbol *atom_gensym(t_atom *a);
EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv);
***************
*** 342,346 ****
EXTERN void pd_float(t_pd *x, t_float f);
EXTERN void pd_symbol(t_pd *x, t_symbol *s);
! EXTERN void pd_string(t_pd *x, t_string *st); /* MP 20061226 string type */
EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv);
EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv);
--- 342,346 ----
EXTERN void pd_float(t_pd *x, t_float f);
EXTERN void pd_symbol(t_pd *x, t_symbol *s);
! EXTERN void pd_blob(t_pd *x, t_blob *st); /* MP 20061226 blob type */
EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv);
EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv);
***************
*** 367,371 ****
EXTERN void outlet_float(t_outlet *x, t_float f);
EXTERN void outlet_symbol(t_outlet *x, t_symbol *s);
! EXTERN void outlet_string(t_outlet *x, t_string *st); /* MP 20061226 string type */
EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
--- 367,371 ----
EXTERN void outlet_float(t_outlet *x, t_float f);
EXTERN void outlet_symbol(t_outlet *x, t_symbol *s);
! EXTERN void outlet_blob(t_outlet *x, t_blob *st); /* MP 20061226 blob type */
EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
***************
*** 424,428 ****
EXTERN void class_doaddfloat(t_class *c, t_method fn);
EXTERN void class_addsymbol(t_class *c, t_method fn);
! EXTERN void class_addstring(t_class *c, t_method fn);/* MP 20061226 string type */
EXTERN void class_addlist(t_class *c, t_method fn);
EXTERN void class_addanything(t_class *c, t_method fn);
--- 424,428 ----
EXTERN void class_doaddfloat(t_class *c, t_method fn);
EXTERN void class_addsymbol(t_class *c, t_method fn);
! EXTERN void class_addblob(t_class *c, t_method fn);/* MP 20061226 blob type */
EXTERN void class_addlist(t_class *c, t_method fn);
EXTERN void class_addanything(t_class *c, t_method fn);
***************
*** 453,457 ****
#define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y))
#define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y))
! #define class_addstring(x, y) class_addstring((x), (t_method)(y)) /* MP20061226 string type */
#define class_addlist(x, y) class_addlist((x), (t_method)(y))
#define class_addanything(x, y) class_addanything((x), (t_method)(y))
--- 453,457 ----
#define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y))
#define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y))
! #define class_addblob(x, y) class_addblob((x), (t_method)(y)) /* MP20061226 blob type */
#define class_addlist(x, y) class_addlist((x), (t_method)(y))
#define class_addanything(x, y) class_addanything((x), (t_method)(y))
Index: x_interface.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/x_interface.c,v
retrieving revision 1.3
retrieving revision 1.3.6.1
diff -C2 -d -r1.3 -r1.3.6.1
*** x_interface.c 11 Aug 2006 20:09:07 -0000 1.3
--- x_interface.c 25 Nov 2007 03:31:05 -0000 1.3.6.1
***************
*** 16,22 ****
} t_print;
! static void *print_new(t_symbol *s)
{
t_print *x = (t_print *)pd_new(print_class);
if (*s->s_name) x->x_sym = s;
else x->x_sym = gensym("print");
--- 16,25 ----
} t_print;
! static void *print_new(t_symbol *s, int argc, t_atom *argv)
{
t_print *x = (t_print *)pd_new(print_class);
+ x->x_sym = atom_getsymbolarg(0,argc,argv);
+ if (x->x_sym == &s_)
+ x->x_sym = atom_getfloatarg(0,argc,argv);
if (*s->s_name) x->x_sym = s;
else x->x_sym = gensym("print");
***************
*** 61,65 ****
{
print_class = class_new(gensym("print"), (t_newmethod)print_new, 0,
! sizeof(t_print), 0, A_DEFSYM, 0);
class_addbang(print_class, print_bang);
class_addfloat(print_class, print_float);
--- 64,68 ----
{
print_class = class_new(gensym("print"), (t_newmethod)print_new, 0,
! sizeof(t_print), 0, A_GIMME, 0);
class_addbang(print_class, print_bang);
class_addfloat(print_class, print_float);
Index: m_pd.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_pd.c,v
retrieving revision 1.4.10.1
retrieving revision 1.4.10.2
diff -C2 -d -r1.4.10.1 -r1.4.10.2
*** m_pd.c 4 Nov 2007 18:00:20 -0000 1.4.10.1
--- m_pd.c 25 Nov 2007 03:31:05 -0000 1.4.10.2
***************
*** 285,292 ****
}
! void pd_string(t_pd *x, t_string *st) /* MP20061226 string type */
{
! /*post("pd_string: st %p length %lu (*x)->c_stringmethod %p", st, st->s_length, (*x)->c_stringmethod);*/
! (*(*x)->c_stringmethod)(x, st);
}
--- 285,292 ----
}
! void pd_blob(t_pd *x, t_blob *st) /* MP20061226 blob type */
{
! /*post("pd_blob: st %p length %lu (*x)->c_blobmethod %p", st, st->s_length, (*x)->c_blobmethod);*/
! (*(*x)->c_blobmethod)(x, st);
}
More information about the Pd-cvs
mailing list