Skip to content
Tom Swirly edited this page Dec 12, 2013 · 2 revisions
  • An instrument is a single device or part of a device that's being controlled from a program.

    • Think "a lighting instrument" - but I'm trying to avoid being too lighting specific.
  • An instrument control value is a control input to an instrument.

    • A control value has a type (full name: control value type). Possible types include:
      • brightness
      • color
      • pan
      • tilt
      • speed control
      • or some sort of control value special to that light.
    • Wherever possible control values should be in "real world" numbers like RGB , lumens, angles, or hertz - but in some cases this might be difficult or impossible.
  • A bank is a list of instruments, numbered continuously from 1(*).

    • This means that each instrument in a bank has an instrument number.
    • Each bank also has a combiner that describes what happens if an instrument in the bank gets multiple control values of the same type.
  • A subbank is a bank that's entirely contained in another bank.

    • By default, banks run from left to right and from top to bottom.
  • An output bank maps the instruments in a bank to "real world" hardware that actually does things.

    • Right now for lights we have the following possible output banks:
      • SPI: LED lights we control through a serial port.
      • visualizer: simulated lights we display on the computer screen.
      • OpenDMX: hardware lights controlled through the DMX protocol.
        • OpenDMX is not yet implemented in software in echomesh.
  • A scene is a list of instrument control values and instrument numbers.

    • Think of a scene as a "static setting for your devices."
  • A scene transform creates a new, transformed scene from an original scene.

    • Examples might be rotate, mirror, transpose.
    • Scene transforms do not take into account time.
  • A pattern point is just a pattern (defined below) and a time.

  • A pattern sequence is a list of pattern points, together with an interpolator.

    • An interpolator says how to interpolate between pattern points.
    • The two types of interpolator are:
      • jump, where the devices just jump to the new pattern point, and
      • smooth, where the devices smoothly transition between the patterns
        • there might be all sorts of optional information attached to a smooth interpolation.
  • A pattern is a set of scenes and pattern sequences.

    • This means that when you break everything down to the bottom, it's all just scenes.
  • A pattern transform creates a new pattern sequence, transformed from an original pattern sequence.

    • Examples might be "feedback", "delay".
    • Pattern sequence transforms do take into account time.

Clone this wiki locally