Replace example shows with numbered production shows and add sparkle flag
- Rename all show .txt files with NNN_ numeric prefix so order is explicit and controlled by filename (001_heartbeat_red through 006_party) - Drop HOME_SHOW special-casing from convert_all.py; show 0 is simply the lowest-numbered file - Add SHOW_FLAG_SPARKLE support: shows can declare '// flags: sparkle' to overlay random white flashes on top of the base color each frame - Wire sparkle into led_controller and config.h (SPARKLE_CHANCE/FRAMES) - Replace old placeholder/example shows with the six production shows Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,29 +0,0 @@
|
||||
// Monster Hunter cosplay — heartbeat intro
|
||||
// Three heartbeats in bright red, then fades into the base color of the breathing show.
|
||||
// Auto-advances to 002_breath_red when done.
|
||||
//
|
||||
// mode: single
|
||||
// Format: #RRGGBB, duration_ms
|
||||
|
||||
#050000, 0 // start near black
|
||||
|
||||
// beat 1
|
||||
#d10e29, 120 // lub — fast rise to bright red
|
||||
#300000, 100 // dip between beats
|
||||
#d10e29, 100 // dub
|
||||
#050000, 700 // rest
|
||||
|
||||
// beat 2
|
||||
#d10e29, 120 // lub
|
||||
#300000, 100 // dip
|
||||
#d10e29, 100 // dub
|
||||
#050000, 700 // rest
|
||||
|
||||
// beat 3
|
||||
#d10e29, 120 // lub
|
||||
#300000, 100 // dip
|
||||
#d10e29, 100 // dub
|
||||
#050000, 700 // rest
|
||||
|
||||
// 2-second fade into the base color of the breathing show
|
||||
#99283a, 2000
|
||||
@@ -0,0 +1,23 @@
|
||||
// Red Heartbeat × 2 then Red Breathing — 2 lub-dub beats, then slow breathing, repeat.
|
||||
//
|
||||
// mode: single
|
||||
|
||||
#050000, 0 // start near black
|
||||
|
||||
// beat 1
|
||||
#d10e29, 120 // lub — fast rise to bright red
|
||||
#300000, 100 // dip between beats
|
||||
#d10e29, 100 // dub
|
||||
#050000, 600 // rest
|
||||
|
||||
// beat 2
|
||||
#d10e29, 120 // lub
|
||||
#300000, 100 // dip
|
||||
#d10e29, 100 // dub
|
||||
#050000, 600 // rest into breathing
|
||||
|
||||
// beat 3
|
||||
#d10e29, 120 // lub
|
||||
#300000, 100 // dip
|
||||
#d10e29, 100 // dub
|
||||
#050000, 600 // rest into breathing
|
||||
@@ -1,10 +0,0 @@
|
||||
// Monster Hunter cosplay — breathing red
|
||||
// Slow breathing between dark maroon (#99283a) and bright red (#d91e1e).
|
||||
// One breath cycle lasts 5 seconds. Loops continuously.
|
||||
//
|
||||
// mode: loop
|
||||
// Format: #RRGGBB, duration_ms
|
||||
|
||||
#99283a, 0 // snap to dim base color
|
||||
#d91e1e, 2500 // breathe in — slow rise to bright red
|
||||
#99283a, 2500 // breathe out — slow fall back to dim
|
||||
@@ -0,0 +1,7 @@
|
||||
// Red Heartbeat × 2 then Red Breathing — 2 lub-dub beats, then slow breathing, repeat.
|
||||
//
|
||||
// mode: loop
|
||||
|
||||
// breathing
|
||||
#d10e29, 3600 // fade up to bright red
|
||||
#050000, 3600 // fade back down to near black
|
||||
@@ -0,0 +1,10 @@
|
||||
// Blue breath with sparkle overlay
|
||||
//
|
||||
// flags: sparkle
|
||||
// mode: loop
|
||||
|
||||
#050018, 0 // snap to near-black blue
|
||||
#2020FF, 2500 // breathe in — slow rise to bright blue
|
||||
#2020FF, 400 // hold at peak
|
||||
#050018, 2500 // breathe out — slow fall to near-black
|
||||
#050018, 800 // pause before next breath
|
||||
@@ -1,8 +0,0 @@
|
||||
// Monster Hunter cosplay — solid deep red
|
||||
// Constant dark maroon (#99283a). Stays on until the button is pressed.
|
||||
//
|
||||
// mode: loop
|
||||
// Format: #RRGGBB, duration_ms
|
||||
|
||||
#99283a, 0 // snap on instantly
|
||||
#99283a, 30000 // hold (30s loop is invisible — same color each cycle)
|
||||
@@ -0,0 +1,7 @@
|
||||
// Yellow pulse — slow breathing effect
|
||||
//
|
||||
// mode: loop
|
||||
|
||||
#202000, 0 // start at dim yellow
|
||||
#FFFF00, 1200 // fade up to bright yellow
|
||||
#202000, 1200 // fade back down to dim yellow
|
||||
@@ -0,0 +1,6 @@
|
||||
// Solid green
|
||||
//
|
||||
// mode: loop
|
||||
|
||||
#00CC00, 0 // snap to green
|
||||
#00CC00, 5000 // hold (fade from green to green is invisible)
|
||||
@@ -0,0 +1,22 @@
|
||||
// Party mode — rapid rainbow color flashes
|
||||
// Plays once then auto-advances to the next show.
|
||||
//
|
||||
// mode: single
|
||||
|
||||
#FF0000, 0 // snap to red
|
||||
#FF0000, 150 // hold red
|
||||
#FF8800, 0 // snap to orange
|
||||
#FF8800, 150 // hold orange
|
||||
#FFFF00, 0 // snap to yellow
|
||||
#FFFF00, 150 // hold yellow
|
||||
#00FF00, 0 // snap to green
|
||||
#00FF00, 150 // hold green
|
||||
#00FFFF, 0 // snap to cyan
|
||||
#00FFFF, 150 // hold cyan
|
||||
#0000FF, 0 // snap to blue
|
||||
#0000FF, 150 // hold blue
|
||||
#FF00FF, 0 // snap to magenta
|
||||
#FF00FF, 150 // hold magenta
|
||||
#FFFFFF, 0 // snap to white
|
||||
#FFFFFF, 150 // hold white
|
||||
#000000, 500 // fade to off — brief pause before advancing
|
||||
@@ -1,12 +0,0 @@
|
||||
// Blue breath — home / reset show (always index 0)
|
||||
// A slow, natural breathing effect in deep blue.
|
||||
// Loops continuously as the default show.
|
||||
//
|
||||
// mode: loop
|
||||
// Format: #RRGGBB, duration_ms
|
||||
|
||||
#050018, 0 // snap to near-black blue — sets the starting point
|
||||
#2020FF, 2500 // breathe in — slow rise to bright blue
|
||||
#2020FF, 400 // hold at peak
|
||||
#050018, 2500 // breathe out — slow fall to near-black
|
||||
#050018, 800 // pause before next breath
|
||||
@@ -1,12 +0,0 @@
|
||||
// Example: slow color cycle
|
||||
// Smooth fades between colors with different speeds.
|
||||
//
|
||||
// Format: #RRGGBB, duration_ms
|
||||
// duration_ms = time to fade FROM the previous color TO this one.
|
||||
|
||||
#FF0000, 0 // snap to red immediately
|
||||
#00FF00, 3000 // 3 second fade to green
|
||||
#0000FF, 0 // snap to blue
|
||||
#FF00FF, 2000 // 2 second fade to purple
|
||||
#FF8000, 1000 // 1 second fade to orange
|
||||
#000000, 5000 // 5 second slow fade to off
|
||||
@@ -1,24 +0,0 @@
|
||||
// Example: party mode — rapid color flashes
|
||||
//
|
||||
// Trick: to HOLD a color for N ms, add a second step with the same color
|
||||
// and set that step's duration to N. The "fade from red to red" is invisible.
|
||||
//
|
||||
// Format: #RRGGBB, duration_ms
|
||||
|
||||
#FF0000, 0 // snap to red
|
||||
#FF0000, 150 // hold red 150ms
|
||||
#FF8800, 0 // snap to orange
|
||||
#FF8800, 150 // hold orange 150ms
|
||||
#FFFF00, 0 // snap to yellow
|
||||
#FFFF00, 150 // hold yellow 150ms
|
||||
#00FF00, 0 // snap to green
|
||||
#00FF00, 150 // hold green 150ms
|
||||
#00FFFF, 0 // snap to cyan
|
||||
#00FFFF, 150 // hold cyan 150ms
|
||||
#0000FF, 0 // snap to blue
|
||||
#0000FF, 150 // hold blue 150ms
|
||||
#FF00FF, 0 // snap to magenta
|
||||
#FF00FF, 150 // hold magenta 150ms
|
||||
#FFFFFF, 0 // snap to white
|
||||
#FFFFFF, 150 // hold white 150ms
|
||||
#000000, 500 // fade to off — brief pause before looping
|
||||
@@ -1,10 +0,0 @@
|
||||
// Example: slow red pulse / heartbeat effect
|
||||
//
|
||||
// Fades from dim red to bright red and back, repeating.
|
||||
// Shows how to create an organic-feeling breathing effect.
|
||||
//
|
||||
// Format: #RRGGBB, duration_ms
|
||||
|
||||
#200000, 0 // start at dim red (no fade — sets the initial state)
|
||||
#FF0000, 1200 // fade up to bright red
|
||||
#200000, 1200 // fade back down to dim red
|
||||
Reference in New Issue
Block a user