Timer and MultiTimer


#1

I have a class setup that does some rendering and multiply inherits from MultiTimer. on the callBack I call another class to do some processing and it inherits from Timer and calls startTimer. However the callback on that class never gets called unless I call it while not in the first classes timerCallback.

Is it not legal to start another time while in the callback of the first?

More specifically the first timer is actually calling ThreadWithProgressWindow when the first timer is called. The ThreadWithProgressWindow::timerCallback is never called so it never checks to see if the thread is complete (which it does finish normally)


#2

After doing some more testing this is definitely related to ThreadWithProgress and a timer. If I am on a Timer callback and that timer callback directly or indirectly starts a ThreadWithProgressWindow the whole app locks up because the TimerCallback on ThreadWithProgressWindow never gets called because of the fact that it goes into a modalState.

So how do you transition from the timerCallback thread/loop to another one that can switch into a modal state?


#3

Use an AsynUpdater or other message based callback?


#4

Thanks for the feedback. Juce is quite large and learning all the little ways of using things takes time.

I ended up doing an animation after the user selects something and I put a changeListener on that for when the animation is complete and then invoked the ThreadWithProgress.

Just for testing I also played with AsyncUpdater and it was a great item to learn as well.

Thanks for the help!!