Hi List, Here is the first stab at a nearly completed set of tools with a nearly standard interface for finding the attributes of pd's global settings, canvas state, and object classes. When I say "nearly complete" I mean I've completed just about everything I set out to implement at the beginning of the "reverse kickstarter". There is certainly room for adding more features-- like the programmatic equivalent of the "find" dialog.
Right now each class posts a message when loaded about what its stable methods are. These are currently a small subset of what I've implemented-- mainly things I find fairly trivial. For the others, I'd like to get more feedback from people before calling them "stable"-- whether they seem to work well, if they have bugs, and if there's a cleaner way to implement them.
Then I'll go through a few more revisions and hopefully remove the "stable" messages once everything looks good.
Some points:
object box. This will become apparent when you try to do [args(---[classinfo] for things like canvas and message. I'm not exactly sure how to "get at" the arguments for these objects. Pdobviously accesses them but I don't know how.
very similar to iterating through [classinfo objectmaker], but for the reason outlined it's not exactly the same.
include float, bang, pointer, list, etc. Not sure if those should just be separate methods like [bangmethod(---[classinfo], or if they should be include at the beginning of the method list.
between saving and loading a patch. (The implementation is also forward compatible with pd-64, if I did my copy/pasting correctly...)
That's about it. I don't have demo builds for these-- only patches to pd-0.45. But it should apply equally well to 0.44 and pd-l2ork. Regardless you can get a sense of the interface from opening info-test.pd.
As always, donations of rice and beans are appreciated!