Volume Pattern Improvements:
- Volume patterns now use pattern length as "bar length" for timing
- Swell pattern: completes one full cycle per pattern length
- Breathing pattern: completes two breath cycles per pattern length
- Build pattern: builds over pattern length, fades over 2x pattern length
- Fade pattern: fades from max to min over pattern length
- Pulse pattern: creates 4 pulses per pattern length
- Alternating pattern: alternates based on pattern step position
- All patterns now scale dynamically with user-selected pattern length
Delay Timing Enhancements:
- Add triplet note divisions: 1/32T, 1/16T, 1/8T, 1/4T, 1/2T
- Triplet calculations: 1/4T = 1/6 beat, 1/8T = 1/12 beat, etc.
- Arrange delay timing buttons in 2-row grid layout for better fit
- Smaller button size (35px) with 9px font for compact display
- Support for more complex rhythmic delay patterns
Technical Implementation:
- Add set_bar_length() method to volume pattern engine
- Pattern length changes automatically update volume engine bar length
- Mathematical timing calculations adjusted for bar-relative patterns
- Triplet note values added to NOTE_SPEEDS dictionary
- Grid layout for delay timing controls with proper spacing
Result: Volume patterns now properly sync to the selected pattern length,
creating musically coherent lighting that matches the arpeggio structure.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>