I think that the Pd API previously required externals to define class_sethelpsymbol(), but now, it mostly causes problems because it prevents Pd from looking for the help file with all possible name and path derivations. Also, when an external has class_sethelpsymbol() set, then its help patch won't be found when an object is instantiated with a geiger namespace prefix (i.e. [mylibrary/myobject]).
Currenty, the only situation where its needed is where many objects share a help patch, but I argue that each object should have its own patch with a distinct example, which can then link to an overarching all_about_ patch. This is the standard that the PDDP has worked out.
I have a sed script which removes class_sethelpsymbol() easily. Does anyone mind if I remove it from their objects? I will leave it in place in the above condition, where its needed. Here are some libraries affected: ann, chaos, beatpipe, cxc, ekext, ext13, jackx, k_cext, k_jack~, OSC, pidip, signal, sprinkler, svf~ unauthorized, zexy, zhzxh~.
Here are some that are affected, but maintained outside of the pure-data CVS (therefore I can't change): gridflow, iemmatrix, iemlib.
Here's the sed script for those who want to do it themselves:
sed -i.bak 's|class_sethelpsymbol(.*class, *gensym(.*));||' *.c
.hc
________________________________________________________________________ ____
"[W]e have invented the technology to eliminate scarcity, but we are deliberately throwing it away to benefit those who profit from scarcity." -John Gilmore
Hans-Christoph Steiner wrote:
place in the above condition, where its needed. Here are some libraries affected: ann, chaos, beatpipe, cxc, ekext, ext13, jackx, k_cext, k_jack~, OSC, pidip, signal, sprinkler, svf~ unauthorized, zexy, zhzxh~.
i am not convinced yet that i want to have the helpsymbols removed from zexy. (this does not mean i am totally against it, but i will need some consideration on my side; there's no use arguing with me on that ;-))
Here are some that are affected, but maintained outside of the pure-data CVS (therefore I can't change): gridflow, iemmatrix, iemlib.
how comes you think that iemmatrix is maintained outside of the sf-CVS? (just because tm is co-author doesn't mean it is)
Here's the sed script for those who want to do it themselves:
sed -i.bak 's|class_sethelpsymbol(.*class, *gensym(.*));||' *.c
note that the "-i" flag is GNU-sed only. and i didn't know you can use pipe as delimiter for the expression. each day you have something to learn ;-)
mfg.as.r IOhannes
On Nov 29, 2005, at 12:28 PM, IOhannes m zmoelnig wrote:
Hans-Christoph Steiner wrote:
place in the above condition, where its needed. Here are some libraries affected: ann, chaos, beatpipe, cxc, ekext, ext13, jackx, k_cext, k_jack~, OSC, pidip, signal, sprinkler, svf~ unauthorized, zexy, zhzxh~.
i am not convinced yet that i want to have the helpsymbols removed from zexy. (this does not mean i am totally against it, but i will need some consideration on my side; there's no use arguing with me on that ;-))
Ok, why do you want it still? Removing it fixes a few problems with the help files:
- allows the placement and the name of the help patch to be flexible (i.e. object.pd, object-help.pd, and help-object.pd all work, and from anywhere in the helppath).
- allows helpfiles to work properly with geiger namespaces: [mylibrary/myobject] will look for its helpfile with the name [mylibrary/myobject], [myobject] will look for the help patch in the path. This means that you have have as many [prepend]s in your patch as you want and all of them will get the correct help file.
Here are some that are affected, but maintained outside of the pure-data CVS (therefore I can't change): gridflow, iemmatrix, iemlib.
how comes you think that iemmatrix is maintained outside of the sf-CVS? (just because tm is co-author doesn't mean it is)
Ok, didn't know, that's good news. But I guess I can't make the edits, right?
Here's the sed script for those who want to do it themselves: sed -i.bak 's|class_sethelpsymbol(.*class, *gensym(.*));||' *.c
note that the "-i" flag is GNU-sed only. and i didn't know you can use pipe as delimiter for the expression. each day you have something to learn ;-)
From the sed man page: "any character other than a backslash (``'') or newline character may be used to delimit the regular expression by prefixing the first use of that delimiter with a backslash" ie. \xabcxdefx turns abc into def. I think you can also use "s" instead of the backslash AFAIK. I looooove regexps!
.hc
________________________________________________________________________ ____
"Terrorism is not an enemy. It cannot be defeated. It's a tactic. It's about as sensible to say we declare war on night attacks and expect we're going to win that war. We're not going to win the war on terrorism." - retired U.S. Army general, William Odom