Hi devs,
What would be the best approach to use the GUI objects from x_gui.c (openpanel, savepanel and key) using libpd without tcl/tk ? For key I only need to send messages to gensym(#key) but for the other I don't know. I don't really understand how sys_startgui works. If I can use this method to "catch" the communication that normally would be destined to tcl/tk? Another approach would be to rewrite the sys_vgui function and to catch the openpanel and savepanel messages but I would prefer not to hack the pd code. Perhaps a solution would be to add in the Pd source #ifndef PD_EXTERN_GUI around the function that allows to rewrite the function without interfering with the main code but if there is a solution that doesn't necessitate to touch the Pd sources at all it would be better.
Cheers, Pierre
In fact, after activating my brain... I guess that the best solution would be to implement a parallel mechanism where the user could send a message to the pd instance through a specific symbol (something like "openpanel the-default-path" to the symbol "mypdinstance") and the pd instance would respond to the patch through another specific symbol (something like "the-selected-path" to the symbol "openpanel"). Sorry for the noise...
Cheers, Pierre
2018-01-14 11:52 GMT+01:00 Pierre Guillot guillotpierre6@gmail.com:
Hi devs,
What would be the best approach to use the GUI objects from x_gui.c (openpanel, savepanel and key) using libpd without tcl/tk ? For key I only need to send messages to gensym(#key) but for the other I don't know. I don't really understand how sys_startgui works. If I can use this method to "catch" the communication that normally would be destined to tcl/tk? Another approach would be to rewrite the sys_vgui function and to catch the openpanel and savepanel messages but I would prefer not to hack the pd code. Perhaps a solution would be to add in the Pd source #ifndef PD_EXTERN_GUI around the function that allows to rewrite the function without interfering with the main code but if there is a solution that doesn't necessitate to touch the Pd sources at all it would be better.
Cheers, Pierre