Jamoma API  0.6.0.a19
TTClock Class Referenceabstract

TTClock is the base class for all Clock Unit. More...

#include <TTClock.h>

+ Inheritance diagram for TTClock:
+ Collaboration diagram for TTClock:

Public Member Functions

virtual ~TTClock ()
 Destructor. More...
 
virtual TTErr getParameterNames (TTValue &value)=0
 Get specific parameters names needed by this clock. More...
 
virtual TTErr Go ()=0
 Start the clock. More...
 
virtual TTErr Stop ()=0
 Halt the sheduler. More...
 
virtual TTErr Pause ()=0
 Pause the sheduler progression. More...
 
virtual TTErr Resume ()=0
 Resume the sheduler progression. More...
 
virtual TTErr Tick ()=0
 Called every time a new step should be processed. More...
 
TTErr setDuration (const TTValue &value)
 set the duration attribute new duration More...
 
TTErr setOffset (const TTValue &value)
 set the offset attribute new offset More...
 
TTErr setSpeed (const TTValue &value)
 set the speed factor attribute new speed factor More...
 
- Public Member Functions inherited from TTObjectBase
virtual ~TTObjectBase ()
 Destructor.
 
TTUInt16 getReferenceCount ()
 Query an object to get its current reference count. More...
 
TTUInt32 getObserverCount () const
 Query an object to get the number of observers. More...
 
TTErr registerAttribute (const TTSymbol name, const TTDataType type, void *address)
 Register an attribute. More...
 
TTErr extendAttribute (const TTSymbol name, const TTObjectBasePtr extendedObject, const TTSymbol extendedName)
 Extend the attribute of an existing TTObjectBase to this TTObjectBase (using another attribute name) More...
 
TTErr removeAttribute (const TTSymbol name)
 Remove an attribute. More...
 
TTErr findAttribute (const TTSymbol name, TTAttribute **attr)
 Find an attribute. More...
 
TTErr setAttributeValue (const TTSymbol name, TTValue &value)
 Set an attribute value for an object. More...
 
template<class T >
TTErr set (const TTSymbol aName, T aValue)
 Set an attribute value for an object This is the same as calling setAttributeValue(). More...
 
TTErr getAttributeValue (const TTSymbol name, TTValue &value)
 Get an attribute value for an object. More...
 
template<class T >
TTErr get (const TTSymbol aName, T &aReturnedValue)
 Get an attribute value for an object This is the same as calling getAttributeValue(). More...
 
TTSymbol getAttributeType (const TTSymbol name)
 Return the type of an attribute as a symbol. More...
 
TTErr getAttributeGetterFlags (const TTSymbol name, TTAttributeFlags &value)
 Get the getterFlags of an attribute. More...
 
TTErr setAttributeGetterFlags (const TTSymbol name, TTAttributeFlags &value)
 Set the getterFlags of an attribute. More...
 
TTErr getAttributeSetterFlags (const TTSymbol name, TTAttributeFlags &value)
 Get the setterFlags of an attribute. More...
 
TTErr setAttributeSetterFlags (const TTSymbol name, TTAttributeFlags &value)
 Set the setterFlags of an attribute. More...
 
TTErr registerAttributeProperty (const TTSymbol attributeName, const TTSymbol propertyName, const TTValue &initialValue, TTGetterMethod getter, TTSetterMethod setter)
 Register an attribute property. More...
 
TTErr registerMessageProperty (const TTSymbol messageName, const TTSymbol propertyName, const TTValue &initialValue, TTGetterMethod getter, TTSetterMethod setter)
 Register an message property. More...
 
TTErr getAttribute (const TTSymbol name, TTAttributePtr *attributeObject)
 Search for and locate an attribute. More...
 
TTErr getMessage (const TTSymbol name, TTMessagePtr *messageObject)
 Search for and locate a message. More...
 
void getAttributeNames (TTValue &attributeNameList)
 Return a list of names of the available attributes. More...
 
void getMessageNames (TTValue &messageNameList)
 Return a list of names of the available messages. More...
 
TTSymbol getName () const
 Return the name of this class. More...
 
TTErr registerMessage (const TTSymbol name, TTMethod method)
 Register a message with this object. More...
 
TTErr findMessage (const TTSymbol name, TTMessage **message)
 Find a message registered with this object. More...
 
TTErr removeMessage (const TTSymbol name)
 Remove a message. More...
 
TTErr sendMessage (const TTSymbol name)
 TODO: Document this function. More...
 
TTErr registerObserverForMessage (const TTObject &observingObject, const TTSymbol messageName)
 Register an observer for a message. More...
 
TTErr registerObserverForAttribute (const TTObject &observingObject, const TTSymbol attributeName)
 Register an observer for an attribute. More...
 
TTErr registerObserverForNotifications (const TTObject &observingObject)
 Register an observer. More...
 
TTErr unregisterObserverForMessage (const TTObject &observingObject, const TTSymbol messageName)
 Unregister an observer for a message. More...
 
TTErr unregisterObserverForAttribute (const TTObject &observingObject, const TTSymbol attributeName)
 Unregister an observer for an attribute. More...
 
TTErr unregisterObserverForNotifications (const TTObject &observingObject)
 Unregister an observer for notifications. More...
 
TTErr sendNotification (const TTSymbol name, const TTValue &arguments)
 Send a notification. More...
 
TTErr logMessage (TTImmutableCString fmtstring,...)
 Log messages scoped to this object instance. More...
 
TTErr logWarning (TTImmutableCString fmtstring,...)
 Log warnings scoped to this object instance. More...
 
TTErr logError (TTImmutableCString fmtstring,...)
 Log errors scoped to this object instance. More...
 
TTErr logDebug (TTImmutableCString fmtstring,...)
 Log messages (scoped to this object instance) to output only if the basic debugging flag is enabled in the environment. More...
 
TTErr lock ()
 Lock the object in order to ensure thread-safe processing. More...
 
TTErr unlock ()
 Unlock the object when thread-safe processing is no longer required. More...
 
TTBoolean isLocked ()
 Query if the object currently is locked for thread-safe processing. More...
 
TTBoolean waitForLock ()
 If the object is locked (e.g. More...
 

Public Attributes

TTSymbol mName
 ATTRIBUTE : the name of the clock.
 
TTSymbol mVersion
 ATTRIBUTE : the version of the clock.
 
TTSymbol mAuthor
 ATTRIBUTE : the author of the clock.
 
TTBoolean mStretchable
 ATTRIBUTE : is the clock provide stretch feature ?
 
- Public Attributes inherited from TTObjectBase
TTBoolean valid
 If the object isn't completely built, or is in the process of freeing, this will be false.
 
TTBoolean track
 enable the print of a log message to ease the track of reference counting mechanism on an instance More...
 

Protected Attributes

TTFloat64 mDuration
 ATTRIBUTE : the time (in ms) the clock will run at normal speed factor.
 
TTFloat64 mOffset
 ATTRIBUTE : the date (in ms) the sheduler will run from.
 
TTFloat64 mSpeed
 ATTRIBUTE : the speed factor of the clock.
 
TTBoolean mExternalTick
 ATTRIBUTE : if true the Tick message comes from an external source.
 
TTBoolean mInfinite
 ATTRIBUTE : if true the clock will run until Stop (this attribute overrides mDuration)
 
bool mRunning
 ATTRIBUTE : is the clock running right now ?
 
TTBoolean mPaused
 ATTRIBUTE : is the clock paused right now ?
 
TTFloat64 mPosition
 ATTRIBUTE : the progression of the clock between the beginning and the end [0. :: 1.].
 
TTFloat64 mDate
 ATTRIBUTE : how many time the clock is running (without no speed factor consideration)
 
TTClockPositionCallback mCallback
 the callback to use for each step
 
TTPtr mBaton
 the baton to use for each step
 
- Protected Attributes inherited from TTObjectBase
TTList observers
 List of all objects watching this object for life-cycle and other changes.
 

Additional Inherited Members

- Protected Member Functions inherited from TTObjectBase
 TTObjectBase (const TTValue arguments)
 Constructor. More...
 

Detailed Description

TTClock is the base class for all Clock Unit.

It still has knowledge and support for ...

Definition at line 46 of file TTClock.h.

Constructor & Destructor Documentation

TTClock::~TTClock ( )
virtual

Destructor.

Definition at line 77 of file TTClock.cpp.

Member Function Documentation

virtual TTErr TTClock::getParameterNames ( TTValue value)
pure virtual

Get specific parameters names needed by this clock.

Returns
an error code if the clock fails to give his specific parameters
virtual TTErr TTClock::Go ( )
pure virtual

Start the clock.

Returns
an error code if the clock fails to start
virtual TTErr TTClock::Pause ( )
pure virtual

Pause the sheduler progression.

Returns
an error code if the clock fails to pause
virtual TTErr TTClock::Resume ( )
pure virtual

Resume the sheduler progression.

Returns
an error code if the clock fails to resume
TTErr TTClock::setDuration ( const TTValue value)

set the duration attribute new duration

Returns
kTTErrGeneric if the value is not a single TTFloat64 >= 0.

Definition at line 82 of file TTClock.cpp.

References kTTErrGeneric, kTTErrNone, kTypeFloat64, mDate, mDuration, mOffset, mPosition, TTObjectBase::sendNotification(), and TTValue::size().

+ Here is the call graph for this function:

TTErr TTClock::setOffset ( const TTValue value)

set the offset attribute new offset

Returns
kTTErrGeneric if the value is not a single TTFloat64

Definition at line 110 of file TTClock.cpp.

References kTTErrGeneric, kTTErrNone, kTypeFloat64, mDate, mDuration, mOffset, mPosition, TTObjectBase::sendNotification(), and TTValue::size().

+ Here is the call graph for this function:

TTErr TTClock::setSpeed ( const TTValue value)

set the speed factor attribute new speed factor

Returns
kTTErrGeneric if the value is not a single TTFloat64

Definition at line 129 of file TTClock.cpp.

References kTTErrGeneric, kTTErrNone, kTypeFloat64, mSpeed, TTObjectBase::sendNotification(), and TTValue::size().

+ Here is the call graph for this function:

virtual TTErr TTClock::Stop ( )
pure virtual

Halt the sheduler.

Returns
an error code if the clock fails to stop
virtual TTErr TTClock::Tick ( )
pure virtual

Called every time a new step should be processed.

Returns
an error code if the clock step fails

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