Skip to content

Releases: christofmuc/KnobKraft-orm

Hotfix for 1.10.0

29 Dec 10:10
Compare
Choose a tag to compare

The 1.10.0 build posted yesterday had a flaw in the database code and could not update the database. I apologize for the inconvience, this should be fixed now with the 1.10.1 hotfix.

Big changes towards patch management, new capabilities for adaptations

28 Dec 23:38
Compare
Choose a tag to compare

[Update - 1.10.0 build has a database bug preventing you from updating. 1.10.1 fixes this]

This is a release aggregating quite a lot of changes and refactorings I made towards the upcoming bank management feature. I hope I broke not too many things.

Be warned that the database schema has changed - the software will upgrade the database schema when starting (and make a backup before migration in case you need to go back to a previous version), and the new database will be incompatible with the old version.

In detail the following changes were made:

  • I switched to Python 3.8 from Python 3.7 with this release. For Windows users, this should be fairly transparent, Mac users might want to install Python 3.8 manually using the "brew install python" command.
  • Added more stability for the adaptations in case the Python code returns unexpected data types. Previously, this crashed on many functions but now exceptions should be handled better.
  • Adaptations now can implement different capabilities, and a lot of these functions are optional in case the synth doesn't support that functionality. I reworked the Adaptation Programming Guide, so you might want to check that out.
  • Additionally, for adaptations there is now an Adaptation tab instead of the unused Settings tab, with informative text showing you which functions have been implemented and which capabilities (aka device profiles) are available with the adaptation code loaded.
  • Brand new is the option to implement the Bank Dump Capability within an adaptation, should the synth support bank dumps as a MIDI message like the Korg MS2000 or the Kawai K3.
  • Added a File... Save As... function to quickly copy the database before e.g. testing something
  • Fixing #31, retry logic for multi-bank imports from the Access Virus
  • Fixing #29 for the RefaceDX and patches called "Init Voice"
  • Fixing #52 multi-bank dump of Matrix 1000
  • Addressing #27 with the new Programming Guide

Sequential Prophet X, Import Categories for Virus, Remove Duplicates

20 Dec 15:15
Compare
Choose a tag to compare

This is quite a big update with some changes on how imports are handled in the database. Please report any issues you might encounter.

New features:

  • Another macro keyboard option - the original one was to always forward the notes to the synth of the last selected patch. That is sometimes awkward when you are jamming, so I added an option to forward to the current synth, regardless of the current patch. That let's you change back to the original synth no matter which patch was playing.
  • Imports are now sorted alphabetically in the dropdown.
  • Added a new menu item Categories... Edit import mapping to open an editor for the jsonc file that defines how the Access Virus patch categories will be mapped to the KnobKraft categories.
  • Added colors to the last three categories, Ambient, Voice, and Wind. Changed color for brass to make it better distinguishable from the currently selected item
  • Restore window size on startup, so it does come up as you left it

Improved features for adaptations:

  • Adaptations can now implement a calculateFingerprint(message) method that allows to select which bytes from the sysex message are to be considered relevant. The default implementation just does an MD5 of all sysex bytes, so name and program place do change the identity of a patch. If you don't want that, implement calculateFingerprint()
  • In case the fingerprint message is changed, there is a new menu item "Edit... reindex patches..." to fix. This might then get rid of duplicates that previously were not detected as duplicates.
  • Extended the import capability of the PatchInterchangeFormat - you can now import multiple imports at once, and do a proper category updating without loosing manual decisions. This is now good enough for migrating from the old DynamoDB database.

Synths/Devices added/improved:

  • Access Virus patches now import the categories that are stored in the patch (if any), using the import mapping definition
  • Electra One Preset Management (experimental)
  • Korg MS2000 fix, I had misread the documentation. Still no bank dump support, that's due next release.
  • Sequential Prophet X
  • Kawai K3 got fixes for some legacy patches having one byte too many
  • The DSI Prophet 12 now got a proper method for calculating fingerprints ignoring program place and name, use the Reindex Patches function to get rid of the duplicates.
  • Bugfix for Yamaha DX allowing to rename patches

Other stuff:

  • Updated to JUCE 6.0.5
  • Minor bug fixes

Fix Blofeld, Korg MS2000, Adaptation Programming Guide done

05 Dec 16:45
Compare
Choose a tag to compare

Fixes made to the following adaptations, please report back if they work now:

  • Korg MS2000
  • Waldorf Blofeld

I have made an Adaptation Programming Guide, linked in from the README.md. Also, the adaptations got more capabilities:

  • For slower synths, there is a new method generalMessageDelay() that can optionally implemented returning the milliseconds to wait before sending something to the synth.
  • They can optionally implement a function friendlyBankName to calculate the name of the bank so it matches the display in the synth
  • deviceDetectWaitMilliseconds() is not optional, default is 200 ms.

Major update, plus Prophet 5 Rev4, MS2000, Deepmind, Blofeld

29 Nov 12:29
Compare
Choose a tag to compare

This is a major update with a month full of changes accumulated. The most importnant ones:

  • New synths (untested, please give feedback)
    • Sequential Prophet 5 Rev 4
    • Korg MS2000
    • Behringer Deepmind 12
    • Waldorf Blofeld
  • Now supporting multiple database files - the File menu has open/save and recent file list. Makes testing much easier, and can be used to sort patches by projects
  • Allowing to permanently delete all currently listed patches from the database. This is important for an undo of an import.
  • MIDI USB device plug'n'play support, at least on Windows. Now you can connect or disconnect devices while the software is running, and it tries to do the right thing
  • New and better layout of Setup tab, now that the synth list grows that fast
  • Many bugfixes in Setup tab around manually assigning channels and interfaces, and better unboxing experience to start in the SetupView when no synth has been selected yet
  • Added a quick check for MIDI loop (echo) detection into the Setup tab. The Kawai K3M and the Roland MKS-80 in my setup tend to create those loops, if the filtering in the interface is not setup correctly.
  • Added missing user consent for the Sentry based crash reporting (Windows only). If you build yourself, this is disabled anyway, but the installer files I upload to Github contain crash reporting for me to make better quality software
  • Storing last used synth and opening its library again on startup
  • Switched to JUCE 6

Prophet 12 bugfix - bank has only 99 patches

24 Oct 14:52
Compare
Choose a tag to compare

This fixes the bank download for the Prophet 12, a bank has only 99 patches, not 100 and not 128. Sequential is somehow funny.

Bug fixes for Prophet Rev2, Prophet 12

22 Oct 22:07
Compare
Choose a tag to compare

Some regression caused the Prophet Rev2 to only think it has 100 patches per bank, not 128. This was caused by me implementing the OB-6 - in a wrong way. Fixed.

Also, the Prophet 12 continuous to amaze - the Omni mode was not handled in the python adaption, this was now hacked to make it think the synth is on channel 1 when it really is on Omni.

Added more logging on successful quick detect, as users tend to overlook the green bar (or if they never got a successful auto-detect, don't know that the bar can be green).

Stability fixes, adding Korg DW-6000 and DW-8000

19 Oct 21:17
Compare
Choose a tag to compare

This minor release contains a list of little features and fixes:

  • Bugfix: Prophet 12 patch name should be layer A and not layer B
  • Bugfix: Properly disable the Audio interface so no Microphone icon shows up on Windows suggesting the software might record something
  • Bugfix: Adapt correctly to system font scaling of 125%
  • Better responsive behavior for screen resolutions with less than 1024 lines to display, added a new scale factor 75%
  • Added save function to log view and MIDI log view to encourage users to send their MIDI logs with bug reports

And two new synths are supported:

  • Korg DW-8000 gets a full native code support including the parameter list for the patch diff display
  • Korg DW-6000 is an untested experimental adaption, looking for testers!

Improved progress logging during multi-bank download

10 Oct 10:25
Compare
Choose a tag to compare

Improved logging during multi-bank download, so you can actually see what is happening. Also improved the status messages during auto-detection.

Fixing Sentry crash reporting

10 Oct 08:26
Compare
Choose a tag to compare

For some reason the crash logging did not work in 1.7.0 (Windows only), fixed it with 1.7.1