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

Reply via email to