qmetro
Queue-based metronome
Description
Outputs metro, qmetro will drop output if the processing queue is overloaded.
messages at a set interval. Similar toDiscussion
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]ms
optional
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 attribute argument should be used when specifying time in any other time unit besides milliseconds or notevalues (e.g. ).
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[Time Value]
defer[float]
Turn this on to send output in the low-priority queue.
interval[Time Value]
Sets the The time interval at which the qmetro object sends out a . Time can be specified in any of the time formats used in Max.
quantize[Time Value]
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 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. The default value is the global 'internal' transport.
Common Box Attributes
annotation[symbol]
Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.
background[int]: 0
Adds or removes the object from the patcher's background layer.
adds the object to the background layer, removes it. Objects in the background layer are shown behind all objects in the default foreground layer.
color[4 floats]
Sets the color for the object box outline.
fontface[int]
Sets the type style used by the object. The options are:
plain
bold
italic
bold italic
Possible values:
0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'
fontname[symbol]
Sets the object's font.
fontsize[float]
Sets the object's font size (in points).
Possible values:
'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'
hint[symbol]
Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.
ignoreclick[int]: 0
Toggles whether an object ignores mouse clicks in a locked patcher.
jspainterfile[symbol]
You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.
patching_rect[4 floats]: 0. 0. 100. 0.
Sets the position and size of the object in the patcher window.
position[2 floats]
write-only
Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.
presentation[int]: 0
Sets whether an object belongs to the patcher's presentation.
presentation_rect[4 floats]: 0. 0. 0. 0.
Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.
rect[4 floats]
write-only
Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).
size[2 floats]
write-only
Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.
textcolor[4 floats]
Sets the color for the object's text in RGBA format.
textjustification[int]
Sets the justification for the object's text.
Possible values:
0 = 'left'
1 = 'center'
2 = 'right'
varname[symbol]
Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.
Messages
bang
In left inlet: starts the qmetro object.
int
In left inlet: Any number other than 0 starts the qmetro object. At regular intervals, qmetro sends a out the outlet. stops qmetro.
In right inlet: The number is the time interval, in milliseconds, at which qmetro sends out a . A new number in the right inlet does not take effect until the next output is sent.
- input
[int]
float
Performs the same function as
.- input
[float]
list
In right inlet: A list may be used to specify time in one of the Max time formats.
- input
[list]
anything
Same as
.- interval
[list]
clock
reset
The word
will reset the object's counter used in 'clocker'-mode.
stop
In left inlet: Stops qmetro.
See Also
Name | Description |
---|---|
clocker | Report elapsed time, at regular intervals |
counter | Keep count based on bang messages |
cpuclock | Retrieve the CPU time |
delay | Delay a bang |
setclock | Create and control an alternative clock |
tempo | Output numbers at a metronomic tempo |
transport | Control a clock |
uzi | Send many bang messages |