Hi, thanks, yeah, I had checked properties before like you suggested earlier. And I see how it has extra code to not make the new properties behaviour affect all canvases. I think I'm ok with that. But I can just use that same logic and put the *tcl* code instead. I have other issues when trying to achieve my goal.
You see, for what I get, [propertybag] uses "class_setpropertiesfn" (declared in m_pd.h and the way to create properties for externals) to add a different properties behaviour, and then hack it to overwrite the behaviour of a canvas. But I'm after removing properties instead off adding them.
So this needs to be accessed and hacked earlier than the stage we're accessing the properties, like when we capture a right click! This seems to be done in g_editor.c https://github.com/pure-data/pure-data/blob/6b42a26d52708a4cc8df18f4901bfa48fc9fbb66/src/g_editor.c in the canvas_rightclick function. If there was a way to set rightclick function in Pd headers, this would be easy and done, but none of this is declared in the Pd headers...
In its turn, canvas_rightclick calls the "*::pdtk_canvas::pdtk_canvas_popup*" function in tcl/pdtk_canvas.tcl https://github.com/pure-data/pure-data/blob/1c60a514eab4141b708c5df5e6f401d796500088/tcl/pdtk_canvas.tcl, and we can mess with that by overwritting it, as the kiosk plugin does. Overwriting it seems to be the only way I can imagine to do this. I can't overwrite canvas_rightclick or other code from g_editor.c https://github.com/pure-data/pure-data/blob/6b42a26d52708a4cc8df18f4901bfa48fc9fbb66/src/g_editor.c, right?
But how to overwrite it only when I'm dealing with a particular canvas? I can't find the answer to this by checking propertybang, and I'm not even sure it can be done in any way.
Please tell me if I'm missing something obvious and an answer to that within the code of propertybang
Thanks
2018-04-12 4:17 GMT-03:00 IOhannes m zmoelnig zmoelnig@iem.at:
On 2018-04-12 04:02, Alexandre Torres Porres wrote:
subpatch or abstraction. But well, can it even be possible to tweak with this without affecting all of Pd?
Any ideas?
take a look at how this is handled in iemguts' [propertybang].
mgfasdrt IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list