Releases: ossia/score
v3.3.2
Full Changelog: v3.3.1...v3.3.2
ossia score 3.3.2 is a minor hotfix release following the major 3.3 release and hotfix 3.3.1 release.
New features
- Support for automatic detection of BT.601, BT.709 and Rec2020 colorspaces in videos. Rec2020 is currently downscaled to SDR via tonemapping until we support a proper HDR video pipeline.
- Signal Display will now display constant values as middle-centered dots
- Devices: raw evdev input access on Linux to enable reading any kind of global keyboard / tablet / mouse / ACPI event
Bugfixes
- Audio: fix that audio analysis nodes would crash if using a non-power-of-two sample rate.
- Audio: improve nomenclature for audio channel extractor.
- Merger: fix missing combobox items.
- Geometry filter: fix default filter which wasn't valid json
- Geometry filter: add a validation step
- Shmdata / Sh4lt: fix support of YUY2 video
- LV2: prevent plug-ins with atom ports to crash.
- MIDI: fix support for computer keyboard on non-X11 platforms.
v3.3.1
Full Changelog: v3.3.0...v3.3.1
ossia score 3.3.1 is a minor hotfix release following the major 3.3 release.
New features
-
Signal Display will now display multi-dimensional arrays in addition of single values
-
Artnet devices can now receive an array of [r,g,b] values directly for instance to more easily control LED universes.
Bugfixes
- Build: fix warnings coming from 3rdparty libraries
- CI: multiple fixes
- UI: do not center widgets in vertical layouts
- UI: fix precision issue with xy / xyz spinboxes and large ranges
- Signal Display: fix that it was stuck and could not be moved anymore
- Core: be more lenient with processes that have dynamic ports
- Core: fix that a QThread was deleted after QCoreApplication leading to a macOS crash
- OSC: fix a crash on editing OSC devices's OSCQuery port
v3.3.0
Full Changelog: v3.2.4...v3.3.0
ossia score 3.3.0 is a major release featuring a host of new capabilities.
New features
-
Automation: Make prettyName more descriptive
-
Avnd: initial support for objects defined as C++20 modules. See an example here.
-
Avnd: support for automatic reflection of enumeration names through magic_enum, removing the need for some macros
-
Avnd: support for CV-like data processing object with a very simple API. Example
-
Avnd: support for loading data files in GPU nodes. Example
-
Avnd: support making objects with dynamic port counts more easily. Example
-
CI: Migrated continuous builds to GH actions
-
Core: Use snmalloc as default allocator
-
Data processing: HDF5 explorer processes, which allow to expose HDF5 data as either a 1D dimension or a texture.
hdf5-processes.webm
- Data processing: initial work towards importing of CSV and HDF5 files as curves by drag-and-drop.
- Devices: initial work in allowing devices to specify the resources they are using such as ports, etc. in a more structured way.
- Devices: Move the Device QML object implementation from score to libossia ; add Device.read/write to HTTP device
- Devices: support for direct NeoPixel LED control over SPI.
- Devices: support for the Sh4lt protocol which supersedes Shmdata. Thanks @nicobou!
- Graphics: Add support for GPU decoding of RGB24 and BGR24 textures, useful for QuickTime Animation qtrle files
- Graphics: Efficient geometry filtering pipeline. Introduction of a Geometry Filter object which is able to inject transformations in the vertex shader stage and support for geometry processing relationships in the graphics thread.
geometry-filter.webm
- Graphics: Sprite Reader object for all your retro-gaming needs
sprite-reader.webm
- Graphics: Support for loading point clouds. Tested with point clouds up to 20M vertices.
point-cloud.webm
- Graphics: Support for point & line rendering in Model Display
- JS: Add utility functions to convert between types
- Mappings: Add a ArrayGen object to generate arrays easily
arraygen.webm
- Mappings: add Combine and Spread objects to enable simpler processing and recombination of values into arrays
combine-spread.webm
- Mappings: add initial gesture detection support through the Puara Gestures library
- Mappings: Mapping Tool object with a lot of feature for mapping data such as deadzone detection, re-scaling, etc.
mapping-tool.webm
- Math: Fix live editing of expression in arraygen / arraymap
- MIDI: initial support for computer keyboard input
- MIDI: Virtual ports will now be scanned
- OSC: add support for the SpatGRIS OSC API directly through a new device
- OSC: allow to expose a local OSC device as a TCP server
- OSC: allow to expose a local OSC device over an OSCQuery port
- OSCQuery: handle buggy HTTP implementations that do not properly close connection
- OSCQuery: implement dense mode which packs values according to an OSCQuery spec, especially useful for resource-constrained devices
- Pipewire Respect
PIPEWIRE_LATENCY
environment variable - Platforms: add CI script based on native packages for Debian Trixie
- Platforms: prevent the Intel version to run on AppleSilicon Macs as it is thoroughly incompatible
- Platforms: support for building in C++23 mode
- Platforms: support for macOS 15 and Xcode 16, clang-18, clang-19, Fedora 41
- PureData / libpd: revert to a version with working audio
- UI: Add icon for upcoming AI-based processes. Thanks @aklevy!
- UI: Add support for slowing down slider changes with CTRL / Command
- UI: implement reset-to-default-value-on-double-click on most central view UI controls
- UI: make the middle column resizeable in the Device dialog. Thanks @samamou!
- UI: tighter UI style
- VST3: Support for VST3 on AArch64 platforms
Improvements and bug fixes
- Audio: Fix saving / loading of propagate attribute
- Audio: many fixes to quantification.
- Audio: Various fixes for VST and LV2
- Automation: Fix that changing the address would reset the scale if it was a pattern
- Avnd: dynamic ports improvements
- Avnd: support for texture sizes in CPU texture filters
- BLE: Fix support on Win32 and Flatpak
- Core: Be more lenient when reloading if a cable isn't present in a save file due to dynamic operations
- Core: finish porting all the plug-ins written in the previous "Fx" API to Avendish which is now the one and only officially supported API for making ossia add-ons.
- Curve rendering: optimizations when we have more than a thousand points.
- Devices: Add a more optimized device_parameter implementation when we know the type beforehand
- Devices: DNSSD: force every execution to execute over the same thread as Avahi is not thread-safe nor reentrant
- Devices: Do not try to infer the min / max if things are patterns
- Execution: domain and range improvements, allow value ports with ranges, fix LFO output range
- Graphics: Fix missing Spout I/O on Windows
- Graphics: fix that shmdata input do not reconnect when writer quits
- Graphics: improve the amount of recomputations needed for geometry updates
- Images: fix render shader which had broken
- Items: Send signals to release mouse if a graphics item is deleted while being grabbed
- JS: thread safety fixes and improvements
- MIDI: fix some note-off cases that were not handled.
- MIDI: Use the proper app name in MIDI APIs
- Platform: Improve support of
QT_QPA_PLATFORM=minimal
- Raw I/O: improve PWM support
- Scenario: creating a state by double-click will now automatically make it auto-started
- Spline: Update and fix small bugs in tinyspline library
- UI: Add documentation links to most processes and devices. The process inspector and device dialog now have direct links to the relevant help pages.
- UI: Be more permissive with looping slot issues
- UI: fix connected port look in hi-dpi mode
- UI: fix the ugly ampersand that appeared some Qt versions ago.
- UI: Fix UI not resizing when a port is added to a node
- UI: LineEdit: improve relayout in nodes
- UI: make sure that controls always show up no matter what in the inspector panel
- UI: port UI improvements in inspector ; show more port names and always show port list.
- UI: respect Alt-key magnetism behaviour when dropping a state.
- UI: Update scene when node size changes to prevent background artefacts
- UI: use double-precision for storing slider data as it caused visible precision issues with large ranges
- VST / VST3: Disable GUI when running under wayland as plug-ins will crash
- VST and friends: Use the actual processed samples as timing information instead of a computation depending on speed
- YSFX: cmake improvements
- Many, many other bugfixes and code improvements...
v3.2.4
Full Changelog: v3.2.2...v3.2.4
This is a minor release mainly focused in improving the compatibility of ossia with various operating systems, as well as making packaging easier.
New features:
- Build support for FreeBSD, checked in CI : https://github.com/ossia/score/actions/workflows/bsd.yml
- Flatpak support, ossia score is available on Flathub :-)
- Automate copying the assets from Github to the releases
Changes:
- Update integrated puredata version to 0.55
- Many fixes related to VST & LV2 integration on these platforms along with Nix
- Work-in-progress for Qt 6 LV2 UIs, they are coming back in the next version !
- Support for VST_PATH and VST3_PATH environment variables
- libpd fixes for NixOS
Full Changelog: v3.2.2...v3.2.4
v3.2.3-3
v3.2.3-2
v3.2.3-1
v3.2.3
v3.2.2
Full Changelog: v3.2.1...v3.2.2
New features
- Bonjour / ZeroConf / DNSSD: Put DNS resolving in a thread to prevent stuckage on networks / OSes with buggy zeroconf
- This fixes the "New device" dialog getting stuck for seconds when selecting e.g. OSC or OSCQuery
Bugfixes
- OSC thread safety fix
- PureData: support looking for GUI in /usr/lib/puredata in addition of /usr/lib/pd to handle Fedora packaging.
- PureData: look for the exact version ossia in macOS first.
- Device explorer: Do not try to display binary buffers
- CoAP: recursive exploration implemented
- Fix building against Qt 6.8
- Fix that the copy-paste keyboard shortcut had been broken
- Many CI fixes
- Fix a potential crash when removing some devices
- Avnd: support reloading processes with new ports
- Avnd: Handle passing larger messages from exec to ui
- Various smaller code and performances fixes and improvements
- Fix BLE support in macOS info.plist (#1542) - thanks @coral for your first contribution !
v3.2.1
Full Changelog: v3.2.0...v3.2.1
New features
- New object : Mono Mix 8 (mixes 8 channels in a mono output)
- New object : Quad Pan (pans front / back / left / right)
- New object : Trigger (send an impulse when a value goes above / below thresholds)
- New object : Teleplot (sends an OSC input pattern to a Teleplot server at a given rate)
- New object : Context-Free Art image generator
- f4eba84 [avnd] Add a loop mode to CSV
Recorder playback mode - Nix support, checked on CI
- Gain object revamped, will now smooth the gain changes to prevent clicks
Bugfixes
- Fix crash on close if the Local device was added, general device cleanup fixes
- Prevent warning loops which are apparently able to freeze a complete Asahi Linux system
- Many fixes to running in console with QT_QPA_BACKEND=minimal
- JS: Fix 3.2.0 regression : FloatSlider value returning undefined due to wrongly commented-out code 🤡
- GeoZones was missing the GUI widget for normalization of coordinates
- Fix audio textures continually recreating FFT objects and an FFT memory leak with KFR backend
- Shmdata: Fix #1511 by adding type to caps
Changes
- VST3 : update to SDK 3.7.11, which fixes support for MinGW builds