what~
Generate Impulses for a List of Audio Values
Description
The what~ object generates an impulse -- a signal value of 1 for one sample -- when its input signal crosses a value threshold. The object accepts a list of threshold values and will generate impulses for all of them. Connect a phasor~ to what~ to create a repeating rhythm. For example, when sending in a list of , what~ will output an impulse four times for each phasor~ ramp.
Discussion
The what~ object is sample-accurate when Scheduler in Audio Interrupt is enabled. More details here.
Arguments
values[list]
optional
If one or more values are arguments to what~ they define the initial list of values.
Attributes
matches[atom]
Sets the values to detect
syncupdate[int]
When syncupdate is enabled, messages to change the values to detect do not take effect until the input phasor resets. A reset is defined as a direction reversal in the signal.
triggermode[int]: 2
Determines how what~ matches values in the signal input.
Possible values:
0 = 'Ascending'
(
Detect value in an ascending ramp
)
The previous sample must be less than or equal to the target and the current sample must be greater than the target.
1 = 'Descending'
(
Detect value in an descending ramp
)
The previous sample must be greater than or equal to the target and the current sample must be less than the target.
2 = 'Ascending or Descending'
(
Detect value in an asecending or descending ramp
)
The value is detected if either the ascending or descending condition is true. This mode is useful for detecting ramps in phasors with either positive and negative frequencies.
3 = 'Equals'
(
Detect exact value
)
The value is detected if it is exactly equal to the current sample. This mode is not recommend for phasor ramps since it is unlikely the ramp will output a sample exactly equal to any particular value.
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
int
An
sets a single value to detect, replacing any existing values.
float
An
sets a single value to detect, replacing any existing values.
list
matches attribute. If syncupdate is enabled, the new values are not used until the input phasor resets.
sets the new values to detect, replacing any existing values. A list message is alternative to setting the
clear
The syncupdate is enabled, the values are not cleared until the input phasor resets.
message removes all values that have been added to the what~ object. If
signal
The input signal used for theshold analysis, usually a phasor, though any signal can be used.
See Also
Name | Description |
---|---|
click~ | Create an impulse |
edge~ | Detect logical signal transitions |
delta~ | Signal of sample differences |
phasor~ | Generate sawtooth signals |
sah~ | Sample and hold a signal |
stash~ | Store and Recall Audio Signal Values |
where~ | Report Elapsed and Remaining Time of a Phasor |