| [This was originally sent on 1/12/05]
John,
On 1/2/05 2:00 PM, John D. Ramsdell etched in stone:
> I offer to take on the task of making the FLTK widgets built into
> Csound 4's libcsound thread safe, however, I will gladly defer to
> anyone else with an interest in resolving this issue, and am quite
> willing to simply take on a supporting role.
>
Sorry to not have responded to this sooner. Given what you have found out
about FLTK and given the symptoms of it not working on OS X which make it
seem like a threading problem, I think that this is a fantastic idea. Since
you have such a good handle on the problem, I definitely think that you
should be the one to make the changes :)
Regarding the code freeze, Cs4 is still in "maintenance mode" and we are
supposed to be fixing bugs :) And I think these issues constitute a rather
significant bug.
> * The Csound API must change so that the library knows if it must
> create and run a main FLTK GUI thread, or if it must rely on an
> existing thread to do this job.
Another possible option I see now is to make this a compile-time flag and
have two versions of the library.
However, given that the only hosts that use the API (AFAIK) are CsoundVST,
flCsound, and MacCsound (which does not use FLTK), I think that we could
change the API without breaking anything for anyone.
> * The current version of csound/widgets.cpp encodes two ways to act as
> a main thread, see fltkKeybRun and fltkRun. The keyboard runner has
> some special code to handle keyboard sensing. Handling both cases
> is difficult.
Disabling the keyboard-reading opcode in the thread-safe library as you
suggested elsewhere sounds fine to me.
Anthony Kozar
anthony.kozar@utoledo.edu
http://akozar.spymac.net/ |