well, in a linux juce vst plugin with the vst wrapper i have to exit from the shared message thread without killing the host. how could i do that ?
i noticed the shared message thread keeps hanging here (in calls of XNextEvent):
MessageManager* const messageManager = MessageManager::getInstance();
const int originalThreadId = messageManager->getCurrentMessageThread();
while (! threadShouldExit()
&& ! messageManager->hasQuitMessageBeenPosted()
&& messageManager->dispatchNextMessage (false)) <<< here it blocks in XNextEvent
so i’m unable to check for threadShouldExit. even posting a quit message doesn’t help unblocking juce_dispatchNextMessageOnSystemQueue so i’ll get always a !! killing thread by force !! problem with crashes of the hosts.
any ideas ?
actually juce (on linux) is meant to be used as a standalone application only. its code is working with that in mind, but if you are trying to make a juce application live as a plugin of another app (and fully use its gui abilities) then you are a bit lost.
i’m trying to do my best to make this (vst with gui on linux for example) possible but:
- my patches to linux code seldom get accepted
- sometimes i feel a bit of filibustering when ask things in the internals of juce (i’m not speaking about not being able to show a Component in the screen)
i’m ranting here, deliberately… today i feel a bit frustrated.
i hope my words doesn’t get understood as wrong.