Loading...
Searching...
No Matches
juce::TimedCallback Class Referencefinal

Detailed Description

Utility class wrapping a single non-null callback called by a Timer.

You can use the usual Timer functions to start and stop the TimedCallback. Deleting the TimedCallback will automatically stop the underlying Timer.

With this class you can use the Timer facility without inheritance.

See also
Timer

The documentation for this class was generated from the following file:
Inheritance diagram for juce::TimedCallback:

Public Member Functions

 TimedCallback (std::function< void()> callbackIn)
 Constructor.
 ~TimedCallback () noexcept override
 Destructor.
void startTimer (int intervalInMilliseconds) noexcept
 Starts the timer and sets the length of interval required.
void startTimerHz (int timerFrequencyHz) noexcept
 Starts the timer with an interval specified in Hertz.
void stopTimer () noexcept
 Stops the timer.
bool isTimerRunning () const noexcept
 Returns true if the timer is currently running.
int getTimerInterval () const noexcept
 Returns the timer's interval.

Constructors and Destructors

◆ TimedCallback()

juce::TimedCallback::TimedCallback ( std::function< void()> callbackIn)
inlineexplicit

Constructor.

The passed in callback must be non-null.

References jassert.

◆ ~TimedCallback()

juce::TimedCallback::~TimedCallback ( )
inlineoverridenoexcept

Destructor.

References stopTimer().

Member Functions

◆ startTimer()

void juce::Timer::startTimer ( int intervalInMilliseconds)
noexcept

Starts the timer and sets the length of interval required.

If the timer is already started, this will reset it, so the time between calling this method and the next timer callback will not be less than the interval length passed in.

This method may be called from any thread. It only affects when future callbacks are scheduled. Callbacks themselves always run on the message thread.

Parameters
intervalInMillisecondsthe interval to use (any value less than 1 will be rounded up to 1)

◆ startTimerHz()

void juce::Timer::startTimerHz ( int timerFrequencyHz)
noexcept

Starts the timer with an interval specified in Hertz.

This is effectively the same as calling startTimer (1000 / timerFrequencyHz).

◆ stopTimer()

void juce::Timer::stopTimer ( )
noexcept

Stops the timer.

This method may be called from any thread. It cancels any future callbacks for this timer. If a callback is already running on the message thread, this method does not wait for it to finish and may return while that callback is still executing.

Do not destroy the Timer (or data it uses) from another thread while a callback may still be running. Before destroying a timer it's best practice to stop the timer from the message thread. If the Timer will be destroyed from a background thread consider using MessageManager::callSync() to call stopTimer() from the message thread.

Referenced by ~TimedCallback().

◆ isTimerRunning()

bool juce::Timer::isTimerRunning ( ) const
inlinenoexcept

Returns true if the timer is currently running.

◆ getTimerInterval()

int juce::Timer::getTimerInterval ( ) const
inlinenoexcept

Returns the timer's interval.

Returns
the timer's interval in milliseconds if it's running, or 0 if it's not.