openshot-audio  0.1.6
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
Timer Class Referenceabstract

#include <juce_Timer.h>

Inheritance diagram for Timer:
AnimatedAppComponent AnimatedPosition< Behaviour > ASIOAudioIODevice AudioCDBurner::Pimpl BubbleMessageComponent Button::CallbackHelper CallOutBoxCallback CarbonViewWrapperComponent CaretComponent ComponentAnimator CoreAudioClasses::CoreAudioInternal Desktop DeviceChangeDetector DragAndDropContainer::DragImageComponent ImageCache::Pimpl ImagePreviewComponent MenuBarComponent MouseInactivityDetector MouseInputSource::SourceList MultiTimerCallback PluginListComponent::Scanner PopupMenu::HelperClasses::MouseSourceState ProcessorParameterPropertyComp ProgressBar PropertiesFile ScreenSaverDefeater ScrollBar Slider::Pimpl::PopupDisplayComponent ThreadWithProgressWindow TooltipWindow

Classes

class  TimerThread
 

Public Member Functions

virtual ~Timer ()
 
virtual void timerCallback ()=0
 
void startTimer (int intervalInMilliseconds) noexcept
 
void startTimerHz (int timerFrequencyHz) noexcept
 
void stopTimer () noexcept
 
bool isTimerRunning () const noexcept
 
int getTimerInterval () const noexcept
 

Static Public Member Functions

static void JUCE_CALLTYPE callPendingTimersSynchronously ()
 

Protected Member Functions

 Timer () noexcept
 
 Timer (const Timer &) noexcept
 

Friends

class TimerThread
 

Detailed Description

Makes repeated callbacks to a virtual method at a specified time interval.

A Timer's timerCallback() method will be repeatedly called at a given interval. When you create a Timer object, it will do nothing until the startTimer() method is called, which will cause the message thread to start making callbacks at the specified interval, until stopTimer() is called or the object is deleted.

The time interval isn't guaranteed to be precise to any more than maybe 10-20ms, and the intervals may end up being much longer than requested if the system is busy. Because the callbacks are made by the main message thread, anything that blocks the message queue for a period of time will also prevent any timers from running until it can carry on.

If you need to have a single callback that is shared by multiple timers with different frequencies, then the MultiTimer class allows you to do that - its structure is very similar to the Timer class, but contains multiple timers internally, each one identified by an ID number.

See also
HighResolutionTimer, MultiTimer

Constructor & Destructor Documentation

Timer::Timer ( )
protectednoexcept

Creates a Timer. When created, the timer is stopped, so use startTimer() to get it going.

Timer::Timer ( const Timer )
protectednoexcept

Creates a copy of another timer.

Note that this timer won't be started, even if the one you're copying is running.

Timer::~Timer ( )
virtual

Destructor.

Member Function Documentation

void JUCE_CALLTYPE Timer::callPendingTimersSynchronously ( )
static

For internal use only: invokes any timers that need callbacks. Don't call this unless you really know what you're doing!

int 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.
bool Timer::isTimerRunning ( ) const
inlinenoexcept

Returns true if the timer is currently running.

void 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.

Parameters
intervalInMillisecondsthe interval to use (any value less than 1 will be rounded up to 1)
void Timer::startTimerHz ( int  timerFrequencyHz)
noexcept

Starts the timer with an interval specified in Hertz. This is effectively the same as calling startTimer (1000 / timerFrequencyHz).

void Timer::stopTimer ( )
noexcept

Stops the timer.

No more callbacks will be made after this method returns.

If this is called from a different thread, any callbacks that may be currently executing may be allowed to finish before the method returns.

virtual void Timer::timerCallback ( )
pure virtual

Friends And Related Function Documentation

friend class TimerThread
friend

The documentation for this class was generated from the following files: