Package heronarts.lx.pattern
Class PatternRack
- All Implemented Interfaces:
LXEffect.Container,LXComponent.Renamable,LXDeviceComponent.Midi,LXLoopTask,LXPath,LXPresetComponent,LXSerializable,LXMidiListener,LXPatternEngine.Container,LXModulationContainer,LXOscComponent,LXParameterListener
@LXCategory("Other")
@Name("Pattern Rack")
public class PatternRack
extends LXPattern
implements LXPatternEngine.Container, LXDeviceComponent.Midi
-
Nested Class Summary
Nested classes/interfaces inherited from class heronarts.lx.pattern.LXPattern
LXPattern.Listener, LXPattern.Placeholder, LXPattern.ProfilerNested classes/interfaces inherited from class heronarts.lx.LXDeviceComponent
LXDeviceComponent.MidiNested classes/interfaces inherited from class heronarts.lx.LXComponent
LXComponent.Author, LXComponent.Description, LXComponent.Hidden, LXComponent.Name, LXComponent.PluginRequired, LXComponent.Renamable, LXComponent.TagsNested classes/interfaces inherited from interface heronarts.lx.LXSerializable
LXSerializable.Utils -
Field Summary
FieldsFields inherited from class heronarts.lx.pattern.LXPattern
autoMute, auxActive, compositeBlend, compositeLevel, cueActive, customCycleTimeSecs, effects, enabled, hasCustomCycleTime, isAutoMuted, launch, mutableEffects, PATH_EFFECT, profiler, recall, runMsFields inherited from class heronarts.lx.LXDeviceComponent
automationChildren, controlsExpanded, controlsExpandedAux, controlsExpandedCue, controlSurfaceSemaphore, crashed, DEVICE_CATEGORY_NAME_SORT, DEVICE_VERSION_UNSPECIFIED, KEY_DEVICE_VERSION, midiFilter, modulation, modulationExpanded, remoteControlsChanged, view, viewPriorityFields inherited from class heronarts.lx.LXLayeredComponent
colors, layers, paletteFields inherited from class heronarts.lx.LXModelComponent
modelFields inherited from class heronarts.lx.LXModulatorComponent
modulatorsFields 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 TypeMethodDescriptionvoiddispose()Invoked when a component is being removed from the system and will no longer be used at all.booleanhandleOscMessage(OscMessage message, String[] parts, int index) Handles an OSC message sent to this component.booleanisClipAutomationControl(LXParameter parameter) Returns whether this parameter is recorded in clip automationbooleanisHiddenControl(LXParameter parameter) Returns whether this parameter is visible in default remote control or device control UIsbooleanisSnapshotControl(LXParameter parameter) Returns whether this parameter is stored along with snapshotsvoidload(LX lx, JsonObject obj) Loads the LX component.voidmidiDispatch(LXShortMessage message) Dispatch a MIDI message to this device, and any of its modulators which should receive thatprotected voidrun(double deltaMs) Main pattern loop function.voidsave(LX lx, JsonObject obj) Serializes the LX component.Methods inherited from class heronarts.lx.pattern.LXPattern
activate, addEffect, addListener, applyEffects, clearInterval, deactivate, getChannel, getCompositeDampingLevel, getEffects, getEngine, getIndex, getMixerChannel, getPath, hasInterval, initCompositeDamping, isAutoCycleEligible, isInInterval, moveEffect, onActive, onInactive, onLoop, onTransitionEnd, onTransitionStart, reload, removeEffect, removeListener, setAutoCycleEligible, setChannel, setEngine, setIndex, setInterval, toggleAutoCycleEligible, updateCompositeBlendOptions, updateCompositeDampingMethods inherited from class heronarts.lx.LXDeviceComponent
addAutomationChild, addControlSurface, clearCustomRemoteControls, getControlSurfaces, getCrash, getCrashStackTrace, getCustomRemoteControls, getDeviceDescription, getDeviceVersion, getModelView, getModulationEngine, getModulationExpanded, getRemoteControls, loop, removeControlSurface, removeCustomRemoteControl, resetRemoteControls, setCustomRemoteControls, setRemoteControlsMethods inherited from class heronarts.lx.LXLayeredComponent
addColor, addColor, addLayer, afterLayers, blendColor, blendColor, clearColors, copyColors, copyColors, copyColors, copyColors, getBuffer, getColor, getColor, getColors, getLayers, lightestColor, removeLayer, setBuffer, setBuffer, setColor, setColor, setColor, setColors, subtractColorMethods inherited from class heronarts.lx.LXModelComponent
getModel, onModelChanged, setModelMethods inherited from class heronarts.lx.LXModulatorComponent
addModulator, addModulator, addModulator, addModulator, addModulator, constructProfiler, getModulator, getModulators, moveModulator, removeModulator, startModulatorMethods inherited from class heronarts.lx.LXComponent
addArray, addChild, addInternalParameter, addInternalParameters, 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, onParameterChanged, 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.midi.LXMidiListener
aftertouchReceived, controlChangeReceived, midiPanicReceived, noteOffReceived, noteOnReceived, pitchBendReceived, programChangeReceived, sysexReceivedMethods inherited from interface heronarts.lx.osc.LXOscComponent
getOscAddressMethods inherited from interface heronarts.lx.LXPath
getCanonicalLabel, getCanonicalLabel, getCanonicalLabel, getCanonicalLabel, getCanonicalLabel, getCanonicalPath, getCanonicalPath, isDescendantMethods inherited from interface heronarts.lx.LXPresetComponent
getPresetClass, postProcessPreset
-
Field Details
-
patternEngine
-
patterns
-
-
Constructor Details
-
PatternRack
-
-
Method Details
-
isClipAutomationControl
Description copied from class:LXDeviceComponentReturns whether this parameter is recorded in clip automation- Overrides:
isClipAutomationControlin classLXPattern- Parameters:
parameter- Parameter- Returns:
- true if this can be included in clip automation
-
isSnapshotControl
Description copied from class:LXDeviceComponentReturns whether this parameter is stored along with snapshots- Overrides:
isSnapshotControlin classLXPattern- Parameters:
parameter- Parameter- Returns:
- true if this can be included in snapshots
-
isHiddenControl
Description copied from class:LXDeviceComponentReturns whether this parameter is visible in default remote control or device control UIs- Overrides:
isHiddenControlin classLXPattern- Parameters:
parameter- Parameter to check- Returns:
- true if this should be hidden by default
-
run
protected void run(double deltaMs) Description copied from class:LXPatternMain pattern loop function. Invoked in a render loop. Subclasses must implement this function. -
getPatternEngine
- Specified by:
getPatternEnginein interfaceLXPatternEngine.Container
-
getPatternEngineDelegate
- Specified by:
getPatternEngineDelegatein interfaceLXPatternEngine.Container
-
midiDispatch
Description copied from class:LXDeviceComponentDispatch a MIDI message to this device, and any of its modulators which should receive that- Overrides:
midiDispatchin classLXPattern- Parameters:
message- Message
-
handleOscMessage
Description copied from class:LXComponentHandles an OSC message sent to this component. By default this method handles registered components and parameters, but subclasses may override this method to handle different types of OSC messages.- Specified by:
handleOscMessagein interfaceLXOscComponent- Overrides:
handleOscMessagein classLXPattern- Parameters:
message- Full OSC message objectparts- The OSC address pattern, broken into an array of partsindex- Which index into the parts array corresponds to this component's children- Returns:
trueif the OSC message was handled and should be considered consumed,falseotherwise
-
save
Description copied from class:LXComponentSerializes the LX component. By default, all internal and user-facing parameters are serialized, as well as any explicitly registered child components. Note that child arrays are not serialized, or any other dynamic components. Subclasses may override to perform more saving, and are expected to callsuper.save(lx, obj)at the appropriate time.- Specified by:
savein interfaceLXSerializable- Overrides:
savein classLXPattern- Parameters:
lx- LX instanceobj- Object to serialize into
-
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 classLXPattern- Parameters:
lx- LX instanceobj- Object to deserialize
-
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.
-