Package heronarts.lx.modulator
Class Randomizer
java.lang.Object
heronarts.lx.LXComponent
heronarts.lx.LXRunnableComponent
heronarts.lx.modulator.LXModulator
heronarts.lx.modulator.LXPeriodicModulator
heronarts.lx.modulator.Randomizer
- All Implemented Interfaces:
LXComponent.Renamable
,LXLoopTask
,LXPath
,LXSerializable
,LXMidiListener
,LXTriggerSource
,LXOscComponent
,LXNormalizedParameter
,LXParameter
,LXParameterListener
@Global("Randomizer")
@Device("Randomizer")
@LXCategory("Core")
public class Randomizer
extends LXPeriodicModulator
implements LXNormalizedParameter, LXTriggerSource, LXMidiListener, LXOscComponent
Modulator that provides randomization within normalized value range.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
static enum
Nested classes/interfaces inherited from class heronarts.lx.modulator.LXModulator
LXModulator.Device, LXModulator.Global, LXModulator.Placeholder
Nested classes/interfaces inherited from class heronarts.lx.LXComponent
LXComponent.Hidden, LXComponent.Renamable
Nested classes/interfaces inherited from interface heronarts.lx.parameter.LXNormalizedParameter
LXNormalizedParameter.OscMode
Nested classes/interfaces inherited from interface heronarts.lx.parameter.LXParameter
LXParameter.Collection, LXParameter.Formatter, LXParameter.Monitor, LXParameter.MultiMonitor, LXParameter.Polarity, LXParameter.Units
Nested classes/interfaces inherited from interface heronarts.lx.LXSerializable
LXSerializable.Utils
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal CompoundParameter
final CompoundParameter
final CompoundParameter
final CompoundParameter
final CompoundParameter
final CompoundParameter
final CompoundParameter
final BoundedParameter
final CompoundParameter
final TriggerParameter
final TriggerParameter
Fields inherited from class heronarts.lx.modulator.LXPeriodicModulator
looping, tempoDivision, tempoLock, tempoSync
Fields inherited from class heronarts.lx.modulator.LXModulator
crashed, midiFilter
Fields inherited from class heronarts.lx.LXRunnableComponent
runMs, running, trigger
Fields inherited from class heronarts.lx.LXComponent
children, internalParameters, KEY_CHILDREN, KEY_CLASS, KEY_COMPONENT_ID, KEY_ID, KEY_INTERNAL, KEY_PARAMETER_PATH, KEY_PARAMETERS, KEY_PATH, KEY_RESET, label, legacyInternalParameters, legacyParameters, lx, modulationColor, modulationControlsExpanded, modulationsExpanded, parameters, presetFile
Fields inherited from interface heronarts.lx.LXPath
ROOT, ROOT_PREFIX, ROOT_SLASH
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected double
computeBasis
(double basis, double value) Implementation method to compute the appropriate basis for a modulator given its current basis and value.protected double
computeValue
(double deltaMs, double basis) Implementation method to compute the value of a modulator given its basis.double
Gets the value of the parameter in a normalized space from 0 to 1void
load
(LX lx, JsonObject obj) Loads the LX component.void
noteOnReceived
(MidiNoteOn note) void
Subclasses are free to override this if desired.protected void
postRun
(double deltaMs) setNormalized
(double value) Sets the value or the parameter in normalized space from 0 to 1Methods inherited from class heronarts.lx.modulator.LXPeriodicModulator
computeValue, disableAutoReset, finished, getBasis, getBasisf, getPeriod, getPeriodf, loop, loop, numLoops, onReset, onSetValue, randomBasis, save, setBasis, setLooping, setPeriod, setPeriod, updateBasis
Methods inherited from class heronarts.lx.modulator.LXModulator
autostart, disableAutoStart, getCrash, getCrashStackTrace, getFormatter, getIndex, getOscAddress, getOscPath, getPath, getPolarity, getUnits, getValue, isMappingSource, run, setComponent, setFormatter, setIndex, setMappingSource, setPolarity, setUnits, setValue, setValue, updateValue
Methods inherited from class heronarts.lx.LXRunnableComponent
isRunning, onStart, onStop, onTrigger, reset, start, stop, toggle, trigger
Methods inherited from class heronarts.lx.LXComponent
addArray, addChild, addInternalParameter, addLegacyInternalParameter, addLegacyParameter, addParameter, addParameter, addParameters, contains, copyParameters, dispose, getCategory, getChild, getComponentName, getComponentName, getComponentName, getDescription, getId, getLabel, getLX, getOscLabel, getParameter, getParameters, getParent, handleOscMessage, hasParameter, isValidOscParameter, loadParameters, loadPreset, removeParameter, removeParameter, removeParameter, removeParameter, savePreset, setDescription, setParent, toOscQuery, toOscQuery, toOscQuery, toString, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface heronarts.lx.midi.LXMidiListener
aftertouchReceived, controlChangeReceived, noteOffReceived, pitchBendReceived, programChangeReceived
Methods inherited from interface heronarts.lx.parameter.LXNormalizedParameter
getBaseNormalized, getBaseNormalizedf, getExponent, getNormalizedf, getOscMode, getValueFromNormalized, isWrappable
Methods inherited from interface heronarts.lx.osc.LXOscComponent
getOscAddress, handleOscMessage
Methods inherited from interface heronarts.lx.parameter.LXParameter
dispose, getBaseValue, getBaseValuef, getFormatter, getLabel, getParentParameter, getPolarity, getUnits, getValue, getValuef, isMappable, reset, setComponent, setFormatter, setMappable, setValue
Methods inherited from interface heronarts.lx.LXPath
getCanonicalLabel, getCanonicalLabel, getCanonicalPath, getCanonicalPath, getDescription, getParent, getPath, isDescendant
-
Field Details
-
triggerMode
-
lerpMode
-
periodMs
-
randomMs
-
chance
-
speed
-
accelTimeSecs
-
smoothingWindow
-
smoothingWindowRangeMs
-
min
-
max
-
triggerIn
-
triggerOut
-
-
Constructor Details
-
Randomizer
public Randomizer()
-
-
Method Details
-
load
Description copied from class:LXComponent
Loads the LX component. Restores the ID of the component, as well as its internal and user-facing parameters. Any explicitly registered children will be automatically loaded, so long as they are direct descendants. Dynamic arrays will not be automatically loaded, this is left to subclasses to implement.- Specified by:
load
in interfaceLXSerializable
- Overrides:
load
in classLXPeriodicModulator
- Parameters:
lx
- LX instanceobj
- Object to deserialize
-
onParameterChanged
Description copied from class:LXComponent
Subclasses are free to override this if desired. It will automatically fire for any listenable parameter that is registered with this component.- Specified by:
onParameterChanged
in interfaceLXParameterListener
- Overrides:
onParameterChanged
in classLXPeriodicModulator
- Parameters:
p
- Parameter that has a value change
-
computeValue
protected double computeValue(double deltaMs, double basis) Description copied from class:LXPeriodicModulator
Implementation method to compute the value of a modulator given its basis.- Specified by:
computeValue
in classLXPeriodicModulator
- Parameters:
deltaMs
- Milliseconds elapsedbasis
- Basis of the modulator- Returns:
- Value of modulator
-
postRun
protected void postRun(double deltaMs) - Overrides:
postRun
in classLXRunnableComponent
-
setNormalized
Description copied from interface:LXNormalizedParameter
Sets the value or the parameter in normalized space from 0 to 1- Specified by:
setNormalized
in interfaceLXNormalizedParameter
- Parameters:
value
- The normalized value, from 0 to 1- Returns:
- this, for method chaining
-
getNormalized
public double getNormalized()Description copied from interface:LXNormalizedParameter
Gets the value of the parameter in a normalized space from 0 to 1- Specified by:
getNormalized
in interfaceLXNormalizedParameter
- Returns:
- Value of parameter, normalized to range from 0 to 1
-
getTriggerSource
- Specified by:
getTriggerSource
in interfaceLXTriggerSource
-
computeBasis
protected double computeBasis(double basis, double value) Description copied from class:LXPeriodicModulator
Implementation method to compute the appropriate basis for a modulator given its current basis and value.- Specified by:
computeBasis
in classLXPeriodicModulator
- Parameters:
basis
- Last basis of modulatorvalue
- Current value of modulator- Returns:
- Basis of modulator
-
noteOnReceived
- Specified by:
noteOnReceived
in interfaceLXMidiListener
-