diff --git a/modules/juce_events/timers/juce_Timer.cpp b/modules/juce_events/timers/juce_Timer.cpp index 6b7343a559..f82abca425 100644 --- a/modules/juce_events/timers/juce_Timer.cpp +++ b/modules/juce_events/timers/juce_Timer.cpp @@ -332,6 +332,14 @@ void Timer::startTimer (const int interval) noexcept } } +void Timer::startTimerHz (int timerFrequencyHz) noexcept +{ + if (timerFrequencyHz > 0) + startTimer (1000 / timerFrequencyHz); + else + stopTimer(); +} + void Timer::stopTimer() noexcept { const TimerThread::LockType::ScopedLockType sl (TimerThread::lock); diff --git a/modules/juce_events/timers/juce_Timer.h b/modules/juce_events/timers/juce_Timer.h index a2f823af24..57b0ce821f 100644 --- a/modules/juce_events/timers/juce_Timer.h +++ b/modules/juce_events/timers/juce_Timer.h @@ -91,6 +91,11 @@ public: */ void startTimer (int intervalInMilliseconds) noexcept; + /** Starts the timer with an interval specified in Hertz. + This is effectively the same as calling startTimer (1000 / timerFrequencyHz). + */ + void startTimerHz (int timerFrequencyHz) noexcept; + /** Stops the timer. No more callbacks will be made after this method returns. @@ -102,14 +107,10 @@ public: void stopTimer() noexcept; //============================================================================== - /** Checks if the timer has been started. - - @returns true if the timer is running. - */ + /** Returns true if the timer is currently running. */ bool isTimerRunning() const noexcept { return periodMs > 0; } /** Returns the timer's interval. - @returns the timer's interval in milliseconds if it's running, or 0 if it's not. */ int getTimerInterval() const noexcept { return periodMs; }