clocker

Report elapsed time, at regular intervals

Description

The clocker object is a metronome that reports the time elapsed since it was started. This object uses the Max time format syntax, so the interval that the clocker object uses can be either fixed or tempo-relative. Its output can be quantized using tempo-relative syntax, and if the autostarttime attribute is set, the object can also start at a tempo-relative point.

Arguments

Name Type Opt Description
time-interval int float symbol The first argument sets an initial value for the time interval at which clocker sends out its output. This time interval can be either a number which specifies time in milliseconds (e.g. clocker 200) or a notevalue (e.g. clocker 4nd).

Note: While the clocker object lets you specify time in any of Max's standard time formats, the Interval attribute argument should be used when specifying time in any other time unit besides milliseconds or notevalues.

If there is no argument, the initial time interval is set to 5 milliseconds. If notevalue, ticks, or bars.beats.units are specified for the delay interval, the clocker object will not operate unless the transport is running.

Messages

bang In left inlet: Starts the clocker object. If the clocker object is not running, a bang message will start the count. If the clocker object is running, a bang message will reset the count.
int non-zero-to-start [int]
In left inlet: Any non-zero number starts the clocker object. The time elapsed since clocker was started is sent out the outlet at regular intervals. 0 stops the clocker object. If clocker is already running when it receives a non-zero number, it continues reporting the elapsed time at regular intervals from that new point, but without resetting the clock time to 0.
float non-zero-to-start [float]
In left inlet: Any non-zero number starts the clocker object. The time elapsed since clocker was started is sent out the outlet at regular intervals. 0 stope the clocker object. If clocker is already running when it receives a non-zero number, it continues reporting the elapsed time at regular intervals from that new point, but without resetting the clock time to 0. The clocker object’s minimum interval time is 0.02 second.
list input [list]
In right inlet: A list may be used to specify time in one of the Max time formats.
anything interval [list]
Same as list.
clock setclock object name [symbol]
The word clock, followed by the name of an existing setclock object, sets the clocker object to be controlled by that setclock object rather than by Max’s internal millisecond clock. The word clock by itself sets the clocker object back to using Max’s regular millisecond clock.
stop In left inlet: Stops the clocker object.
reset In left inlet: Resets the elapsed time to 0 without stopping or restarting the clock; clocker continues to report the new elapsed time at the same regular interval. This message is meaningless when the clocker is not running, since it always resets to 0 anyway when stopped.

Attributes

Name Type g/s Description
active int Turns the clocker object on and off.
autostart int If turned on (non-zero) the clocker object will begin running automatically at the time specified with the autostarttime attribute.
autostarttime atom If the autostart attribute is enabled (non-zero) the clocker object will begin running automatically at the time specified with the this attribute. The autostart operates as a timepoint object that is internal to the clocker object.
defer float Turn this on to send output in the low-priority queue.
interval atom Sets the The time interval at which the clocker object sends out a bang. Time can be specified in any of the time formats used in Max.
quantize atom Send output only on the specified time-boundary if appropriate. This is achieved by making internal adjustments to the times used for sending output. The quantization can be specified in the following time formats: bars.beats.units, ticks or note values.
transport symbol This attribute names a master time transport. If the time is specified using a 'relative' unit (for example: ticks, bars.beats.units, or notevalues), then the named transport is used to determine delay times based on tempo, time-signature, and other related information.

Information for box attributes common to all objects

Examples

See Also

Name Description
counter Count the bang messages received, output the count
cpuclock Precise "real-world" time measurements
delay Delay a bang before passing it on.
setclock Control the clock speed of timing objects remotely
tempo Output numbers at a metronomic tempo
transport Control a master clock and report time values.
uzi Send a specific number of bang messages