Skip to main content

Terminology

To be able to understand how the core functionalities work a few terminologies need to be cleared.

LED Strip

An LED strip is a collection of LEDs. It does not necessarily have to be a single strip(which is usually has a length of max 5 metres) but their data channel has to be physically connected by a wire.

Also an LED controlling device is able to control multiple LED strips on different channels. When an LED strip is mentioned it applies to a strip that is independently controlled by a channel. It is important because the LED strips can be logically connected to each other but if they are controlled by a different device or a different channel it means a different LED strip.

Segment

A segment is a logically connected collection of LEDs on an LED strip. Theoretically a strip can have zero to infinite segments. The most important segment attributes are the head position, length, head color and head intensity.

For example this is a how a segment could look like:

img

And this is how two segments with the same color and length but different position look like:

img

And this is how multiple segments look like with the length attribute set to 1:

img

In the above picture there are 9 segments all with the length of 1. But it shows that two segments could be next to each other and look as if it's a single one.

A segment might also have attributes that make it more interesting:

  • MoveProperty - Describes how fast a segment moves and accelerates.
  • DimProperty - Describes how the segment changes its intensity which is the brightness of the individual LEDs.
  • FadeProperty - Describes a transformation from one color to another
  • GrowProperty - Describes how the segment changes its size

All these attributes describe a gradually changing process that happens over time with the main attributes of the segment.

Transformation

A transformation is a process that instantly changes some attributes of a segment or multiple segments. This could be a simple change like instantly changing the position or could be a change that modifies one of the attributes which affects the segment over time like the MoveProperty attribute.

The possible transformations are:

  • HeadPosition
  • HeadColor
  • Intensity
  • Priority
  • Length
  • MoveProperty
  • DimProperty
  • FadeProperty
  • GrowProperty

Action

An action can occur in several scenarios. These scenarios are:

  • Initial Actions - Happens once when an effect is activated.
  • Timer Actions - Happens on timer events. These timers can be parameterized.
  • Beat Actions - Happens when a beat occurs in a track
  • Track Segment Actions - Happens when a segment occurs in a track
  • Section Actions - Happens when a section occurs in a track

To understand the Spotify track analysis result and when these different rhythms happen in a track head to this speech given by one of the API developers: https://www.youtube.com/watch?v=goUzHd7cTuA

There are 2 types of actions:

  • Create Segment - Creates a new segment. It's also possible to add some initial transformations for the newly created segment
  • Transform Segment - Transforms an already existing segment. Any of the above mentioned transformations can be applied