Changelog
[1.6.2] - June 2024
Changes
Script editor process time now correctly shows the process time per event and shows 3 decimal digits.
Fixes
Fix occasional crashes when reordering pathces with drag and drop.
Fix additional potential scripting thread race conditions.
Fix potential crash with project script scanning.
[1.6.1] - April 2024
Added
Script editor sidebar tab listing scripts of other projects in the default projects directory.
Changes
MIDI port connection check boxes are now in their own “MIDI” column and the audio “L” and “R” columns have been renamed to “Left” and “Right”.
Fixes
Clear triggers when loading new project to prevent left-over triggers from the previously loaded project.
Limit prints and MIDI sends from scripts in a cycle so infinite loops containing these don’t stall the application.
[1.6.0] - January 2024
Added
MIDI input port scripts.
Show warning when SFZ engine fails to load.
When saving a project that was not saved before, and that still has the default new project name, show an input box for the user to set the name before saving.
After saving/save-as, rescan the projects directory to update the project open menu.
Changes
Refactored warnings backend. Double-clicking on warnings now go to the corresponding GUI area. Warnings text update when port names are updated.
Fixes
Script warnings related crash: when port warnings appeared after a script warning was active, crash would happen when script warning was removed.
Fix script editor OK button not doing anything after a script warning was double-clicked while the script editor was already visible.
Correct button tooltips in MIDI send list editor.
[1.5.0] - December 2023
Added
MIDI scripting for patch layers.
Other JACK connections can now also break a connection, keeping the ports disconnected.
Create project backups when saving a project. Backups are created in a backup subdirectory in the project directory. Two backups are created - one before saving, and one after saving. This ensures data is backed up in the case the project is opened by a previous version of Konfyt that does not do backups and throws away data related to newer features.
Live mode shortcut keys to change layer gains.
Time for each console print message.
Option in settings to open last project at startup.
Save window maximized state when quitting and restore at startup.
Command-line option to start minimized.
Ask before saving project in a non-empty directory.
Menu entry in filesystem context menu to copy path.
Menu entries in external app editor to browse for file and directory.
Changes
Disable GUI buttons when they are not applicable: external apps, Other JACK Connections page, Triggers page
Improve layout of Ports and Buses, Triggers and Other JACK Connections pages. Widgets are more elegantly aligned now.
Console popout dialog changed to window, allowing it to be maximized and treated like other normal windows.
Increase external app editor width to maximum available space.
Appearance: Colours of most GUI container elements and dialogs darker and consolidated. Dialog group box styles more modern and subdued. Layouts of widgets revised in several places.
Fixes
Fix crash when exiting while an external app is still running.
Handle pitchbend correctly for triggers, mapping it to 0-127.
Removed
Statusbar
[1.4.0] - August 2023
Added
Patch MIDI filter (filters MIDI for entire patch before it is routed to layers).
Changes
Add “…” to some GUI menu items.
When a new port/bus is added, activate editing its name.
When an external app is added or edited, focus the app name text box.
Fix patch list menu button left border radius.
Fixes
Eliminate potential threading race conditions related to MIDI filters.
[1.3.1] - May 2023
Fixes
Fix bug where adding a new (non-existing) audio input port to a patch added two layers.
[1.3.0] - April 2023
Added
External apps editor and autostart and auto-restart options per external app. Status display of external apps is also improved.
Confirmation prompt when quitting Konfyt.
Changes
Automatically load all patches and activate the first patch when loading a project.
Allow multiple of the same MIDI-out and audio-in port layers per patch.
When adding a new patch, switch to the newly added patch.
Increase number of patch triggers from 8 to 16.
Improve loading of all patches by simply loading patches in engine and not switching to each patch in order to trigger a load.
Patch list is now resizable.
Fixes
Add “exponential” back-off to LSCP (Linuxsampler) connection check timer to reduce GUI freezes when running Konfyt when the JACK server is not available.
Improve internal ringbuffer class.
Removed
Load all patches button (as patches are now all automatically loaded when the project is loaded).
[1.2.3] - January 2023
Fixes
Fix MIDI filter editor reverting changes when Apply is clicked.
[1.2.2] - January 2023
Added
Update MIDI filter immediately while editing it in the GUI editor.
Fixes
Fix library item double-click working intermittently on some systems.
Destination audio port null check to prevent crash when JACK/system is not configured correctly. (When JACK can’t allocate memory due to user not belonging to audio group or ulimits not being set up correctly. Note that in this case the audio system is not functioning correctly in any case.)
Changes
About dialog is now integrated into the main window.
MIDI filter editor size constraints and scrollability removed for hopefully better layout across different systems.
[1.2.1] - October 2022
Added
Checkbox in filesystem view to show hidden files.
Add dropdown menu to filesystem view path text box with common paths and remove home and current project buttons.
Warn when running an external app with a project directory replacement tag in the command if the project has not been saved yet.
Fixes
Remove dot at end of project folder names when saved to default project location.
Use the correct project directory when running an external app that was added before the project was saved.
Changes
Insert new patches after currently selected patch when adding new or copying a patch.
Show a menu when the remove patch button is clicked to serve as a confirmation.
Print slightly less alarming message in console when MIDI map presets file or settings file does not exist.
When running an app from the external app list, print the expanded name if it contains a $PROJ_DIR$ and print a message when an external app stops.
[1.2.0] - July 2022
Added
Patch list drag and drop for re-ordering patches.
Detect Linuxsampler process crash and automatically restart.
Soundfont scanning for library is now done in a separate process so Fluidsynth crashes due to malformed soundfonts don’t affect Konfyt.
Pitchbend up and down ranges in MIDI filter.
Add CC block-list to MIDI filter.
Note velocity mapping with graph and presets in MIDI filter.
Escape key returns to main patch view.
Library context menu to remove patch from library.
When a patch is selected in the library, show info and layers below library.
Add liblscp version to about text.
Fixes
Apply patch list number/note show/hide setting when loading a project.
Change volume when master volume slider is moved without using the mouse.
Only relay noteoff messages to GUI (e.g. in console or received MIDI events lists) if it actually resulted in a noteoff message being sent.
MIDI send list editor now only shows received MIDI events for the corresponding layer.
Changes
When console/main window not available any more (e.g. during program exit), send print output to stdout.
CC allow-list in MIDI filter is now space-separated text.
Entire top toolbar area becomes red to emphasise when Panic is activated.
Patches in library view don’t show file extension any more.
Some code housekeeping and refactoring.
Removed
MIDI filter note velocity limits - replaced by velocity mapping.
[1.1.7] - January 2022
Fixes
Set QT_XCB_GL_INTEGRATION=none environment variable at startup to prevent event loop from stopping when screen is locked on some systems which caused some functionality like MIDI triggers and port reconnections to stop working.
Fix .gig file loading.
[1.1.6] - October 2021
Added
Filesystem view now supports previewing of instruments like the library.
Global transpose keyboard shortcuts added to live mode.
Fixes
Pitchbend now works if Carla backend is used to play SFZ files.
Fix SF2 loading from command-line arguments.
Fix global volume up action getting stuck due to rounding errors.
Changes
Some GUI tweaks in the patch layer view and library/filesystem preview.
Misc code refactoring, cleanup and fixes.
[1.1.5] - July 2021
Added
Ignore global transpose option in layer MIDI filter
Ignore global volume option for buses (checkbox on Ports and Buses screen)
[1.1.4] - April 2021
Added
Basic MIDI pickup for layer and master gain sliders. Range setting can be set on the Triggers screen.
Changed
Some small GUI and other tweaks.
[1.1.3] - January 2021
Added
Per-layer audio output indicator
Two Konfyt instances can now run in parallel, nicely sharing Linuxsampler
Orphaned Linuxsampler channels and devices (due to previous app instance crash) are now cleaned up at startup
MIDI output port layer output (right-hand side) button now has link to port connections
Xrun messages show time since last xrun
Patch layers can now be reordered
Removed
Removed multi-project tabs. They were rarely (never?) used, buggy and resulted in unnecessary maintenance. Multiple app instances can be used instead.
Fixes
Fix crash when loading sfz file if Linuxsampler is not installed
Fix copying a patch pointing to original patch layers
Fix always-active patch volume not changed by global volume when other patch is active
SFZ engine startup delay handled better, fixes loading sfz files through command-line when Linuxsampler is not running yet
Fix CC value not loaded correctly for MIDI Send Events
Changed
Patch list behaviour and interaction improved
Code cleanup and organisation, largely concerning the database
Window title is now Patch - Project [Jack Client Name]
Sustain indication in GUI has threshold of 64
Bank/program messages received now handled per port and channel
MIDI filter screen last received messages only shown from associated port/layer
[1.1.2] - October 2020
Added
Per-layer MIDI indicators (activity, sustain and pitchbend non-zero).
Global sustain and pitchbend non-zero indicators.
Changed
Fairly big code refactor under the hood, should not be noticeable to users.
Fix bug of empty MIDI input ports added after removal of non-last port while console MIDI output is enabled.
Small GUI tweaks.
[1.1.1] - October 2020
Added
Preview mode options: MIDI input port and channel, output bus.
MIDI input port and bus menus now have a link to the connections page.
Save-as finally implemented.
Compatible with Carla 2.2.0 (API change)
Changed
Default global and layer gain (volume) is now 1.0.
SF3 soundfonts are now detected and loaded.
Current setting is marked in MIDI channel/port/bus menus
Small GUI tweaks.
[1.1.0] - December 2019
Each patch can be set to send MIDI events to other apps/hardware when activated and sysex messages are also now supported. MIDI send events can be saved for reuse in other projects.
Fluidsynth 2 is also now supported.
Config files are now saved to standard XDG directories.
Carla support is now optional.
[1.1.0-beta] - October 2019
MIDI send events: each MIDI output layer can have MIDI send events associated with it which are sent when the patch is activated. MIDI send events can also be saved for future use in other projects.
MIDI note names octave numbers changed to the IPN standard to match most other software numbering.
Always-active option for patches: a patch can be set to always be active, even if it is not the current patch.
GUI uses system specified font size and resizes properly based on font size.