Skip to content

Releases: ossia/score

v3.4.0

10 Jan 00:29
Compare
Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

Full Changelog: v3.3.2...v3.4.0

ossia score 3.4.0 is a feature-packed release for the start of 2025.

New features

  • Introduce initial (very alpha, mainly to set the base architecture) support for loading AI models through onnxruntime. Right now supported models are BlazePose, YOLOv7 (blob detection), YOLOv8 (pose), ResNet. More to come, please mention any model you'd be interested in on our Discord! Feat. a cute new icon by @aklevy!

image

  • Introduce initial support for using Bitfocus Companion connections and modules directly from ossia score. This requires installing an additional package from the package manager.

image

  • Introduce initial support for MIDI control surfaces using the MCU protocol. Selecting a process will now make its parameters available over the control surface UI.

mcu

  • Introduce Array Combiner, Array Tool, Array Flattener, and Array Recombiner processes to efficiently process arrays in various ways.

image

  • Add a new Envelope Follower based on Kevin Ferguson's algorithm. Unlike other analyzers, this one stays in the audio domain to enable CV-like control of things.

image

  • Add a new 2D Point View visualizer to visualize arrays of 2D positions.

  • Add an initial implementation for 2D and 3D DBAP spatialization algorithm. Note that the implementation just generates the coefficients, and thus can be applied to any kind of spatial content, not just audio data.

dbap

  • Arraygen / Arraymap now provide an n variable to get access to the current number of elements.

  • Improve on-line help integration. Hitting F1 on any process will now open a browser with the help page of said object. Device explorer's protocol dialog now has a Help button linking to the relevant protocol documentation.

online-help

  • Integrate on-line help with Faust, VST and LV2 help page if available.

  • LED View now supports displaying input array as a lightness array.

  • Lightness Computer now supports RGBW output to facilitate use with this kind of LED strip.

rgbw

  • LV2: add a locally-built Suil for showing LV2 UIs as the latest release does not yet support Qt 6. Note that this does not ship with the release yet, it's only for source builds.

  • macOS: more video format support.

  • macOS: port away from PortAudio to MiniAudio for audio backend. This finally allows to select a different input and output device and overall looks much more stable all while being much easier to integrate.

  • Patternist: add support for Accent and Slide features to enable sick acid bassline patterns.

  • Patternist: add support for legato notes.

  • Patternist: add TB-3 (303-like) patterns to the pattern library.

  • Patternist: add patterns from "260 Drum Machine Patterns" (René-Pierre Bardet) to the pattern library (thanks @danielmroczek).

patternist-3 4

  • Soundfile: allow to choose three quality levels for the resampling mode (e.g. pitch shift instead of time stretch). Previous and default mode is the HQ one, based on high-quality sinc interpolation from libsamplerate.

image

  • Threedim addon moved into official score repo to track changes more easily.

Platform and CI changes

  • Compatibility with Boost 1.87.
  • Flatpak: add an AArch64 build in CI.
  • Flatpak: update to the latest toolchain.
  • Initial successful builds of libossia targetting ESP32, more to come :-)
  • Many updates to dependencies
  • Reduce duplication in Github Actions CI tasks.
  • Replace Azure entirely with Github Actions.
  • RPi build: improve the startup scripts to cleanup unwanted dependencies if running on more recent AArch64 operating systems, such as Arch Linux or Asahi Linux.
  • Ubuntu Lunar (23.10) was removed from CI due end-of-life.
  • Ubuntu Oracular (24.10) was added to CI.

Bugfixes and improvements

  • Audio Recorder: support relative paths like elsewhere.
  • Automation: big rework of the pen tool to make sure we never end up in invalid states.
  • Automation: fix a rare crash when editing a curve point's X position.
  • BSD: implement VST3 support.
  • Calibrator: fix crash on remove on macOS. Thanks @led78 for finding and reproducing it!
  • CSV Reader: multiple bugfixes, improve timestamping.
  • Dev: allow to bypass some harmless ASAN warnings through SCORE_SANITIZE_SKIP_CHECKS=1 env var.
  • Dev: fix missing include (thanks @aalex!).
  • Fix some save format cable-related issues.
  • Geometry Filter: allow to chain multiple identical filters (a small feature in appearance, which requires a full-blown GLSL parser in practice...).
  • Geometry Filter: support livecoding better.
  • Gfx: work on geometry output from nodes in the GPU node graph.
  • GPS: fix a memory safety issue.
  • JIT: re-add support on AArch64.
  • JS: implement a deviceToOSCQuery function to export the OSCQuery JSON of a given device.
  • JS: implement an enumerateDevices API to track added and removed devices like in the Device dialog.
  • Kinect: fix build, initial try for a registered point-cloud output.
  • MIDI: fix that devices would sometimes enumerate too early on macOS leading to them not being visible in the UI.
  • MIDI: fix Computer Keyboard support on macOS. Note that this requires Accessibility permissions.
  • MinGW: reenable addons on CI.
  • MSVC: reenable addons on CI.
  • OSC: add support for always sending bundles for devices that only understand bundles.
  • OSC: disable broadcast being locked to 255.255.255.255.
  • OSC: fix that OSC devices were not recreated leading to OSC not working after editing the device.
  • OSCQuery: improve compatibility with weird embedded webservers.
  • Package manager: support packages with multiple files to download.
  • Patternist: fix crash when changing current pattern.
  • Serial: work on allowing non-standard baud rates, if the system supports that.
  • Signal display: fix scaling issues.
  • UI: make a preset appear under the mouse when dropped.
  • UI: performance optimizations for process and filesystem views.
  • UI: improve behaviour of nodal view especially when rescaling and resizing things.
  • UI: improve behaviour of copy-paste in nodal view.
  • Video: do not hide cursor on embedded video windows.
  • Video: multiple fixes to color space shaders introduced in 3.3.2.
  • VNC: fill the requested screen resolution instead of a 1024x768 default square.
  • VST3: fix crash when closing and reopening JUCE plug-ins. Fixes #1620.
  • Many performance optimisations for the various math expression objects.
  • As always a slew of smaller bugfixes and improvements !

Continuous

04 Jun 23:37
Compare
Choose a tag to compare
Continuous Pre-release
Pre-release

This list of changes was auto generated.

Full Changelog: v3.3.2...continuous

v3.3.2

17 Nov 23:07
Compare
Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

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

example

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

16 Nov 04:24
Compare
Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

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

  • LED View process to display [r,g,b,r,g,b,...] triplets
    led-view

  • Signal Display will now display multi-dimensional arrays in addition of single values
    anim

  • 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

12 Nov 15:50
Compare
Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

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

  • Audio: Add an audio channel selector object
    small-audio-channel-extractor

  • Audio: mono merging mode in Merger object
    small-audio-merger

  • 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.

small-hdf5-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

08 Jul 23:06
Compare
Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

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:

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

04 Jul 09:17
Compare
Choose a tag to compare

Changes:

  • a235dfe [flatpak] More robust way to locate lv2

This list of changes was auto generated.

v3.2.3-2

02 Jul 21:53
Compare
Choose a tag to compare

Changes:

  • c7fb8bf [flatpak] Correct icon install folder

This list of changes was auto generated.

v3.2.3-1

02 Jul 17:07
Compare
Choose a tag to compare

Changes:

  • 43c865c [libremidi] Minor improvement
  • f6420f1 [flatpak] Improve packaging
  • 7c86f7f [libsimpleio] Update for RPi5 support

This list of changes was auto generated.

v3.2.3

01 Jul 23:56
Compare
Choose a tag to compare

Changes:

This list of changes was auto generated.