detonate
Description
Provides score playback managed using Max messages. The score may be loaded from a MIDI file, or generated using Max functions. The score is not limited to MIDI notes and values; any information can be stored and played back with detonate.
Examples
Discussion
When detonate receives a message or a message in the left inlet, it sends out the delta time of its starting note event (or of the note after the found note, in the case of ). After that, each time detonate receives a message, it sends out all the other note data for that event, and the delta time of the next event, progressing through the score. Thus, the numbers coming out the left outlet can be used to control the playback rhythm, by delaying for the specified time and then triggering the message.
When detonate receives an message (or receives a number, while stopped) in the left inlet, it uses that information as an index number (starting at index number 0 for the first note event) and sends out all note data for the indexed event. Instead of sending the note's delta time out the left outlet, however, it sends the start time of the note--the total time since the beginning of the score.
After detonate has received a or message in the left inlet, if a number is received in the 2nd inlet that matches the pitch of the current note in the score (or one of the two notes immediately after it), all the data for the matched note is sent out, except for the delta time.
Arguments
label [symbol]
Supplies a name for the object. Any detonate objects with the same name argument will share the same event data.
Attributes
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] (default: 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'
hidden [int] (default: 0)
Toggles whether an object is hidden when the patcher is locked.
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] (default: 0)
Toggles whether an object ignores mouse clicks in a locked patcher.
jspainterfile [symbol]
JS Painter File
patching_rect [4 floats] (default: 0. 0. 100. 0.)
Sets the position and size of the object in the patcher window.
position [2 floats]
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] (default: 0)
Sets whether an object belongs to the patcher's presentation.
presentation_rect [4 floats] (default: 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]
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]
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
int
Arguments
In left inlet: The delta time (delay), in milliseconds, since the previous recorded event. This denotes the "inter-onset interval --the time between the beginnings of notes--which effectively determines the rhythm in which the events are recorded. This need not necessarily be the true time in which they occur; detonate believes any (non-negative) delta time it receives.
When detonate receives a number in the left inlet while recording, it treats the number as the inter-onset interval (the time elapsed since the previous event), combines it with the numbers most recently received in the other inlets, and records them together as a note event. As with most Max objects, the numbers received in the other inlets are stored for use in subsequent note events triggered by the receipt of a number in the leftmost inlet.
When detonate has received a message, a subsequent number in the 2nd inlet is treated as the key number (pitch) of a note. If the number is the same as the pitch of the current note in the score (or a nearby note), the information recorded for that note--except for the delta time--is sent out.
When detonate is neither recording nor following, a number in the left inlet has the same effect as the message.
(inlet1)
Arguments
(inlet2)
Arguments
(inlet3)
Arguments
(inlet4)
Arguments
(inlet5)
Arguments
(inlet6)
Arguments
(inlet7)
Arguments
float
Arguments
list
Arguments
clear
(mouse)
delay
Arguments
export
Arguments
file-format [int]
follow
Arguments
followat
Arguments
velocity [int]
channel [int]
import
Arguments
mute
Arguments
parameter-value [int]
mute-flag [int]
next
nth
Arguments
open
params
Arguments
advance [int]
octave-match [int]
read
Arguments
record
restore
setparam
Arguments
name [symbol]
display-mode [int]
minimum [int]
maximum [int]
default [int]
interval [int]
scaling [int]
note-number [int]
start
startat
Arguments
velocity [int]
channel [int]
stop
unmute
Arguments
value [int]
unmuteall
wclose
write
Arguments
time [int]
file-format [int]
writemax
Arguments
Output
int
Out left outlet: When a
When an message is received in the left inlet (or an if detonate is stopped), the starting time of the specified note is sent out.
Out 2nd outlet: In response to an message, or an while detonate is stopped, or a message while playing back, or a matched pitch while following, the pitch of the note is sent out.
Out 3rd outlet: The velocity of the note.
Out 4th outlet: The duration of the note.
Out 5th outlet: The MIDI channel of the note.
Out 6th outlet: The track number of the note.
Out 7th outlet: An extra value associated with the note.
Out right outlet: A second extra value associated with the note.
See Also
Name | Description |
---|---|
follow | Compare a live performance to a recorded performance |
seq | Sequencer for recording and playing MIDI data |