[PD-cvs] pd/src m_glob.c,1.1.1.2.2.6,1.1.1.2.2.7
Mathieu Bouchard
matju at users.sourceforge.net
Mon Oct 25 17:21:35 CEST 2004
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10234
Modified Files:
Tag: devel_0_37
m_glob.c
Log Message:
added ";pd" methods:
update-class-list update-class-info update-path help
Index: m_glob.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_glob.c,v
retrieving revision 1.1.1.2.2.6
retrieving revision 1.1.1.2.2.7
diff -C2 -d -r1.1.1.2.2.6 -r1.1.1.2.2.7
*** m_glob.c 22 Feb 2004 17:36:51 -0000 1.1.1.2.2.6
--- m_glob.c 25 Oct 2004 15:21:32 -0000 1.1.1.2.2.7
***************
*** 60,63 ****
--- 60,88 ----
}
+ /* see also canvas_done_popup */
+ void glob_help(t_pd *bogus, t_symbol *s) {
+ char namebuf[MAXPDSTRING], *dir;
+ t_class *c = class_find(s);
+ if (!c) { post("HUH? no help because no class. (!)"); return; }
+ strcpy(namebuf, class_gethelpname(c));
+ dir = class_gethelpdir(c);
+ if (strcmp(namebuf + strlen(namebuf) - 3, ".pd")) strcat(namebuf, ".pd");
+ open_via_helppath(namebuf, dir);
+ }
+
+ void glob_update_class_list (t_pd *self, t_symbol *callback) {
+ int i;
+ int n = pd_objectmaker->c_nmethod;
+ sys_gui("global class_list; set class_list {");
+ for (i=0; i<n; i++) {
+ sys_vgui("%s ", pd_objectmaker->c_methods[i].me_name->s_name);
+ }
+ sys_gui("}\n");
+ sys_vgui("%s\n",callback->s_name);
+ }
+
+ EXTERN void glob_update_class_info (t_pd *bogus, t_symbol *s);
+ EXTERN void glob_update_path (void);
+
void glob_init(void)
{
***************
*** 101,104 ****
--- 126,138 ----
class_addmethod(glob_pdobject, (t_method)glob_tooltips,
gensym("tooltips"), A_DEFFLOAT, 0);
+ class_addmethod(glob_pdobject, (t_method)glob_update_class_list,
+ gensym("update-class-list"), A_SYMBOL, 0);
+ class_addmethod(glob_pdobject, (t_method)glob_update_class_info,
+ gensym("update-class-info"), A_SYMBOL, 0);
+ class_addmethod(glob_pdobject, (t_method)glob_update_path,
+ gensym("update-path"), 0);
+ class_addmethod(glob_pdobject, (t_method)glob_help,
+ gensym("help"), A_SYMBOL, 0);
+
#ifdef __linux__
class_addmethod(glob_pdobject, (t_method)glob_ping, gensym("ping"), 0);
More information about the Pd-cvs
mailing list