Package heronarts.lx.mixer
Class LXAbstractChannel
java.lang.Object
heronarts.lx.LXComponent
heronarts.lx.LXModulatorComponent
heronarts.lx.LXModelComponent
heronarts.lx.mixer.LXBus
heronarts.lx.mixer.LXAbstractChannel
- All Implemented Interfaces:
LXComponent.Renamable
,LXLoopTask
,LXPath
,LXPresetComponent
,LXSerializable
,LXOscComponent
,LXParameterListener
Abstract subclass for both groups and channels
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
static interface
static interface
class
Nested classes/interfaces inherited from class heronarts.lx.mixer.LXBus
LXBus.ClipListener
Nested classes/interfaces inherited from class heronarts.lx.LXComponent
LXComponent.Hidden, LXComponent.Placeholder, LXComponent.Renamable
Nested classes/interfaces inherited from interface heronarts.lx.LXSerializable
LXSerializable.Utils
-
Field Summary
Modifier and TypeFieldDescriptionfinal BooleanParameter
Whether this channel should show in the aux UI.protected final ModelBuffer
This is a local buffer used for transition blending on this channelfinal ObjectParameter<LXBlend>
protected int[]
Crossfade group this channel belongs tofinal BooleanParameter
Whether this channel should show in the cue UI.final BooleanParameter
Whether this channel is enabled.protected int
The index of this channel in the engine.final MidiFilterParameter
final BooleanParameter
final LXViewEngine.Selector
View selector for this abstract channelFields inherited from class heronarts.lx.mixer.LXBus
arm, clips, controlsExpandedAux, controlsExpandedCue, effects, fader, mutableEffects, PATH_EFFECT, selected
Fields inherited from class heronarts.lx.LXModelComponent
model
Fields inherited from class heronarts.lx.LXModulatorComponent
modulators, profiler
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 TypeMethodDescriptionfinal void
addListener
(LXAbstractChannel.Listener listener) protected LXModulatorComponent.Profiler
void
dispose()
Invoked when a component is being removed from the system and will no longer be used at all.final int
getIndex()
getPath()
Accessor for the path of this object.void
load
(LX lx, JsonObject obj) Loads the LX component.void
loop
(double deltaMs) void
midiDispatch
(LXShortMessage message) Dispatch a MIDI message to all the active devices on this channel, without notifying listeners.void
midiMessage
(LXShortMessage message) Invoked by the MIDI/OSC/Clip engines when this channel should process a MIDI message.void
Subclasses are free to override this if desired.void
postProcessPreset
(LX lx, JsonObject obj) Presets by default contain the results of a normal save() call, but we may not always want all of the information contained.final void
removeListener
(LXAbstractChannel.Listener listener) Methods inherited from class heronarts.lx.mixer.LXBus
addClip, addClip, addClip, addClipListener, addEffect, addEffect, addListener, constructClip, disposeClips, getClip, getClip, getClipLabel, getEffect, getEffect, getEffects, getGroup, getPresetClass, handleOscMessage, isChannel, isEmptyGroup, isGroup, isInGroup, loop, moveEffect, reloadEffect, removeClip, removeClip, removeClipListener, removeEffect, removeListener, save, setMixer, stopClips
Methods inherited from class heronarts.lx.LXModelComponent
getModel, onModelChanged, setModel
Methods inherited from class heronarts.lx.LXModulatorComponent
addModulator, addModulator, addModulator, addModulator, addModulator, getModulator, getModulators, moveModulator, removeModulator, startModulator
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, getOscAddress, getOscLabel, getOscPath, getParameter, getParameters, getParent, 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.osc.LXOscComponent
getOscAddress
Methods inherited from interface heronarts.lx.LXPath
getCanonicalLabel, getCanonicalLabel, getCanonicalPath, getCanonicalPath, isDescendant
-
Field Details
-
index
protected int indexThe index of this channel in the engine. -
blendBuffer
This is a local buffer used for transition blending on this channel -
colors
protected int[] colors -
enabled
Whether this channel is enabled. -
crossfadeGroup
Crossfade group this channel belongs to -
cueActive
Whether this channel should show in the cue UI. -
auxActive
Whether this channel should show in the aux UI. -
midiFilter
-
blendMode
-
performanceWarning
-
view
View selector for this abstract channel
-
-
Constructor Details
-
LXAbstractChannel
-
-
Method Details
-
constructProfiler
- Overrides:
constructProfiler
in classLXBus
-
addMidiListener
-
removeMidiListener
-
getModelView
-
getPath
Description copied from class:LXComponent
Accessor for the path of this object. Returns the path this component was registered with. Some subclasses may override this if path structure is dynamic.- Specified by:
getPath
in interfaceLXPath
- Overrides:
getPath
in classLXComponent
- Returns:
- path of this component relative to its parent
-
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 classLXComponent
- Parameters:
p
- Parameter that has a value change
-
midiMessage
Invoked by the MIDI/OSC/Clip engines when this channel should process a MIDI message. This will notify the channel's listeners.- Parameters:
message
- Message to process
-
midiDispatch
Dispatch a MIDI message to all the active devices on this channel, without notifying listeners.- Parameters:
message
- Message
-
loop
public void loop(double deltaMs) - Specified by:
loop
in interfaceLXLoopTask
- Overrides:
loop
in classLXBus
-
addListener
-
removeListener
-
getIndex
public final int getIndex() -
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. -
postProcessPreset
Description copied from interface:LXPresetComponent
Presets by default contain the results of a normal save() call, but we may not always want all of the information contained. This method post-processes the JSON object before writing to disk.- Specified by:
postProcessPreset
in interfaceLXPresetComponent
- Overrides:
postProcessPreset
in classLXBus
-
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 classLXBus
- Parameters:
lx
- LX instanceobj
- Object to deserialize
-