- Fix intensity progression logic to properly interpolate between min/max values instead of adding to base values
- Fix TypeError when base scale_note_start is "random" string in progression calculations
- Add missing scales (pentatonic, blues) to generator base scale dropdown
- Add "Random" option to scale note start with proper handling
- Add base pattern type override with all pattern types (up, down, random, etc.)
- Add Export Master MIDI button to export master presets as single MIDI files
- Add volume pattern override checkbox to volume controls for consistency
- Improve debug output for troubleshooting generator issues
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Make octave override checkbox prevent root note changes that affect octave
- Add comprehensive debug logging for root note and octave override behavior
- Ensure both root_note and octave overrides block root note preset changes
- Fix parameter mapping between octave buttons (C2,C3,C4) and override system
The octave override now properly prevents preset cycling from changing which
octave the root note is in (C2 vs C3 vs C4 etc.), while still allowing
the octave range parameter to be changed if needed.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add debug output to track octave_range parameter application
- Ensure octave override checkbox properly prevents preset changes
- Fix parameter name consistency between GUI controls and preset application
Now when octave override is checked, preset cycling won't change the octave range setting.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Set default velocity to 20 in arpeggiator engine to match GUI slider
- Fix velocity slider override logic to respect checkbox state during GUI updates
- Add GUI sync call after loading first preset on startup
- Ensure velocity slider shows 20 and stays at 20 when override is checked
- Fix desync between engine settings and GUI display on application launch
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add checkboxes next to all parameter labels to prevent preset changes during group cycling
- Enable selective parameter locking for live manipulation without preset interference
- Fix spacebar emergency stop with global event filter to work when text boxes are focused
- Remove keyboard note functionality (AWSDFGTGHYUJ keys) as requested
- Fix up_down and down_up pattern algorithms for proper note sequence reversals
- Improve debug logging for arpeggiator state changes
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>