Package heronarts.lx.audio
Class SoundObject
java.lang.Object
heronarts.lx.LXComponent
heronarts.lx.LXRunnableComponent
heronarts.lx.modulator.LXModulator
heronarts.lx.audio.SoundObject
- All Implemented Interfaces:
LXComponent.Renamable
,LXLoopTask
,LXPath
,LXSerializable
,LXOscComponent
,LXNormalizedParameter
,LXParameter
,LXParameterListener
,Comparable<SoundObject>
@LXCategory("Audio")
@Global("Sound Object")
public class SoundObject
extends LXModulator
implements Comparable<SoundObject>, LXOscComponent, LXNormalizedParameter
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
static enum
static class
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
Modifier and TypeFieldDescriptionfinal DiscreteParameter
final BooleanParameter
final BoundedParameter
final CompoundParameter
final MutableParameter
final BooleanParameter
final CompoundParameter
final CompoundParameter
final DiscreteParameter
final NormalizedParameter
final BoundedParameter
final BoundedParameter
final LXVector
Holds the normalized position of the sound object, assuming that distance is set to 100%.final LXVector
Holds the position of the sound object in coordinate space where (.5, .5, .5) is the center.final DiscreteParameter
final BoundedParameter
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
-
Method Summary
Modifier and TypeMethodDescriptionint
compareTo
(SoundObject that) protected double
computeValue
(double deltaMs) Implementation method to advance the modulator's internal state.void
dispose()
Invoked when a component is being removed from the system and will no longer be used at all.static SoundObject
double
Gets the value of the parameter in a normalized space from 0 to 1void
Subclasses are free to override this if desired.setNormalized
(double value) Sets the value or the parameter in normalized space from 0 to 1void
Methods inherited from class heronarts.lx.modulator.LXModulator
autostart, disableAutoStart, getCrash, getCrashStackTrace, getFormatter, getIndex, getOscAddress, getOscPath, getPath, getPolarity, getUnits, getValue, isMappingSource, loop, onSetValue, run, setComponent, setFormatter, setIndex, setMappingSource, setPolarity, setUnits, setValue, setValue, updateValue
Methods inherited from class heronarts.lx.LXRunnableComponent
isRunning, onReset, onStart, onStop, onTrigger, postRun, reset, start, stop, toggle, trigger
Methods inherited from class heronarts.lx.LXComponent
addArray, addChild, addInternalParameter, addLegacyInternalParameter, addLegacyParameter, addParameter, addParameter, addParameters, contains, copyParameters, getCategory, getChild, getComponentName, getComponentName, getComponentName, getDescription, getId, getLabel, getLX, getOscLabel, getParameter, getParameters, getParent, handleOscMessage, hasParameter, isValidOscParameter, load, loadParameters, loadPreset, removeParameter, removeParameter, removeParameter, removeParameter, save, 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.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
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
-
admSync
-
admObjId
-
meterSource
-
audioMeterSource
-
envelopSource
-
reaperSource
-
input
-
meterFloor
-
meterCeiling
-
attackMs
-
releaseMs
-
azimuth
-
elevation
-
distance
-
cartesianChanged
-
controlsExpanded
-
position
Holds the position of the sound object in coordinate space where (.5, .5, .5) is the center. For distance values larger than 100%, values may fall outside of the bounds [0,1]. Note that this position is relative to the sound stage bounds, not the absolute space. -
normalized
Holds the normalized position of the sound object, assuming that distance is set to 100%. All values will fall in the range [-1,1] and the amplitude of this vector will be 1. Note that this position is relative to the sound stage bounds, not the absolute space.
-
-
Constructor Details
-
SoundObject
-
-
Method Details
-
get
-
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 classLXRunnableComponent
- Parameters:
p
- Parameter that has a value change
-
updateCartesian
public void updateCartesian() -
computeValue
protected double computeValue(double deltaMs) Description copied from class:LXModulator
Implementation method to advance the modulator's internal state. Subclasses must provide and update value appropriately.- Specified by:
computeValue
in classLXModulator
- Parameters:
deltaMs
- Number of milliseconds to advance by- Returns:
- Computed value
-
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
-
compareTo
- Specified by:
compareTo
in interfaceComparable<SoundObject>
-
dispose
public void dispose()Description copied from class:LXComponent
Invoked when a component is being removed from the system and will no longer be used at all. This unregisters the component and should free up any resources and parameter listeners. Ideally after this method is called the object should be eligible for garbage collection. Subclasses are generally expected to override this method to handle their particular cleanup work. They should also generally callsuper.dispose()
at the appropriate time to perform the basic cleanup, which may need to happen either before or after cleaning up other objects.- Specified by:
dispose
in interfaceLXParameter
- Overrides:
dispose
in classLXComponent
-