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:
LXEffect.Container,LXComponent.Renamable,LXLoopTask,LXPath,LXPresetComponent,LXSerializable,LXModulationContainer,LXOscComponent,LXParameterListener
Abstract subclass for both groups and channels
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumstatic interfacestatic interfaceclassNested classes/interfaces inherited from class heronarts.lx.mixer.LXBus
LXBus.ClipListenerNested classes/interfaces inherited from class heronarts.lx.LXComponent
LXComponent.Description, LXComponent.Hidden, LXComponent.Name, LXComponent.Placeholder, LXComponent.PluginRequired, LXComponent.RenamableNested classes/interfaces inherited from interface heronarts.lx.LXSerializable
LXSerializable.Utils -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal BooleanParameterWhether this channel automatically behaves as if enabled is false whenever the fader level is at 0.final BooleanParameterWhether this channel should show in the aux UI.protected final ModelBufferThis is a local buffer used for transition blending on this channelfinal ObjectParameter<LXBlend> protected int[]Crossfade group this channel belongs tofinal BooleanParameterWhether this channel should show in the cue UI.final BooleanParameterWhether this channel is enabled.protected intThe index of this channel in the engine.final BooleanParameterRead-only parameter, used to monitor when auto-muting is taking placefinal MidiFilterParameterfinal BooleanParameterfinal LXViewEngine.SelectorView selector for this abstract channelFields inherited from class heronarts.lx.mixer.LXBus
arm, clips, controlsExpandedAux, controlsExpandedCue, effects, fader, hasRunningClip, modulation, modulationExpanded, mutableEffects, PATH_EFFECT, selected, stopClipsFields inherited from class heronarts.lx.LXModelComponent
modelFields inherited from class heronarts.lx.LXModulatorComponent
modulators, profilerFields inherited from class heronarts.lx.LXComponent
childArrays, 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, presetFileFields inherited from interface heronarts.lx.LXPath
DEFAULT_SEPARATOR, ROOT, ROOT_PREFIX, ROOT_SLASH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddListener(LXAbstractChannel.Listener listener) protected LXModulatorComponent.Profilervoiddispose()Invoked when a component is being removed from the system and will no longer be used at all.final intgetIndex()getPath()Accessor for the path of this object.booleanbooleanvoidload(LX lx, JsonObject obj) Loads the LX component.voidloop(double deltaMs) voidmidiDispatch(LXShortMessage message) Dispatch a MIDI message to all the active devices on this channel, without notifying listeners.voidmidiMessage(LXShortMessage message) Invoked by the MIDI/OSC/Clip engines when this channel should process a MIDI message.voidSubclasses are free to override this if desired.voidpostProcessPreset(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 voidremoveListener(LXAbstractChannel.Listener listener) Methods inherited from class heronarts.lx.mixer.LXBus
addClip, addClip, addClip, addClip, addClipListener, addEffect, addListener, clear, constructClip, disposeClips, getClip, getClipLabel, getEffects, getGroup, getModulationEngine, getModulationExpanded, getPresetClass, getRunningClip, handleOscMessage, isChannel, isEmptyGroup, isGroup, isInGroup, loop, moveEffect, onClipStart, onClipStop, removeClip, removeClip, removeClipListener, removeEffect, removeListener, save, setMixer, stopClipsMethods inherited from class heronarts.lx.LXModelComponent
getModel, onModelChanged, setModelMethods inherited from class heronarts.lx.LXModulatorComponent
addModulator, addModulator, addModulator, addModulator, addModulator, getModulator, getModulators, moveModulator, removeModulator, startModulatorMethods inherited from class heronarts.lx.LXComponent
addArray, addChild, addInternalParameter, addLegacyInternalParameter, addLegacyParameter, addParameter, addParameter, addParameters, assertDisposed, contains, copyParameters, getCategory, getChild, getComponentDescription, 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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface heronarts.lx.effect.LXEffect.Container
addEffect, getEffect, getEffect, loadEffectMethods inherited from interface heronarts.lx.osc.LXOscComponent
getOscAddressMethods inherited from interface heronarts.lx.LXPath
getCanonicalLabel, getCanonicalLabel, getCanonicalLabel, 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. -
autoMute
Whether this channel automatically behaves as if enabled is false whenever the fader level is at 0. -
isAutoMuted
Read-only parameter, used to monitor when auto-muting is taking place -
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. -
midiSource
-
midiFilter
-
blendMode
-
performanceWarning
-
view
View selector for this abstract channel
-
-
Constructor Details
-
LXAbstractChannel
-
-
Method Details
-
constructProfiler
- Overrides:
constructProfilerin classLXBus
-
addMidiListener
-
removeMidiListener
-
isPlaylist
public boolean isPlaylist() -
isComposite
public boolean isComposite() -
getModelView
-
getPath
Description copied from class:LXComponentAccessor 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:
getPathin interfaceLXPath- Overrides:
getPathin classLXComponent- Returns:
- path of this component relative to its parent
-
onParameterChanged
Description copied from class:LXComponentSubclasses are free to override this if desired. It will automatically fire for any listenable parameter that is registered with this component.- Specified by:
onParameterChangedin interfaceLXParameterListener- Overrides:
onParameterChangedin 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:
loopin interfaceLXLoopTask- Overrides:
loopin classLXBus
-
addListener
-
removeListener
-
getIndex
public final int getIndex() -
dispose
public void dispose()Description copied from class:LXComponentInvoked 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:LXPresetComponentPresets 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:
postProcessPresetin interfaceLXPresetComponent- Overrides:
postProcessPresetin classLXBus
-
load
Description copied from class:LXComponentLoads 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:
loadin interfaceLXSerializable- Overrides:
loadin classLXBus- Parameters:
lx- LX instanceobj- Object to deserialize
-