[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