Hello,
Does anyone know how many objects there are in pd extended versus in pd vanilla?
Best, Edgar
Hi Ed -
I believe Pd vanilla has 194 object names (by counting them in help-intro.pd). (Sometimes there is more than one Pd class that can be created from a single object name so the exact number is partly a matter of defintion). cheers Miller
PS 194 is too many :)
On Sun, Jul 06, 2014 at 05:31:53AM -0700, Edgar Berdahl via Pd-dev wrote:
Hello,
Does anyone know how many objects there are in pd extended versus in pd vanilla?
Best, Edgar
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
Could someone give an example of a single object name that creates more than one Pd class? How would one go about reducing those 194 object names? Greg
On Mon, Jul 7, 2014 at 2:32 PM, Miller Puckette via Pd-dev < pd-dev@lists.iem.at> wrote:
Hi Ed -
I believe Pd vanilla has 194 object names (by counting them in help-intro.pd). (Sometimes there is more than one Pd class that can be created from a single object name so the exact number is partly a matter of defintion). cheers Miller
PS 194 is too many :)
On Sun, Jul 06, 2014 at 05:31:53AM -0700, Edgar Berdahl via Pd-dev wrote:
Hello,
Does anyone know how many objects there are in pd extended versus in pd
vanilla?
Best, Edgar
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 2014-07-07 09:43, Greg Schroeder via Pd-dev wrote:
Could someone give an example of a single object name that creates more than one Pd class?
[list], [array], [scalar], [text].
How would one go about reducing those 194 object names?
could you give more context about what you want to achieve?
btw, i had a quick glance at the sourcecode of Pd and found that it contains about 238 distinct class-names.
Does anyone know how many objects there are in pd extended versus in pd
vanilla?
this question is hard to answer. Pd-extended is two things: a slightly modified Pd binary, and a collection of 3rd party objects (externals, abstractions).
if you only take the PdX binary into account, then the number of objectclasses will be *approximately* the same as with Pd-vanilla. (there are a few "internal" objects in PdX (like [initbang] or [closebang]), that never made it into Pd-vanilla; but then PdX is still 0.43, and some objectclasses have been added since then).
or not. iirc (but might be mistaken), PdX has removed almost all internal objects from it's binary and made them available as a separate "vanilla" library.
and then, if you want to count all objectclasses that are somehow included in PdX via 3rd party libraries, then PdX will have *a lot* more. some of them are hard to count. e.g. Gem (included in PdX) has a loader, that will turn all frei0r plugins findable on your computer into Pd-objects, even though PdX does not include them itself.
ghsmdf IOhannes
IOhannes, I didn't have a goal in mind, thought something that might need work that I hadn't heard about before. Greg
On Mon, Jul 7, 2014 at 3:22 PM, IOhannes m zmoelnig via Pd-dev < pd-dev@lists.iem.at> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 2014-07-07 09:43, Greg Schroeder via Pd-dev wrote:
Could someone give an example of a single object name that creates more than one Pd class?
[list], [array], [scalar], [text].
How would one go about reducing those 194 object names?
could you give more context about what you want to achieve?
btw, i had a quick glance at the sourcecode of Pd and found that it contains about 238 distinct class-names.
Does anyone know how many objects there are in pd extended versus in pd
vanilla?
this question is hard to answer. Pd-extended is two things: a slightly modified Pd binary, and a collection of 3rd party objects (externals, abstractions).
if you only take the PdX binary into account, then the number of objectclasses will be *approximately* the same as with Pd-vanilla. (there are a few "internal" objects in PdX (like [initbang] or [closebang]), that never made it into Pd-vanilla; but then PdX is still 0.43, and some objectclasses have been added since then).
or not. iirc (but might be mistaken), PdX has removed almost all internal objects from it's binary and made them available as a separate "vanilla" library.
and then, if you want to count all objectclasses that are somehow included in PdX via 3rd party libraries, then PdX will have *a lot* more. some of them are hard to count. e.g. Gem (included in PdX) has a loader, that will turn all frei0r plugins findable on your computer into Pd-objects, even though PdX does not include them itself.
ghsmdf IOhannes -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Icedove - http://www.enigmail.net/
iQIcBAEBCAAGBQJTulivAAoJELZQGcR/ejb4EdAP/jRWKc21rsft41/tjkuakZb6 8IasZV+AgZKXyB+Jn4KKEQ7pXCmyMgH3zigwfA0ltki+rCB8g7YsrrvG3SRWssj4 QGERvRl6OFU637eYp4e3lW9lfkfoeelvnHoJEwMqM6UMrMifdtYJz4w/vqpI7lZR JoegP4RguQTOPX5WCTAjthYmu2LDuKanRKgxHRjb+m/2fT9H7mHQ26povbiFkuFF 2H2eDlAEHE2GI7BVL0mPyUHwcMNFQ49kmJ2uC9A9Tc0tKCvn6J2+Wr6A6gQWkV2A aDP3X0GCAS3LW/Q2RDIuxdZxWcrJU3VIZ6irOUsy0o/NVYdFko7rA7d0fEUyTaDM Db+7A0LnMGlP6ylSUoycHtmlqFbCRJNsF+BHIEbvBQ7w+hxGc3j+Eetnhx9kkUrX YPpNDVWLMI5mShZXy7IyXdV9Fznhx3m/StMUZmz5DGT+v629TAZtBUvnDpzTVQGW z7QafT7DVpbhrEKdx6ZOYohLktUehjGc9HUW4R3E6Lud1jXYKzTUo+3DkIspprSe 2pNCLBRsXfkiSisScwZy69AbnuVRMnhp4G14ihovQMnVddhZulBQUVl0LW0Q4x5M Q92Mtn+eL4b1Xb4C/MoGwcDJnihe8RDegEpFhqzAdB0Nlu99Tqql1+V/0IcY3MkK x0NCTTH/ECb/HPLHI3cN =FNsa -----END PGP SIGNATURE-----
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
On 07/07/2014 04:22 AM, IOhannes m zmoelnig via Pd-dev wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 2014-07-07 09:43, Greg Schroeder via Pd-dev wrote:
Could someone give an example of a single object name that creates more than one Pd class?
[list], [array], [scalar], [text].
How would one go about reducing those 194 object names?
could you give more context about what you want to achieve?
btw, i had a quick glance at the sourcecode of Pd and found that it contains about 238 distinct class-names.
Here's a quick Pd-l2ork patch to automate the process:
[bang( | | [r break] | | [until] | [f]x[+ 1] | [classinfo objectmaker] | [route bang] | | [s break] | [add2 $1( | [ (
Which fills the message box with this:
pd page group table group declare bng hradio hdl rdb radiobut radiobutton hsl hslider cnv my_canvas nbx my_numbox tgl toggle vradio vdl vsl vslider vu inlet inlet~ outlet outlet~ struct template drawpolygon drawcurve filledpolygon filledcurve drawrectangle filledrectangle drawellipse filledellipse draw plot old_plot drawnumber drawsymbol pointer get set element getsize setsize append sublist mtof ftom powtodb rmstodb dbtopow dbtorms print canvasinfo pdinfo classinfo objectinfo int i f b send s receive r select sel route pack unpack trigger t spigot moses until makefilename swap fswap change value v delay del metro line timer pipe + - * / pow max min == != > < >= <= & && | || << >> % mod div sin cos tan atan atan2 sqrt log exp abs wrap clip midiin sysexin midirealtimein notein ctlin pgmin bendin touchin polytouchin midiclkin midiout noteout ctlout pgmout bendout touchout polytouchout makenote stripnote poly bag random loadbang initbang closebang namecanvas serial cputime realtime netsend netreceive qlist textfile openpanel savepanel key keyup keyname list append list cat list prepend list split list trim list length preset_node preset_hub +~ -~ *~ /~ max~ min~ tabwrite~ tabplay~ tabread~ tabread4~ tabosc4~ tabsend~ tabreceive~ tabread tabread4 tabwrite sig~ line~ vline~ snapshot~ vsnapshot~ env~ threshold~ dac~ adc~ delwrite~ delread~ vd~ fft~ ifft~ rfft~ rifft~ framp~ hip~ lop~ bp~ biquad~ samphold~ rpole~ rzero~ rzero_rev~ cpole~ czero~ czero_rev~ send~ s~ receive~ r~ catch~ throw~ clip~ rsqrt~ q8_rsqrt~ sqrt~ q8_sqrt~ wrap~ mtof~ ftom~ dbtorms~ rmstodb~ dbtopow~ powtodb~ pow~ exp~ log~ abs~ print~ bang~ phasor~ cos~ osc~ vcf~ noise~ soundfiler readsf~ writesf~ block~ switch~ samplerate~ import
***
Some of these-- like "preset_node" and "draw"-- are in Pd-l2ork but not Pd Vanilla.
Others are just aliases, or "creator" names. To filter them I drip that list through another [classinfo]. So these aren't actually class names:
switch~ q8_sqrt~ q8_rsqrt~ r~ s~ del v fswap t sel r s b f i filledellipse drawellipse filledrectangle drawrectangle filledcurve filledpolygon drawcurve outlet~ inlet~ vslider toggle my_numbox my_canvas hslider radiobutton radiobut rdb group table group page
***
That leaves 216, but that's probably not accurate because the "objectmaker" class doesn't have methods for every loaded Pd class. Ones like "message" and others which can't be created in an object box don't appear with my patch. For a comprehensive list of loaded classes I'd need to step through Pd-l2ork's class table. That might be nice to add to [pdinfo] (which again is only available in Pd-l2ork).
But again, this won't tell you about classes that are _potentially_ loadable by Pd-l2ork/Pd-extended which haven't been loaded yet. For that you'd probably need to search all the paths Pd searches and look for binaries with the extension for your particular OS (on GNU/Linux I believe it's .pd_linux). Then try loading all of those libraries, then step through the class table (which again only exists in Pd-l2ork) and get the tally.
When I code up a method to query the class table, I'll make a patch to load every binary in every search path of Pd. That should give a definitive answer on the total "loadable" classes in Pd-l2ork (which is probably close to Pd-extended).
-Jonathan
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 2014-07-08 01:29, Jonathan Wilkes via Pd-dev wrote:
But again, this won't tell you about classes that are _potentially_ loadable by Pd-l2ork/Pd-extended
or Pd(-vanilla) for that matter.
gasm,dr IOhannes
Ok, got a method to spit out a large list of all the class names in my (partial) Pd-l2ork git build. I'm on Debian so I search all the class paths and create any *.pd_linux objects I find there.
849 classes total (including the built-ins). I haven't loaded gem, pdp and some others. Add to that the caveats below and the real total is probably well over 1000 classes.
A few points of interest: * I'm not even loading all the libraries for which I have binaries. This is because at least four of the binaries cause a crash when I try to load the respective lib. I'll give more details later when I inspect the problems, but they look like unmaintained libraries-- cxc and a few others which I believe still ship with Pd-extended, too.
* this includes proxy inlets as well. I'm not sure there's a way to tell the difference between them and "real" classes. * after about an hour of head-scratching over a segfault, I realized that I made the assumption that every class loaded has a symbolic name. This isn't true. Zexy has two classes, presumably proxy inlets, that don't have a c_name. I'm actually not sure how to report that in Pd. Ideally the user should be able to get a list of everything that's had a trip through class_new, even if the developer doesn't want the class to be loadable or potentially clash with some other class name.
-Jonathan
On Tuesday, July 8, 2014 3:09 AM, IOhannes m zmoelnig via Pd-dev pd-dev@lists.iem.at wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 2014-07-08 01:29, Jonathan Wilkes via Pd-dev wrote:
But again, this won't tell you about classes that are _potentially_ loadable by Pd-l2ork/Pd-extended
or Pd(-vanilla) for that matter.
gasm,dr
IOhannes
_______________________________________________ Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
Hi everyone,
Thanks for your feedback! To make my own very rough estimate of the number of pd extended objects, I started from http://www.umatic.nl/workshop/objects.txt and edited the file so that each line had one listed object name on it. Then the file had 859 lines in it. That list of objects appears to be quite old, but anyway at least now I have some number to go with for the moment.
Best, Edgar
On Mon, 7 Jul 2014 00:32:38 -0700, Miller Puckette wrote
Hi Ed -
I believe Pd vanilla has 194 object names (by counting them in help- intro.pd). (Sometimes there is more than one Pd class that can be created from a single object name so the exact number is partly a matter of defintion). cheers Miller
PS 194 is too many :)
On Sun, Jul 06, 2014 at 05:31:53AM -0700, Edgar Berdahl via Pd-dev wrote:
Hello,
Does anyone know how many objects there are in pd extended versus in pd vanilla?
Best, Edgar
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
My memory tells me that Pd-extended has something like 2000 objects. There is a far amount of cruft and duplicates in there though.
.hc
Edgar Berdahl via Pd-dev wrote:
Hi everyone,
Thanks for your feedback! To make my own very rough estimate of the number of pd extended objects, I started from http://www.umatic.nl/workshop/objects.txt and edited the file so that each line had one listed object name on it. Then the file had 859 lines in it. That list of objects appears to be quite old, but anyway at least now I have some number to go with for the moment.
Best, Edgar
On Mon, 7 Jul 2014 00:32:38 -0700, Miller Puckette wrote
Hi Ed -
I believe Pd vanilla has 194 object names (by counting them in help- intro.pd). (Sometimes there is more than one Pd class that can be created from a single object name so the exact number is partly a matter of defintion). cheers Miller
PS 194 is too many :)
On Sun, Jul 06, 2014 at 05:31:53AM -0700, Edgar Berdahl via Pd-dev wrote:
Hello,
Does anyone know how many objects there are in pd extended versus in pd vanilla?
Best, Edgar
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev