[LAA] Zrythm release 1.0.0-alpha.27.0.3 [GTK3 -> GTK4]
Alexandros Theodotou <[email protected]> Mon, 10 Jan 2022 14:39:19 +0000
| Newsgroups | gmane.linux.audio.announce |
|---|---|
| Message-ID | <[email protected]> |
Zrythm 1.0.0-alpha.27.0.3 has been released! ==== Demo ==== https://mastodon.social/web/@zrythm/107593312157643058 ==== About ==== Zrythm is a digital audio workstation designed to be featureful and easy to use. It allows limitless automation through curves, LFOs and envelopes, supports multiple plugin formats including LV2, VST2 and VST3, works with multiple backends including JACK, RtAudio/RtMidi and SDL2, assists with chord progressions via a special Chord Track and chord pads, and can be used in multiple languages including English, French, Portuguese, Japanese and German. Zrythm is free software written in C using the GTK4 toolkit and can be extended using GNU Guile. Zrythm is currently in alpha and we are working towards stabilizing the project format and entering the beta phase. ==== Links ==== Full changelog: https://git.sr.ht/~alextee/zrythm/tree/master/item/CHANGELOG.md Pending features for beta: https://todo.sr.ht/~alextee/zrythm-feature?search=status%3Aopen+label%3Abeta Pending fixes for beta: https://todo.sr.ht/~alextee/zrythm-bug?search=status%3Aopen%20label%3A%22beta%22 Home page: <https://www.zrythm.org> Installer downloads: <https://www.zrythm.org/en/download.html> Git repository: <https://sr.ht/~alextee/zrythm> User manual: <https://manual.zrythm.org/en/index.html> Developer reference: <https://docs.zrythm.org/> Issue trackers: <https://sr.ht/~alextee/zrythm/trackers> Mailing lists: <https://sr.ht/~alextee/zrythm/lists> Releases: <https://www.zrythm.org/releases/> ==== Release Notes ==== This release features a major change: the GUI toolkit that Zrythm uses has changed from GTK3 to GTK4. This change was done to take advantage of GTK4's built-in caching and hardware rendering capabilities. This change has solved a major issue we were having with the UI being slow on low spec systems or when lots of objects were on the screen. It also makes development of UI elements easier thanks to a simpler drawing API and built-in caching capabilities on the GTK4 side. The main drawback of this change is that the native mechanism that was used to embed plugin UIs is no longer available in GTK4, so native LV2 plugin support has been temporarily disabled until we find a solution. Meanwhile, Carla is now a hard dependency and will be used to load all plugin formats, including LV2. We expect there to be some regressions partly due to GTK4 not being widely adopted yet and also due to changes in the way input handling and other things work in GTK4, and we are releasing early to encourage more testing of these latest changes. Special thanks to Filipe Coelho (falktx) for exposing API to make using Carla easier on the Zrythm side and to GTK and libadwaita developers (especially Benjamin Otte, Matthias Clasen, Emmanuele Bassi, Alexander Mikhaylenko, Timm Bäder and Christian Hergert) for their help and for fixing bugs we found quickly. The list of changes follows: ## [1.0.0-alpha.27.0.3] - 2022-01-10 ### Added - New dependency libadwaita - New searchable preference dialog - Add plugin latency handling for plugins running through Carla - New Hebrew translation - Various drawing optimizations - Various DSP optimizations ### Changed - Updated plugin browser filter section - Change UI toolkit from GTK3 to GTK4 - Bump version requirements for some dependencies - Use `LD_LIBRARY_PATH` to override library paths in `zrythm_launch` - Run all plugins via Carla - Port most widget drawing from cairo (software rendering) to GTK snapshot API (OpenGL) - Show toast messages when backups are saved instead of showing a blocking popup - Use SCSS to compile CSS theme - Allow DSEG font loading directly from file - Update Indonesian, Ukrainian, Greek, Italian, Spanish, Slovenian, French, Turkish, Portuguese (Brazil), Portuguese, Chinese (Simplified), Russian translations - Use libdir option for Zrythm lib directory instead of 'lib' - Port some widgets to new GTK4 alternatives - Use meson dictionary to generate list of languages - Use Carla patchbay variant instead of rack for loading plugins to support CV ports - Change global single-key shortcuts to require Ctrl modifier - Make strict compilation flags stricter - Add additional gtksourceview5 language spec lookup path - Redraw rulers and arrangers on every frame - Recalculate DSP graph when reallocating engine ports - Use `int_fast64_t` and `uint_fast64_t` for large DSP numbers instead of `long` for better cross-platform compatibility - Set Carla plugin window parent on Windows so the plugin window stays on top of Zrythm - Do not attempt to run `diff` to check for changes when closing the project ### Fixed - Fix issues with plugin search in plugin browser - Fix timeline minimap not drawing its contents - Meson: fix use of sse flags on non-`x86_64` systems - Fix modulators not being saved with the project - Only recreate plugin port list when selected plugin changes (fixes lag in unrelated actions) - Fix output track hash being saved as INT instead of UINT in channel leading to overflows and project corruption - Fix stack smashing in recording manager when recording automation (pre-create dynamic array) - Fix error when opening a project from a running instance - Fix incorrectly freeing memory owned by GLib (`g_settings_schema_source_get_default()`) - Fix various memory issues and possible NULL dereferences reported by GCC - Fix Carla not being notified of buffer size changes - Fix missing icons in mixer and transport display - Fix automation not being drawn when the line is vertical ### Removed - Remove unused widgets/files - Remove unnecessary widget properties from UI files _______________________________________________ Linux-audio-announce mailing list [email protected] https://lists.linuxaudio.org/listinfo/linux-audio-announce