Adding a function to the "Processing Animation Thread"

Shame there isn’t a version of invokeLater() that runs on the animation thread (you’re doing the opposite of what’s required putting it on the EDT!) You can do this yourself using a ConcurrentLinkedQueue<Runnable> and polling and running those at the beginning or end of draw().

Or, possibly better for your case, a ConcurrentLinkedQueue<OSCMessage>?

@GoToLoop suggestion of a boolean flag will work for limited use cases where you don’t care about message arguments or number of invocations, but it should be a volatile boolean