Hi,

It seems recently I'm the only one writing here but anyway...

A few days ago Albert experienced some crashes with the new LADSPA
code related to ControlObjects and told me it was probably because I
should have used the ControlObjectThreadMain wrappers which provide
some thread-safety. Those wrappers were mentioned on the mailing list
by Albert here:
http://www.mail-archive.com/mixxx-devel%40lists.sourceforge.net/msg00017.html
However, when I was making the changes Albert suggested, I noticed
that ControlObjectThreadMain probably wasn't intended for the code in
the player thread. So I decided to read the svn commit log for all
revisions from the first one committed by the original authors to the
first one commited by Adam (r918) in hope we would find some clues
there (a bit of archaeology, as Adam said ;)). Long story short, after
analysing the diff between r813 and r814 (over 6000 lines) it turned
out that in r814 the class ControlEngine had been removed and
ControlObjectThreadMain had been added. Major changes in r814:
- all ControlObjects in the GUI thread wrapped in the
ControlObjectThreadMain class, but no ControlObjectThreadMain wrappers
in the player thread
- ControlEngines in the player thread replaced by ControlPushButtons,
ControlPotmeters etc.
- ControlObject::getValue replaced by ControlObjectThreadMain::get
- ControlObject::setValueFromApp replaced by ControlObjectThreadMain::slotSet
So it seems that indeed ControlObjectThreadMain was intended for the
GUI thread, not the engine thread. Thus I think someone shall remove
those wrappers from the engine thread and make sure that all
ControlObjects in the GUI thread are properly wrapped.
The mystery of the ControlObjectThreadMain has been solved, at last ;)

Thanks,
Pawel

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to