Releases: christofmuc/KnobKraft-orm
Fixing migration problem with 1.12.0, bringing back Mac build
We had a migration problem in that the migration code did fail when the new Categories table was already there - although it just had created it itself. This is fixed, and databases migrated with 1.12.0 should now open as expected.
Also, the Mac build is back even if untested as I currently have no access to a Mac. Feedback appreciated!
User editable categories, Korg 03R/W
New features:
- The Categories, their names and their colors are now fully user configurable. You can create up to 63 different categories now and assign them. For this, the database schema has to be updated so databases opened with version 1.12.0 no longer can be opened with 1.11.x - the system does make a backup before migrating though.
- Even if this sounds like a simple change, the number of changes required was much bigger than expected. So please treat this version with a bit of caution and get back to me should you encounter any issues.
- Also, for some strange build reasons there is no version for macOS yet. Please use the 1.11.2 version until I can make a working Mac build.
Bugfixes:
New Adaptations:
- Korg 03R/W adaptation
Adding new export options to sysex file creation
Instead of always creating a ZIP file with edit buffer dumps on pressing "Export into sysex files", you will now get a new Dialog asking you for a) the type of dumps that should be written - program dumps if the synth supports it, or edit buffer dumps - and b) whether to create one file per patch, a ZIP file with one file per patch, or one single large sysex file with all messages appended to each other.
Hotfix for PIF import, adding Yamaha DX7/DX7II alpha
Bugfixes:
- Fixing crash after receiving manual dump and then doing edit buffer import again.
- Fix for #79, can't import freshly generated PatchInterchangeFormat file
- Fixed a bug in the auto updater not shutting down the software when running the installer. When updating via auto-update from 1.11.0, please close the KnobKraft Orm manually after the installer started.
New features:
- Added in Test Crash menu item to test the crash reporting. If you feel to crash, just press it.
- To further test the Internet crash reporting, added a random user ID that makes crashes from the same user/machine identifiable. This is a random ID, nothing can be linked back to you. If you want to change it, just delete it from the settings file and you'll be somebody else. If you don't like it, don't opt in (or opt out now via the Help menu).
- New paging control has page numbers clickable, and abbreviates in case there are too many pages. #37
New Adaptations:
- Alpha implementation for Yamaha DX7, old school without auto-detection and receiving manual dumps only.
- Alpha implementation for Yamaha DX7IID/FD/s and compatibles with auto-detection and edit buffer and dump requests. Supplement voice data not supported yet.
Improvements for existing synths:
- Fixed renaming in the Matrix 1000 adaptation to cause reindexing warning. Not relevant for regular Matrix 1000 users, as you use the native implementation and the adaptation.
Manual dumps, Oberheim OB-X/Xa, setup help, Patch Interchange Format, Auto Updates
New features:
- Now has a "receive manual dump" button, that just opens a window waiting for messages from the selected synth. Close it and see if it can extract patches from the messages received. #69
- Added a fourth master keyboard mode in the Macro tab - just select a fixed synth and always forward to that synth. This is useful during live jamming.
- Allow the Adaptations to implement a function setupHelp() that returns a string displayed in the Adaptation view. Also, added a link there to a github Wiki page with the name of the synth, to capture more in depth information about the synth itself. If the page doesn't exist, Wiki-like it can be created right away. #70
- Implementation of the PatchInterchangeFormat (PIF): You can export all selected patches into a JSON file in the PIF format that can be used to transport the sysex with its meta data like Favorite markers and categories, plus the source import information, from one database to the next. These JSON files can be imported via the regular "Import from computer" dialog.
- Adding WinSparkle for future automatic update checks. #56
Bugfixes:
- Don't die if there is a Python file that has a filename that is not allowed as a Python module name. Also print a proper warning and unload the module.
- Trying to fix #78 by forcing case-insensitivity on the search query for searching by name
New Adaptations:
- Alpha implementation for Oberheim OB-X with Encore MIDI
- Alpha implementation for Oberheim OB-Xa with Encore MIDI
Improvements for existing synths:
- Andromeda A6 now implements numberFromDump(), and edit buffer requests. Has better fingerprinting to detect edit buffers equal to program dumps.
- Elektra One now handles invalid JSON nicer (addition to #60 )
Alesis Andromeda A6
This release adds a beta adaptation for the Alesis Andromeda A6.
Bug fix - when only implementing the program dump and/or bank dump capability in an adaptation, and no edit buffer capability, the new logic is that now the last patch of the first bank is used as a "virtual edit buffer". To audition, the patch is sent into that slot and a program change is appended. Some synths might require two program changes, one to a different patch and then back (the K3 for example), this is possible by implementing the edit buffer capability and using the slot manually. Then, in the convertToEditBuffer function, the additional program changes can be generated.
Plus smaller bug fixes.
Added Kawai K1/K1m/K1r
Adding the Kawai K1 as Python adaptation, but in a structure similar to what we know from previous Librarians. This is much more code than for a normal Adaptation, and more an experiment whether migration from old Librarians to the Orm can be simplified.
Small bugfix - the last selected synth was no longer persisted if it was an Adaptation synth.
Oberheim OB-8, and new functions for default names
This release introduces mostly one new synth, the Oberheim OB-8, as an adaptation.
Furthermore, there are two new functions which adpatations can implement:
- isDefaultName(patchName) can be implement to check if a name is a default name, and should be downprioritized should the same patch be encountered again with a different name. This is to fix #43, and allow better name logic when duplicates of patches are imported with default names.
- friendlyProgramName(number) can be implemented to match the program number in its display to the display on the synth, e.g. to display the program slots 0..63 in the DW8000 to be displayed as 11...18 21..28 ... 81 ... 88. This is just visual sugar.
The Adaptation Programming Guide was extended with this info.
Hotfix for #55, crash when clicking only untagged filter and category filter
This fixes #55. and brings some more stability to the database error handling.
Hotfix 1.10.2 fixing Rev2 Layer renaming
A feature that obviously not many users need - renaming an individual Layer in the Rev2. This was broken since 1.4.0, but now it should be fixed again!
This fixes #54