Skip to content

Releases: christofmuc/KnobKraft-orm

Stability fixes for Electra One, SMF support and copy to clipboard

02 May 14:15
Compare
Choose a tag to compare

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

08 Apr 10:03
Compare
Choose a tag to compare

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

05 Apr 21:22
Compare
Choose a tag to compare

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:

  • Fixing the broken menu help items #81
  • Fix wrong size of Deepming 12 patch names #88

New Adaptations:

  • Korg 03R/W adaptation

Adding new export options to sysex file creation

22 Jan 21:05
Compare
Choose a tag to compare

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

20 Jan 11:15
Compare
Choose a tag to compare

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

17 Jan 23:13
Compare
Choose a tag to compare

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

06 Jan 19:12
Compare
Choose a tag to compare

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

04 Jan 11:16
Compare
Choose a tag to compare

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

01 Jan 23:31
Compare
Choose a tag to compare

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

31 Dec 00:08
Compare
Choose a tag to compare

This fixes #55. and brings some more stability to the database error handling.