v0.5
Latest
Voice Learn Reliability & TSI Data Integrity
Major stability pass on the Voice Learn flow and TSI serialization. Every voice mapping path now works end-to-end, and FX unit assignments survive save/reload.
Voice Learn Fixes
- Disambiguation Flow - Next button now enables after selecting a disambiguation option
- State Cleanup - Cancelling disambiguation properly clears all pending MIDI and voice data
- Race Prevention - Overlapping API calls blocked during voice processing
- Conflict Detection - Session mappings no longer falsely trigger overwrite prompts
- Overwrite Safety - Choosing "Overwrite" preserves the mappings just created this session
- Input Recovery - MIDI/voice inputs arriving during API calls are now processed afterward
- Data Loss Guard - Overwrite blocked when no mappings were actually created
TSI File Fixes
- FX Unit Assignments - FX1-4 no longer corrupted to Deck A-D on save/reload
- SetToValue Preservation - Zero values now persist correctly (were being forced to 1.0)
- Unicode String Lengths - Non-ASCII device names and comments no longer corrupt TSI files
Improvements
- Shared MIDI note name utility extracted from duplicated code
- Session mapping tracking now uses explicit IDs instead of array position heuristic
- New round-trip tests for FX assignments and setToValue zero