Hi Will, Hi Kristian, as explained in my other message, I haven't yet given up on the goal of eliminating unnecessary sources of numeric discrepancies in a typical release build. Up to now I was in parts successful, with older compilers up to GCC-8. The greatest roadblock is just the tedious and tricky setup to be able to look at intermediary numbers and identify where matters go astray. To help with that process, I attempted to run the tests within Docker; for Docker I could use the existing OS images, and moreover the setup for debugging is much simpler than with a virtual machine (or even with a separate machine/Laptop ). Unfortunately this is hampered by another problem: When you start Yoshimi with --no-gui, in fact it still *runs* the GUI, just does not *show* any window. Which means, under Docker the startup fails, since FLTK can not connect to any display. On the other hand, I see in the code those #ifdef GUI_FLTK at various places in main.cpp and SynthEngine.cpp -- which seem to imply that in fact Yoshimi /can/ operate without the presence of a GUI. The guarded parts in SynthEngine are not within the hot code path. So probably the most tricky part could be the usages within InterChange.cpp But especially some (but not all) of the latter do an additional check
if (synth->getRuntime().showGui ....
Do you think it might be feasible to align both cases to do essentially the same? I.e. when started with --no-gui, Yoshimi could really skip all the GUI setup code? And also just never send updates through the ringbuffers towards the GUI? -- Hermann _______________________________________________ Yoshimi-devel mailing list Yoshimi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/yoshimi-devel