Major updates:
- Add Note Limit (1-7) to pattern settings - restricts which notes from scale are used
- Fix pattern length and note limit to use proper armed system
- Both settings now arm (orange) and apply at pattern end without interference
- Add spacebar emergency stop (stop-only, doesn't start playback)
- Pattern generation respects note limit for all pattern types
- Note limit included in preset save/load system
- Updated status bar to reflect emergency stop functionality
Example: Scale=C major, Note Limit=3, Pattern Length=8
Result: C,D,E,C,D,E,C,D (then pattern repeats)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements to preset group functionality:
- Replace timer-based cycling with accurate note counting via pattern_step signal
- Group cycling now counts actual notes played (pattern_length × loop_count)
- Add GUI scaling support for dynamic button sizing on different resolutions
- Implement complete preset group UI with add/remove, manual controls, and status
- Add master file save/load functionality for preset groups
- Fix scale_note_start not saving in presets
- Update button styling across all controls for consistency
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update volume and preset control buttons to use consistent dark theme styling
- Fix volume pattern buttons with proper background colors and contrast
- Apply consistent styling to all preset operation buttons (Load, Save, Delete, etc.)
- Switch delay/echo system from channel volume to velocity-based fading
- Prevents delay echoes from affecting original note volume when still playing
- Each delayed note now uses individual velocity instead of channel-wide volume
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major Features:
- Add scale note selection with armed state functionality
- Fix down arpeggio patterns to be contextual and smooth
- Make octave range direction-aware (up goes higher, down goes lower)
Scale Note Selection:
- Added scale notes display showing current scale notes as buttons
- Implemented armed state for scale note changes during playback
- Scale notes update dynamically when root note or scale changes
- Added scale_note_start property to engine for starting position
Fixed Arpeggio Patterns:
- Rewrote scale generation to be direction-aware
- Down patterns now continue downward instead of looping back up
- Up patterns go higher from starting note, down patterns go lower
- Fixed octave wrapping for all starting scale degrees
Volume Pattern Improvements:
- Added multi-bar swell patterns (1-16 bar swells)
- Added accent patterns (every 2nd-8th note)
- Replaced random_sparkle with simple random pattern
- Synchronized volume patterns with arpeggiator steps
GUI Enhancements:
- Increased control heights for better usability
- Added scale notes section with dynamic button generation
- Made dropdown menus taller for readability
- Fixed GUI updates when armed changes are applied
Technical Improvements:
- Added settings_changed signal for GUI synchronization
- Improved armed state system with comprehensive change detection
- Fixed preset system to save/load all settings including delays
- Enhanced pattern completion detection for single-note patterns
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add armed preset switching that applies at pattern end (like note/scale changes)
- Fix single-note pattern armed change detection
- Add preset system safety mechanisms (timeout, force apply, clear armed buttons)
- Fix delay timing to be absolute rather than relative to note speed
- Comprehensive error handling and UI safety checks for preset controls
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>