If it crashes, maybe there needs to be some mechanism to query the compiled precision of the external, ie. some sort of function pointer or define, etc. If it's not there, then assume single-precision and act accordingly. It would be nice to have useful error print concerning this. I'm just musing here. :)
Message: 4Date: Wed, 26 Feb 2020 13:58:50 +0100From: Christof Ressi <info@christofressi.com>To: pd-dev@lists.iem.atSubject: Re: [PD-dev] [PD] double precision mergedMessage-ID: <7f65121f-810d-c952-40f8-4f0facbbb1a3@christofressi.com>Content-Type: text/plain; charset=utf-8; format=flowedI see you point and I think it's a philosophical issue. In Supercollider, for example, I can't compile a UGen plugin and expect it to run on both Scsynth and Supernova, I rather have to pass the correct define ("SUPERNOVA"). Plugins are therefore usually built twice - with and without "-DSUPERNOVA" - and since they have different extensions and export different symbols, they can coexist. I think this could be a solution for Pd as well. If we had some naming convention for double precision externals, we can then just built both versions unconditionally and Pd will load the correct version. This can be automated by pd-lib-builder.Christof