that's nice (I didn't tried it), but I think that it would be more useful
something that scans the /extra folder, and makes a "offline" list. the
result could be something like the old 0.INTRO.txt file. or look as well
at http://puredata.info/dev/PdLibraries, in the end (Documentation) there
are some of the efforts made so far.
about the object descriptions, so far the best choice (imo) was the
sugestion to make sure that each developer add a .txt file with the object
description, and then grep it to add to the main list.
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]); }