From 64fdb009695828b788fce074135b20a5e52c5fc4 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Tue, 23 Sep 2003 00:21:28 +0000 Subject: imported version 0.37-0 svn path=/trunk/; revision=1016 --- pd/src/m_pd.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'pd/src/m_pd.h') diff --git a/pd/src/m_pd.h b/pd/src/m_pd.h index b5f7f037..fd8d61bf 100644 --- a/pd/src/m_pd.h +++ b/pd/src/m_pd.h @@ -38,7 +38,7 @@ extern "C" { /* and depending on the compiler, hidden data structures are declared differently: */ -#if defined( __GNUC__) || defined( __BORLANDC__ ) +#if defined( __GNUC__) || defined( __BORLANDC__ ) || defined( __MWERKS__ ) #define EXTERN_STRUCT struct #else #define EXTERN_STRUCT extern struct @@ -419,6 +419,15 @@ EXTERN void class_domainsignalin(t_class *c, int onset); #define CLASS_MAINSIGNALIN(c, type, field) \ class_domainsignalin(c, (char *)(&((type *)0)->field) - (char *)0) + /* prototype for functions to save Pd's to a binbuf */ +typedef void (*t_savefn)(t_gobj *x, t_binbuf *b); +EXTERN void class_setsavefn(t_class *c, t_savefn f); +EXTERN t_savefn class_getsavefn(t_class *c); + /* prototype for functions to open properties dialogs */ +typedef void (*t_propertiesfn)(t_gobj *x, struct _glist *glist); +EXTERN void class_setpropertiesfn(t_class *c, t_propertiesfn f); +EXTERN t_propertiesfn class_getpropertiesfn(t_class *c); + #ifndef PD_CLASS_DEF #define class_addbang(x, y) class_addbang((x), (t_method)(y)) #define class_addpointer(x, y) class_addpointer((x), (t_method)(y)) @@ -457,6 +466,15 @@ EXTERN int open_via_path(const char *name, const char *ext, const char *dir, EXTERN int sched_geteventno(void); EXTERN double sys_getrealtime(void); + +/* ------------ threading ------------------- */ +/* T.Grill - see m_sched.c */ + +EXTERN void sys_lock(void); +EXTERN void sys_unlock(void); +EXTERN int sys_trylock(void); + + /* --------------- signals ----------------------------------- */ typedef float t_sample; @@ -577,9 +595,12 @@ EXTERN int value_setfloat(t_symbol *s, t_float f); EXTERN void sys_vgui(char *fmt, ...); EXTERN void sys_gui(char *s); + /* dialog window creation and destruction */ EXTERN void gfxstub_new(t_pd *owner, void *key, const char *cmd); EXTERN void gfxstub_deleteforkey(void *key); +extern t_class *glob_pdobject; /* object to send "pd" messages */ + /*------------- Max 0.26 compatibility --------------------*/ /* the following reflects the new way classes are laid out, with the class -- cgit v1.2.1