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
  • Field Details

  • Constructor Details

    • PatternRack

      public PatternRack(LX lx)
  • Method Details

    • isClipAutomationControl

      public boolean isClipAutomationControl(LXParameter parameter)
      Description copied from class: LXDeviceComponent
      Returns whether this parameter is recorded in clip automation
      Overrides:
      isClipAutomationControl in class LXPattern
      Parameters:
      parameter - Parameter
      Returns:
      true if this can be included in clip automation
    • isSnapshotControl

      public boolean isSnapshotControl(LXParameter parameter)
      Description copied from class: LXDeviceComponent
      Returns whether this parameter is stored along with snapshots
      Overrides:
      isSnapshotControl in class LXPattern
      Parameters:
      parameter - Parameter
      Returns:
      true if this can be included in snapshots
    • isHiddenControl

      public boolean isHiddenControl(LXParameter parameter)
      Description copied from class: LXDeviceComponent
      Returns whether this parameter is visible in default remote control or device control UIs
      Overrides:
      isHiddenControl in class LXPattern
      Parameters:
      parameter - Parameter to check
      Returns:
      true if this should be hidden by default
    • run

      protected void run(double deltaMs)
      Description copied from class: LXPattern
      Main pattern loop function. Invoked in a render loop. Subclasses must implement this function.
      Specified by:
      run in class LXPattern
      Parameters:
      deltaMs - Number of milliseconds elapsed since last invocation
    • getPatternEngine

      public LXPatternEngine getPatternEngine()
      Specified by:
      getPatternEngine in interface LXPatternEngine.Container
    • getPatternEngineDelegate

      public LXPatternEngine.Listener getPatternEngineDelegate()
      Specified by:
      getPatternEngineDelegate in interface LXPatternEngine.Container
    • midiDispatch

      public void midiDispatch(LXShortMessage message)
      Description copied from class: LXDeviceComponent
      Dispatch a MIDI message to this device, and any of its modulators which should receive that
      Overrides:
      midiDispatch in class LXPattern
      Parameters:
      message - Message
    • handleOscMessage

      public boolean handleOscMessage(OscMessage message, String[] parts, int index)
      Description copied from class: LXComponent
      Handles 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:
      handleOscMessage in interface LXOscComponent
      Overrides:
      handleOscMessage in class LXPattern
      Parameters:
      message - Full OSC message object
      parts - The OSC address pattern, broken into an array of parts
      index - Which index into the parts array corresponds to this component's children
      Returns:
      true if the OSC message was handled and should be considered consumed, false otherwise
    • save

      public void save(LX lx, JsonObject obj)
      Description copied from class: LXComponent
      Serializes 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 call super.save(lx, obj) at the appropriate time.
      Specified by:
      save in interface LXSerializable
      Overrides:
      save in class LXPattern
      Parameters:
      lx - LX instance
      obj - Object to serialize into
    • load

      public void load(LX lx, JsonObject obj)
      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 interface LXSerializable
      Overrides:
      load in class LXPattern
      Parameters:
      lx - LX instance
      obj - Object to deserialize
    • 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 call super.dispose() at the appropriate time to perform the basic cleanup, which may need to happen either before or after cleaning up other objects.
      Overrides:
      dispose in class LXPattern