Skip to content

2.10.0

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Sep 13:51

Features:

  • #518 Adaptations can now reply during bank transfers, including the handshakes needed by older synths such as the MKS-50. Failed or rejected transfers are reported as failures instead of importing a partial bank, and stalled transfers have timeout handling.
  • Added an adaptation API level check. Adaptations which need newer host functionality can now explain why they cannot run in an older KnobKraft version. The new MKS-50 adaptation uses this check, so please update the application as well as the Python file!
  • Expanded the automated tests with real patch files, simulated MIDI transfers, malformed dumps, database operations and import/rename regressions. This helps catch problems without having every supported synth here, though it is still no replacement for your hardware testing!

Synths:

  • #531 and #558 Three new adaptations from @Casuallynoted: Behringer UB-Xa, Casio CZ-101/CZ-1000, and Ensoniq Mirage running SoundProcess OS. Many thanks for the contribution and the testing! All three are included as alpha adaptations, with additional validation and regression tests. The Mirage adaptation is for SoundProcess, not the original sampler OS, and uses Patch 1 as its audition buffer, replacing its contents. UB-Xa and the Mirage's alternate SysEx header still need more hardware testing. Thanks also to @and-kal for making the Casio test patch available under the Unlicense.
  • #535 Added Sequential Fourm support, including all four banks and edit-buffer audition. Tested with a real patch dump and simulated MIDI; marked beta until we have more hardware feedback.
  • #550 and #559 Added Clavia Nord Lead / Nord Lead 2 / Nord Lead 2X support. This includes normal program dumps and older MIDI-file banks, with official Nord files used for testing. Direct downloads cover four banks; the 2X's additional ROM banks can be imported from files. Percussion kits, performances and Nord Lead 3 or later are not covered. This is alpha support, so feedback from owners is very welcome!
  • #307 and #518 Replaced the native Roland MKS-50 implementation with a Python adaptation, including Alpha Juno-1/2 tone-bank compatibility and proper 64-tone bulk-bank export. Existing patches saved by the old C++ implementation remain readable. Start bank downloads from the synth's front panel; two-way transfers now receive handshake replies. Patch-parameter and chord-memory banks are not supported. Many thanks to @planist79 for the detailed report, example banks and patient follow-up, and to @markusschloesser for connecting the related bank-export reports!
  • #545 Improved Sequential Pro 3 user/factory bank handling, with U1-U4 and read-only F5-F8 labels, clearer setup help, and a 50 ms message delay following the hardware report. Thanks to @gmtta for reporting the trouble and @RadekPilich for investigating and supplying the changes! A hardware retest of the original import problem is still welcome.
  • #533 and #567 The Roland SE-02 adaptation can now import .PRM files from USB backups directly, without a separate conversion step. Many thanks to @MammaScan for the converter, reference file and the suggestion to integrate it! Conversion uses the converter's parameter mapping and template defaults; COM_OCT, COM_TRNS, COM_PWM_DEPTH and COM_PWM_RATE are not converted, so this is not yet a lossless backup restore. Tested against the original converter, but hardware playback still needs verification. Store auditioned sounds permanently with WRITE on the SE-02.
  • #503 Thanks to @Casuallynoted for testing Roland U-20/U-220 support and reporting that it works well! The adaptation was added in 2.9.0; this release adds the deserved credit.

Bug fixes:

  • #542 The Sequential Trigon-6 adaptation was listed as supported but missing from the installer. It is now shipped. Thanks to @CoolColJ for spotting this!
  • #543 and #566 Reimporting a Trigon-6 patch called "Basic Program" no longer replaces the custom name assigned in KnobKraft. Thanks again to @CoolColJ for the report and the follow-up details! This fixes the lost-name symptom; the separately reported skipped/misaligned bulk-rename rows still need investigation.
  • #548 Sending an empty or partially filled user bank now shows an error instead of crashing before any MIDI is sent. Fill every slot before sending the bank. Thanks to @molenick for the Korg R3 crash report and reproduction steps!
  • #555 and #556 Fixed banks being parsed twice when the same incoming data was recognized both as individual program dumps and as a complete bank, as with the Access Virus. Identical sounds in different bank slots are still preserved.
  • #556 Fingerprint checks now work on copies of patch data, so an adaptation's duplicate-detection code cannot accidentally modify the patches being imported.
  • #560 Shared Roland adaptations now validate complete DT1 dumps and preserve block addresses when converting or renaming reordered messages, including supported JV family length variants. This prevents equal-sized tone blocks from silently trading places and rejects incomplete or corrupt dumps.
  • #561 Roland XV-3080/5080/5050 requests and patch sends now consistently use the detected device ID, including compatible JV imports, rather than falling back to the default ID.
  • #562 Equivalent Roland program and edit-buffer dumps now share a fingerprint regardless of patch name, device ID or block order. Back up your database, restart Orm, then use Edit > Reindex patches... for each affected JV/JD-Xi/XV synth before importing more patches. Ordinary program hashes are preserved, but some old representations need reindexing and duplicate sounds may merge. Recordings named by old fingerprints are not automatically renamed. Please read the compatibility and migration details first.
  • Hardened SysEx parsing against truncated and unterminated messages, and added regression tests for rejected bank transfers and recovery on the next import.

Thanks also to @art507 for the additional naming feedback in #543, and to everybody sending reports, logs, patch files and hardware test results. Not every report is solved yet, but these details make a big difference!