[PD] pd-ext documentation [was something else]
Claude Heiland-Allen
claudiusmaximus at goto10.org
Fri Feb 27 01:10:17 CET 2009
João Pais wrote:
>>> I already made my one available several times on the list - whenever
>>> the question "how many objects are in pd-ext" comes -, but probably it
>>> wasn't that popular.
>>> 2682 objects? when I check the properties of the extra folder
>>> (windows), I get 2666 files - bear in mind that there are several
>>> repeatitions (many objects are repeated in flatspace), and other files
>>> aren just secondary material, and some objects don't work. did you sort
>>> out repetitions or something?
>>> how did you extract this list?
>> I did this manually, a lot of copy and paste.
>> and yes, there might be some duplicates and some unusual objects like
>> all the gemgl objects are in the list...
>
> ah ah, and I thought I was the only crazy guy going through object per
> object and extract the information (see excel file). ok, maybe we should
> discuss a more serious way of automatising this.
you can patch pd to print out all classes registered with class_new and
class_addcreator, something like the below, then process it with a
script to divide it into libraries, but you still need to add the
human-readable descriptions by hand..
--- pd-0.41-4/src/s_loader.c.orig 2008-05-13 10:09:24.000000000 +0100
+++ pd-0.41-4/src/s_loader.c 2008-05-13 10:41:55.000000000 +0100
@@ -235,8 +235,10 @@
int dspstate = canvas_suspend_dsp();
int ok = 0;
loader_queue_t *q;
+ if (sys_verbose) post("loader: BEGIN(%s)", classname);
for(q = &loaders; q; q = q->next)
if (ok = q->loader(canvas, classname)) break;
+ if (sys_verbose) post("loader: END(%s)", classname);
canvas_resume_dsp(dspstate);
return ok;
}
--- pd-0.41-4/src/m_class.c.orig 2008-05-13 10:35:13.000000000 +0100
+++ pd-0.41-4/src/m_class.c 2008-05-13 10:38:56.000000000 +0100
@@ -219,6 +219,7 @@
#if 0
post("class: %s", c->c_name->s_name);
#endif
+ if (sys_verbose) post("class_new(%s)", c->c_name->s_name);
return (c);
}
@@ -249,6 +250,7 @@
*vp = va_arg(ap, t_atomtype);
}
va_end(ap);
+ if (sys_verbose) post("class_addcreator(%s)", s->s_name);
class_addmethod(pd_objectmaker, (t_method)newmethod, s,
vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]);
}
More information about the Pd-list
mailing list