Skip to content

Commit

Permalink
improved lightshow
Browse files Browse the repository at this point in the history
  • Loading branch information
Unreal-Dan committed Aug 18, 2024
1 parent eb67253 commit 03cd699
Show file tree
Hide file tree
Showing 4 changed files with 196 additions and 94 deletions.
53 changes: 52 additions & 1 deletion docs/advanced_menus.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,58 @@ title: Advanced Menus
nav_order: 8
parent: Menus
grand_parent: Vortex Engine
published: false
---

<style>
.white { background-color: rgba(255, 255, 255); }
.cyan { background-color: rgba(0, 255, 255); }
.purple { background-color: rgba(150, 0, 150); }
.green { background-color: rgba(0, 255, 0); }
.blue { background-color: rgba(0, 0, 255); }
.yellow { background-color: rgba(255, 255, 0); }
.red { background-color: rgba(255, 0, 0); }

.rounded-box {
display: inline-block;
width: 16px;
height: 16px;
margin-right: 8px;
margin-left: 5px;
border-radius: 2px;
border: 2px solid #555;
vertical-align: middle;
}

.color-list-entry {
display: flex;
align-items: center;
font-size: 22px;
font-weight: bold;
margin-bottom: 0; /* Remove bottom margin for seamless transition */
padding: 8px;
border: 1px solid #333;
border-bottom: none; /* Remove bottom border */
border-radius: 4px 4px 0 0; /* Round top corners only */
background-color: #222; /* Darker background */
color: #eee; /* Light text for contrast */
transition: background-color 0.3s; /* Smooth background color transition */
}
</style>

# Advanced Menus

Some devices have additional menu features that are disabled by default.

For example:
- <span class="rounded-box white"></span>[The Randomizer](randomizer_menu.html) can randomize just the colorset, just the pattern, or both.
- <span class="rounded-box red"></span>[Factory Reset](randomizer_menu.html) can restore just a specific mode or LED to factory default.
- The Duo has other advanced menus explained in its usage guide.

To enable **advanced menu features**:

1. Enter the **menu selection** but don't enter a menu.
2. **Rapidly Short Click at least 10 times** until you see a noticeable <span style="font-weight:bold;color:pink;">solid pink</span> flash.

Once enabled, advanced menus are accessible by **holding down on the chosen menu color a bit longer**.

For example, enter the **Advanced Randomizer** by holding down on **white** till it strobes faster, then release.
40 changes: 40 additions & 0 deletions docs/multi_led_patterns.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
layout: default
title: Multi-Led Patterns
nav_order: 0
parent: Patterns
grand_parent: Vortex Engine
---

# Multi-Led Patterns

A multi-led pattern will control all LEDs on the device, therefore **only one** multi-led pattern can be selected at a time. Each multi-led pattern has a distinct effect or appearance, they use custom logic to decide how colors from the colorset will travel across LEDs.

## The Pattern List

Below is the list of multi-patterns

```
hueshift
theater chase
chaser
zigzag
zipfade
drip
dripmorph
crossdops
doublestrobe
meteor
sparkletrace
vortexwipe
warp
warpworm
snowball
lighthouse
pulsish
fill
bounce
splitstrobie
backstrobe
materia
`
121 changes: 28 additions & 93 deletions docs/patterns.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,105 +3,40 @@ layout: default
title: Patterns
nav_order: 20
parent: Vortex Engine
has_children: true
---

# Patterns
Patterns control the timing and appearance of blinks on an LED. When a pattern is used with a [colorset](colorsets.html), each blink of the pattern sequentially displays the next color in the colorset.

Patterns control the ways in which LEDs are blinked on and off for specific durations to produce different visual effects. They also determine how a [colorset](colorsets.html) is utilized, usually by showing each color in the order it appears in the set.
## Simple Pattern Usage

## Pattern Parameters
The basic way to use a pattern is to simply choose one via the [Pattern Select Menu](pattern_select_menu.html). With this appraoch nothing else needs to be known about patterns.

All patterns have variables called parameters that can be modified to create countless original patterns.
The best way to understand how these paramters work is by playing with them in real-time on [Lightshow.lol](lightshow.lol).
However, if you want to learn how patterns truly work or learn more about each pattern then continue reading.

## Pattern Types

All patterns are classified into a **type** and **family**, there are only **two families** of patterns:

- **A Multi-LED Pattern** plays on all LEDs, creating coordinated effects that _travel_ across LEDs.

- **A Single-LED Pattern** plays on an individual LED and _does not travel_.

Within each **family** there are a variety of **types** of patterns. Examples of **types** of **single-led patterns** include: _blend_, or _strobe_.

All patterns have **parameters**, numeric values that control their appearance, such as duration of blinks or gaps. Each **type** of pattern may offer slightly different **parameters** to control.

The **Pattern Select Menu** offers a curated list of patterns to choose from, these are various **types** of patterns that have their **parameters** tuned to specific values.

Two completely different looking patterns in the **Pattern Select Menu** may actually be the same **type** of pattern with slightly different **paremeters**.

## Multi Led Patterns

Multi LED patterns are displayed across all of the LEDs on a device. They create coordinated effects that appear to 'travel' across multiple LEDs and cannot be displayed on a single LED by itself.

Mutli LED pattern parameters vary widely for each pattern. Try experimenting with them to find new possibilities.

### Single Led Patterns

A Single LED pattern is a pattern which is displayed entirely on a single LED. This means it is possible to display a different single LED pattern on each LED on the device at the same time, but it is also common practice for a [mode](modes.html) to feature the same pattern and colorset on all LEDs.

There are two varieties of single led patterns:

### Basic Patterns

Basic patterns cover all possible patterns which blink on and off. They have the following parameters:
- on duration: how long the led blinks on for
- off duration: how long the led is off each blink
- gap duration: how large of a gap between each volley of colors
- dash duration: how large of a dash/line embedded in the gap
- grouping size: how many colors appear in a group before the gap

### Blend Patterns
Blend patterns are similar to basic patterns but blend between colors in the colorset instead only using the selected colors. They have the following paramters:
- on duration: how long the led blinks on for
- off duration: how long the led is off each blink
- gap duration: how large of a gap between each volley of colors
- dash duration: how large of a dash/line embedded in the gap
- grouping size: how many colors appear in a group before the gap
- blend speed: the speed at which the blend will progress
- flip count: the number of times the blend will flip to complementary colors

## The Pattern List

Below is the list of patterns

```
strobe
hyperstrobe
dops
strobie
dopy
ultradops
strobegap
hypergap
dopgap
strobiegap
dopygap
ultragap
blinkie
ghostcrush
doubledops
chopper
dashgap
dashdops
dashcrush
ultradash
gapcycle
dashcycle
tracer
ribbon
miniribbon
blend
blendstrobe
blendstrobegap
complementary blend
complementary blendstrobe
complementary blendstrobegap
solid
hueshift
theater chase
chaser
zigzag
zipfade
drip
dripmorph
crossdops
doublestrobe
meteor
sparkletrace
vortexwipe
warp
warpworm
snowball
lighthouse
pulsish
fill
bounce
splitstrobie
backstrobe
materia
```
To learn more about Multi-Led Patterns see the [Multi-LED Patterns](multi_led_patterns.html) page.

_Note: The Duo does not support Multi-LED patterns._

## Single Led Patterns

To learn more about Single-Led Patterns see the [Single-LED Patterns](single_led_patterns.html) page.
76 changes: 76 additions & 0 deletions docs/single_led_patterns.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
layout: default
title: Single-Led Patterns
nav_order: 0
parent: Patterns
grand_parent: Vortex Engine
---

# Single-Led Patterns

A single-led pattern is displayed entirely on **one LED**. This means each LED may use a different pattern at the same time.

Unlike multi-led patterns where each pattern is a distinct type, there are **two types** of single led patterns:

- **Strobe Patterns** will blink or strobe from color to color in distinct flashes
- **Blend Patterns** will smoothly blend from color to color (while strobing)


## Basic Patterns

Basic patterns cover all possible patterns which blink on and off. They have the following parameters:
- on duration: how long the led blinks on for
- off duration: how long the led is off each blink
- gap duration: how large of a gap between each volley of colors
- dash duration: how large of a dash/line embedded in the gap
- grouping size: how many colors appear in a group before the gap

## Blend Patterns
Blend patterns are similar to basic patterns but blend between colors in the colorset instead only using the selected colors. They have the following paramters:
- on duration: how long the led blinks on for
- off duration: how long the led is off each blink
- gap duration: how large of a gap between each volley of colors
- dash duration: how large of a dash/line embedded in the gap
- grouping size: how many colors appear in a group before the gap
- blend speed: the speed at which the blend will progress
- flip count: the number of times the blend will flip to complementary colors


## The Pattern List

Below is the list of single-led patterns

```
strobe
hyperstrobe
dops
strobie
dopy
ultradops
strobegap
hypergap
dopgap
strobiegap
dopygap
ultragap
blinkie
ghostcrush
doubledops
chopper
dashgap
dashdops
dashcrush
ultradash
gapcycle
dashcycle
tracer
ribbon
miniribbon
blend
blendstrobe
blendstrobegap
complementary blend
complementary blendstrobe
complementary blendstrobegap
solid
```

0 comments on commit 03cd699

Please sign in to comment.