Sorry, if I'm being obvious: I found 'sys_getversion' at the end of m_glob.c which returns major and minor version number at runtime. Christof
Gesendet: Donnerstag, 22. September 2016 um 17:56 Uhr Von: "Antoine Rousseau" antoine@metalu.net An: Kein Empfänger Cc: Pd-list pd-list@lists.iem.at Betreff: Re: [PD] Tcl error for [knob] and [mknob]
Thanks a lot ! I think I get it. I'll do it asap. 2016-09-22 17:06 GMT+02:00 IOhannes m zmoelnig zmoelnig@iem.at:On 2016-09-22 12:21, Antoine Rousseau wrote:
2016-09-22 11:03 GMT+02:00 IOhannes m zmoelnig <zmoelnig@iem.at[zmoelnig@iem.at]>:
On 2016-09-22 08:37, Antoine Rousseau wrote:
you need to be aware of the version at compilation time, and have to use this version at runtime. So I don't think you can build an external that would be compatible for both versions.
why?
Because interfaces changed :
-void iemgui_save(t_iemgui *iemgui, t_symbol **srl, int *bflcol) +void iemgui_save(t_iemgui *iemgui, t_symbol **srl, t_symbol**bflcol)
[...]
so how could I build a binary that would switch the interface of iemgui_save at runtime, following the version of the running Pd ?
in pseudo code: if(pd<0.47) iemgui_save(x, srl, i_color); else iemgui_save(x, srl, s_color);
this will give you some compiler warnings, but you can do:
typedef void(t_iemgui_save_old*)(t_iemgui *iemgui, t_symbol **srl, int *bflcol); typedef void(t_iemgui_save_new*)(t_iemgui *iemgui, t_symbol **srl, t_symbol **bflcol);
if(pd<0.47) { t_iemgui_save_old isave=(t_iemgui_save_old)iemgui_save; isave(x, srl, i_color); } else { t_iemgui_save_old isave=(t_iemgui_save_new)iemgui_save; isave(x, srl, s_color); }
fgmsdr IOhannes
Pd-list@lists.iem.at[Pd-list@lists.iem.at] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list%5Bhttps://lists.puredata.info/l...]
--
Antoine Rousseau http://www.metalu.net%5Bhttp://metalu.net%5D%C2%A0__%C2%A0http://www.metalua...] _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list%5Bhttps://lists.puredata.info/l...]