This isn’t something I ‘require’ from Juce now, as I’ve written my own… however, it is something that would probably be very handy to be a part of Juce…
We already have an automatic system in place to safely invoke actions from the message thread, using the MessageListener class (driven by the MessageManager). However, there is no built in system for doing the reverse - sending a message to a custom thread.
I’ve found it very straightforward to implement in win32, though I’m not sure what it’d involve for the other platforms - windows at least creates a message queue for a thread automatically. Basically, I’ve given a Thread subclass postMessage(Message* const msg) and handleMessage(const Message& msg) funcs, and a processMessages() function to pump from the thread’s run loop. It works well, and means I can now use the same message ideology (and Message structure) to deliver events to my own thread from any other.
I think it’d be pretty useful if such a class were built into juce, especially as multi-threading programming is on the rise.