Fix Roland dump block identity, device routing and fingerprints - #564
Conversation
|
Warning Review limit reachedNext included review available in 2 minutes. View limit detailsLimit details: You’ve used all 2 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (7)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@CodeRabbit review |
|
Reordered Roland DT1 dumps were accepted by address, then converted and renamed by message position. Equal-sized tone blocks could silently trade payloads. The shared implementation now validates complete streams and identifies blocks by their concrete address and program/device context before conversion, naming, tags or fingerprinting.
docs/roland-fingerprints.mdand the release notes.Validation:
python -m pytest --all . -q --no-header, fromadaptations).python -m pytest test_GenericRoland.py test_Roland_XV3080.py test_jv80.py -q --no-header). Includes permutations, both conversion paths, malformed streams, every non-name payload byte, legacy hashes, variant layouts, librarian deduplication and repeated/multiple-instance detection.git diff --checkpasses. No hardware messages sent; the C++ database migration was audited but not executed.Closes #560
Closes #561
Closes #562