I know what is wrong with the knobs. It seems QSynth polls for the
values immediately after assigning them. The gain, reverb and chorus
are now queued as events in 1.1.0 when assigned from a non-synthesis
thread (for proper thread safety). To fix this, we need to make the
most recently assigned values available when queried, though they may
not actually be the current synthesis values (if they haven't been
processed yet in the synthesis thread).
The issue is in keeping the latest values reported to non-synthesis
threads in sync with the synthesis thread, without requiring any
locking in the synthesis thread. I'll think about this today and
implement a work around soon. We should probably think about what
other events may have similar issues, now that event queuing is used.
Since there aren't any binary compatibility issues that I can see, I
think we should revert the const char * stuff for callbacks (which I
have done in my local copy as well) and release a 1.1.1 ASAP, once we
are sure that all QSynth related incompatibilities are resolved.
I put a note on the FluidSynth home page for now about the issues at hand.
Josh
_______________________________________________
fluid-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/fluid-dev