Releases: christofmuc/KnobKraft-orm
Bulk export and bulk import/merge of Patch Interchange Format
New feature now working stable:
- The File menu has a new entry called "Export multiple databases...", and when you click it it wants you to select a folder. Then it will iterate through all databases in that folder and create a .json file next to the database - this is a full json export of that database ready for import.
The main use case for this is to create Patch Interchange Format files (those json exports of the KnobKraft database) in order to be imported and merged into a new database, with the second function: - The second entry new entry to the File menu is called "Merge multiple databases..." and really is a bulk import of all json files in the selected folder into the current database. So you could create a new blank empty database and then use the merge multiple... function to select the folder used in 1.), it will import all databases and deduplicate as usual.
Responsive layout, Roland MKS-80, DSI Mopho, Tetra, Evolver
I finally attacked the problem of layouting and responsiveness for different screen sizes, DPIs, and font sizes. This is still only supposed to work on single monitor/single solution setups, but at least it contains a host of improvements and UI changes. This pre-release is available for Windows only for now.
- Made the text search bar the prominent search feature, with text clear button and loupe Icon
- Introduced a left sidebar (resizable, position remembered) with currently the list of all imports. This will be used for future additional filters, like user collections of patches, saved searches, etc.
- Persist the position of the splitters, and the zoom level selected
- Added a slider below the patch button grid to change the number of buttons shown, from 8x8 default down to 7x7, 6x6, ... until 4x4. Also persisted.
- Cleaned up filtering
- Addressing problems caused by #94 by adding two new entries to the File menu - Export Multiple Databases and Merge Multiple Databases. The first menu item can be used to create a json export of each database in a given folder, and the second command can be run to import all json export files in a given folder. Run that with an empty database created to merge multiple databases into one.
New synths and adaptations:
- This contains a first beta version of the Roland MKS 80 support. I tested with my Rev 5 and it seems to work including auto detection and handshake communication, but I'd be interested in your feedback
- All Sequential/Dave Smith Instrument adaptations are now based on a new Python module called GenericSequential, and are only parametrizations of this. This brings a) all features to all DSI and Sequential synths, and b) allowed me to easily add the DSI Mopho, Mopho X4, and DSI Tetra synths. There is a beta version for the DSI Evolver as well, but this has a different and weired way of storing patch names, so would need substantially more work. I hope I broke nothing bad especially on the Prophet 12 ;-)
- Started writing generic adaptation tests, that at some point can be used to test all adaptations for at least well-defined behavior. If you are interested, look in the class TestAdaptation.py in the directory adaptions/sequential
More Bugfixes:
- This should fix the instabilities reported by #93
- Fixes wrong result when using name search and typing/correcting too fast
BETA - Fixing more layout issues and a few crashes
This should fix all issues reported in #42 when testing 1.13.0, except the sticky tool tip problem, which was not reproducible so far.
BETA - Responsive layout, Roland MKS80, DSI Mopho etc.
I finally attacked the problem of layouting and responsiveness for different screen sizes, DPIs, and font sizes. This is still only supposed to work on single monitor/single solution setups, but at least it contains a host of improvements and UI changes. This pre-release is available for Windows only for now.
- Made the text search bar the prominent search feature, with text clear button and loupe Icon
- Introduced a left sidebar (resizable, position remembered) with currently the list of all imports. This will be used for future additional filters, like user collections of patches, saved searches, etc.
- Persist the position of the splitters, and the zoom level selected
- Added a slider below the patch button grid to change the number of buttons shown, from 8x8 default down to 7x7, 6x6, ... until 4x4. Also persisted.
- Cleaned up filtering
New synths and adaptations:
- This contains a first beta version of the Roland MKS 80 support. I tested with my Rev 5 and it seems to work including auto detection and handshake communication, but I'd be interested in your feedback
- All Sequential/Dave Smith Instrument adaptations are now based on a new Python module called GenericSequential, and are only parametrizations of this. This brings a) all features to all DSI and Sequential synths, and b) allowed me to easily add the DSI Mopho, Mopho X4, and DSI Tetra synths. There is a beta version for the DSI Evolver as well, but this has a different and weired way of storing patch names, so would need substantially more work. I hope I broke nothing bad especially on the Prophet 12 ;-)
- Started writing generic adaptation tests, that at some point can be used to test all adaptations for at least well-defined behavior. If you are interested, look in the class TestAdaptation.py in the directory adaptions/sequential
More Bugfixes:
- This should fix the instabilities reported by #93
- Fixes wrong result when using name search and typing/correcting too fast
Fix for Prophet 12, reenable crash dumps and auto update
This version contains a fix for the DSI Prophet 12 adaptation allowing it to load specific third party sound banks.
Additionally, auto updating has been enabled once again, as well as crash dump reporting. If you have installed 1.12.1 or 1.12.2 you will need to manually download the installer to get back into the software auto updating on its own.
Stability fixes for Electra One, SMF support and copy to clipboard
New features:
- Added export of patches into Standard MIDI Files as an option (#83)
- Added a function to copy the current patch into the clipboard in a format suited for the CF sysex recorder (#87), somewhat of an experimental feature.
- Added a new Routing mode checkbox to the Macro Setup page: "Forward Electra One". This is a quick and dirty mode which opens the USB control port of the Electra One and forwards all messages from it to the currently selected synth (not yet into the other direction). This can be used to quickly test the Electra One without the need of more than one USB cable, no further MIDI connections required.
Bugfixes:
- Fixing crashes resulting from trying to send sysex messages larger than 64 KByte as they might happen with Electra One presets. The Crashes are fixed, but expect further problems when trying to send large presets directly to the Electra One. We're working on it.
- More stability fixes for crashes happening when you supply invalid Python adaptation code.
- Don't print Sysex messages longer than 1000 bytes into the MIDI log view - this would make the application sluggish/unresponsive.
- Don't print additional newlines when an adaptation calls print()
- Fix random crashes happening when switching the synth, caused by non-thread safe access of the new category list from the database.
- The Electra One adaptation got some more stability fixes given that some app store presets are invalid JSON and could easily crash the 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.