qmetro Reference

Queue-based metronome

qmetro

Description

Outputs bang messages at a set interval. Similar to metro, qmetro will drop output if the processing queue is overloaded.

Examples

Discussion

The qmetro object is similar to a combination of the metro object and the Jitter jit.qball object. In Jitter, most execution take places in the low priority queue to prevent drawing to the screen at interrupt. Most objects also support automatic "dropframing" in order to keep up with realtime if the requested operation cannot be calculated in realtime. Certain things like OpenGL drawing commands are not suitable for this kind of "dropframing" and instead, the metronome driving such events must be "dropframed" using the jit.qball object in order to ensure that they will not backlog the queue. The qmetro object is a single object replacement for this functionality.
This object uses the Max time format syntax, so the interval that the qmetro 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 start at a tempo-relative point.

Arguments

interval [number]

Optional
Unitsms

The optional first argument sets an initial value for the time interval at which metro sends its output. This time interval can be either a number which specifies time in milliseconds (e.g. metro 100) or notevalue (e.g. metro 4n).

Note: While the metro 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 (e.g. metro @interval 11025 samples).

If there is no argument, the initial time interval is 5 milliseconds.

Attributes

active [int]

Turns the qmetro object on and off.

autostart [int]

If turned on (non-zero) the qmetro object will begin running automatically at the time specified with the autostarttime attribute.

autostarttime [10 atoms]

If the autostart attribute is enabled (non-zero) the qmetro 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 qmetro object.

defer [float]

Turn this on to send output in the low-priority queue.

interval [10 atoms]

Sets the The time interval at which the qmetro object sends out a bang. Time can be specified in any of the time formats used in Max.

quantize [10 atoms]

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.

Common Box Attributes

Messages

bang

In left inlet: starts the qmetro object.

int

Arguments

input [int]
In left inlet: Any number other than 0 starts the qmetro object. At regular intervals, qmetro sends a bang out the outlet. 0 stops qmetro.

In right inlet: The number is the time interval, in milliseconds, at which qmetro sends out a bang. A new number in the right inlet does not take effect until the next output is sent.

float

Arguments

input [float]
Performs the same function as int.

list

Arguments

input [list]
In right inlet: A list may be used to specify time in one of the Max time formats.

anything

Arguments

interval [list]
Same as list.

clock

Arguments

clockname [symbol]
The word clock, followed by the name of an existing setclock object, sets the qmetro object to be controlled by that setclock object rather than by Max’s internal millisecond clock. The word clock by itself sets the qmetro object back to using Max’s regular millisecond clock.

reset

The word reset will reset the object's counter used in 'clocker'-mode.

stop

In left inlet: Stops qmetro.

See Also

Name Description
Timing and Sequencing Events Timing and Sequencing Events
clocker
counter
cpuclock
delay
setclock
tempo
transport
uzi
Max Basic Tutorial 4: Metro and Toggle Max Basic Tutorial 4: Metro and Toggle