Skip to content

Releases: ossia/score

Continuous

04 Jun 23:37

Choose a tag to compare

Continuous Pre-release
Pre-release

This list of changes was auto generated.

Full Changelog: v3.3.2...continuous

What's Changed

New Contributors

Full Changelog: v3.7.1...continuous

What's Changed

New Contributors

Full Changelog: v3.7.1...continuous

What's Changed

New Contributors

Full Changelog: v3.7.1...continuous

What's Changed

New Contributors

Full Changelog: v3.7.1...continuous

What's Changed

New Contributors

Full Changelog: v3.7.1...continuous

What's Changed

New Contributors

Full Changelog: v3.7.1...continuous

What's Changed

Read more

v3.7.1

22 Sep 11:17

Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

ossia score is a sequencer for audio-visual artists, designed to create interactive shows.

Sequence OSC, MIDI, DMX, sound, video and more, between multiple software and hardware. Create interactive and intermedia scores, script and live-code with JavaScript, ISF Shaders, Faust, PureData or C++. Leverage IoT protocols such as CoAP or MQTT, interact with joysticks, Wiimotes, Leapmotions, Web APIs and BLE sensors and integrate programs from a wealth of creative programming languages such as Structure Synth, Context-Free Art and Bytebeat. Load any kind of audio or video format and process visuals through Spout, Syphon, NDI, Shmdata or Sh4lt ; sonify large datasets with CSV and HDF5 support.

ossia score 3.7.1 is a small bugfix release on top of the large 3.7.0 release, mainly to fix MSYS2 packaging.

Full Changelog: v3.7.0...v3.7.1

Bugfixes

  • Fix build on clang-21, necessary for MSYS2 packages.
  • Fix that Wavecycle process had been inadvertently removed.
  • Minor graphics pipeline improvements.
  • Fix an issue with the drop of preset in hotswap mode.
  • Math expressions: fix that pos was not always set to the correct value.

v3.7.0

20 Sep 18:52

Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

ossia score is a sequencer for audio-visual artists, designed to create interactive shows.

Sequence OSC, MIDI, DMX, sound, video and more, between multiple software and hardware. Create interactive and intermedia scores, script and live-code with JavaScript, ISF Shaders, Faust, PureData or C++. Leverage IoT protocols such as CoAP or MQTT, interact with joysticks, Wiimotes, Leapmotions, Web APIs and BLE sensors and integrate programs from a wealth of creative programming languages such as Structure Synth, Context-Free Art and Bytebeat. Load any kind of audio or video format and process visuals through Spout, Syphon, NDI, Shmdata or Sh4lt ; sonify large datasets with CSV and HDF5 support.

ossia score 3.7.0 is a feature-packed back-to-school release, with a specific focus on deep bugfix, as well as UX and quality-of-life improvements.

Full Changelog: v3.6.1...v3.7.0

New features and changes

  • AirWindows: mono plug-ins will now be able to be used in polyphonic contexts (e.g. they will be scaled to the number of input channels.
image
  • Array recombiner: add a transposition mode to turn for instance [ r, g, b, r, g, b ] into [ [ r r ] [ g g ] [ b b ] ].
image
  • Audio: initial ADM-OSC support in the Spatialization device.

  • Beat metronome: it now has inlets for every subdivision, and keeps track of the count.

beat-metronome

  • Execution: annotate the code base to ensure that execution things happen in the correct thread.
  • GPU: allow the ossia::geometry class to carry GPU handles in addition of CPU buffers.
  • Interpolator: make the alpha factor minimum lower to enable very, very smooth operation. Thanks @edumeneses for the recommendation!
  • JS: add a Score.createCable(outlet, inlet) function.
  • JS: add a Utils.writeFile(filename, bytes) function.
  • JS: allow to add additional script include paths through SCORE_ADDITIONAL_SCRIPT_INCLUDE_PATHS environment variable.
  • JS: allow to create processes by UUID.
  • JS: allow to introspect all the processes in the library with Score.availableProcessesAndPresets().
  • JS: allow to use Qt.exit(0) to quit the app programmatically.
  • Library: allow to scan QML objects with imports that do not have versions (Qt 6 QML).
  • Local tree: add a /script OSC address that allows running JS console scripts.
  • Local tree: if sending the OSC message /exit force then no dialog will be shown to ask the user to save modified scores. This will cause data loss if not careful!
  • Local tree: properly support processes with variable numbers of ports.
  • New process: Accumulator. Statistical tools on incoming values: outputs sum, count, mean, variance, median, kurtosis, min and max.

accumulator

  • New process: Array to texture. Turn a [ R G B A R G B A R G B A ] input array into a video texture useable with shaders.

array-to-texture

  • New process: Compute Shader. This allows to use compute shader to generate and process images. This is one of the last steps towards a useful GPU-based instancing node for massive particles rendering.

particles-csf-small

  • New process: Counter. Counts the incoming messages. Can optionally loop over a provided max or clip when the max is reached.

counter

  • New process: Easetanbul. Delicately ease from one incoming value to another with the classic easing functions.

easetanbul

  • New process: Pulse view. A simple LED that lights up on incoming messages.

  • New process: Repetition Filter. A simple object to filter repeated values, useful for quick debounce. Thanks @edumeneses for the suggestion!

  • New process: Value Filter. A full-blown toolkit to filter incoming values according to multiple criterion: combines noise gate, range filter, repetition filter with a deadzone, hysteresis, clipping, and temporal filter.

value-filter

  • New process: Vertex Shader Art. This allows to create dynamic audio-reactive visuals from vertex shaders, based on the eponymous website. Be sure to update the user library to get the new shaders, imported from the website's github!

vsa

  • New processes: Bendage, a set of video-bending processes for real-time image destruction: JPeg, Xlippy and Safe Word. They had been developed years ago but sadly forgotten in a dunggithub repository... More to come!

bendage

  • New protocol: LSL (Lab Streaming Layer) for integration with scientific hardware and software.
  • Object Loader: will now display .ply files in addition of .obj.
  • QML: add an OSC packet processor to easily handle OSC packets in custom protocols.
  • QML: add support for setting QVector2D / 3D / 4D values.
  • Shaders: shaders with a mouse input will now automatically start mapped to the first Window devices mouse.
  • Sound: clicking on the waveform will now select it.
  • UX: add a shift+delete shortcut to remove a process in the middle of a chain while keeping the connections in the chain alive if the processes before and after are compatible.

ux-remove

  • UX: allow to create nodes while dropping into an empty full view.
  • UX: allow to drop a process or preset from the library onto a cable to insert it in the middle of a chain, if the first inputs and outputs are compatible. Drop will be indicated by the cable becoming dashed.
  • UX: allow to drop a process or preset from the library onto a node to insert it in the middle of a chain, if the first inputs and outputs are compatible. Drop will be indicated by the node border becoming orange. This allows hot-swap behaviour, to easily switch for instance a shader or an audio effect for another live.

ux-hotplug

  • UX: change the visualization of ports when they contain an address, to indicate better whether the address is active or not. It is now indicated by little incoming and outgoing arrows to the left (for inlets) and to the right (for outlets). Propagating audio objects are also indicated.
image
  • UX: dropping multiple processes or files in nodal view will now properly offset them by a few pixels to improve clarity.
  • Value display: it is now possible to request the process to log the last N received messages.
  • Video: clicking on the thumbnail will now select it.

Bugfixes and improvements

  • Algorithms: replace std:: implementations by custom ones to improve speed under ASAN.
  • Audio: thorough rework of audio start / stop ; fix the annoying JACK warning when opening a new document.
  • Avnd: add an automated RGBA from / to RGB conversion for processes that want to operate on CPU RGB textures.
  • Avnd: improve the color handling API to allow more precise skinning of processes.
  • Avnd: various small backend improvements especially for handling musical ticks.
  • CI: force ffmpeg@7 on macOS homebrew as ffmpeg@8 does not export symbols???ええええええ
  • CI: ton of bugfixes and change tracking as usual.
  • CLAP: implement more features of the spec, in particular tempo / time signature support.
  • CLAP: make flush occur in the exec thread, not the main thread, per the spec.
  • Execution: fix a long-lived execution bug where setting the speed too fast could cause an invalid token request to be submitted to processes.
  • Execution: many smaller improvements and optimizations.
  • FFT: multiple fixes to FFT implementation.
  • GPU: various improvements and bug fixes to the render loop.
  • ISF and other shaders: fix that the default shader had disappeared, when dropping the process without an existing preset.
  • ISF: many backend improvements and simplifications. Deep rework of audio textures handling.
  • ISF: remove now-unneeded values from UBOs.
  • Library: ensure subcategories are sorted.
  • Library: performance optimizations.
  • Local tree: bugfixes.
  • Metronome: fix a potential division by zero.
  • Network: handle cases where socket shutdown throws an exception.
  • Nodes: improve default node sizing and allow smaller nodes.
  • ONNX: add a SC...
Read more

v3.6.1

11 Aug 23:59

Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

ossia score is a sequencer for audio-visual artists, designed to create interactive shows.

Sequence OSC, MIDI, DMX, sound, video and more, between multiple software and hardware. Create interactive and intermedia scores, script and live-code with JavaScript, ISF Shaders, Faust, PureData or C++. Leverage IoT protocols such as CoAP or MQTT, interact with joysticks, Wiimotes, Leapmotions, Web APIs and BLE sensors and integrate programs from a wealth of creative programming languages such as Structure Synth, Context-Free Art and Bytebeat. Load any kind of audio or video format and process visuals through Spout, Syphon, NDI, Shmdata or Sh4lt ; sonify large datasets with CSV and HDF5 support.

ossia score 3.6.1 is a series of small bugfixes and improvements after the large 3.6.0 release.

Full Changelog: v3.6.0...v3.6.1

New features

  • Audio: add support for the Airwindows audio effects directly as ossia built-ins. Discover a ton of new reverbs, filters, choruses, distortions, limiters, etc. to build a rich sonic palette.
airwindows-2025-08-12_09.05.19.mp4
  • 3D primitives: plane can now have varying number of subdivisions.
  • JS scripting api: add a new function to allow getting the JSON of the current save file.
  • Model display: add support for controlling blending options to enable better particle effects.
  • Geometry filter: add support for reading .glsl files from the library directly. Check the new examples by updating the library!
particles-small.mp4

Bugfixes

  • Core: fix an execution bug due to concurrency and threading in GPU threads.

v3.6.0

07 Aug 16:34

Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

ossia score is a sequencer for audio-visual artists, designed to create interactive shows.

Sequence OSC, MIDI, DMX, sound, video and more, between multiple software and hardware. Create interactive and intermedia scores, script and live-code with JavaScript, ISF Shaders, Faust, PureData or C++. Leverage IoT protocols such as CoAP or MQTT, interact with joysticks, Wiimotes, Leapmotions, Web APIs and BLE sensors and integrate programs from a wealth of creative programming languages such as Structure Synth, Context-Free Art and Bytebeat. Load any kind of audio or video format and process visuals through Spout, Syphon, NDI, Shmdata or Sh4lt ; sonify large datasets with CSV and HDF5 support.

ossia score 3.6.0 is a major release introducing useful new features and objects.

Full Changelog: v3.5.3...v3.6.0

New features and changes

  • AI: new model support: FastVLM for video-to-text real-time inference.
  • AI: new model support: GAN image generation e.g. with MobileStyleGAN, FBAnimeGAN. More to come!
  • AI: new model support: GAN image processing e.g. with AnimeGANv3, DeblurGAN, FSRGan. More to come!
  • AI: new model support: LLM inference with Qwen3.
  • Audio: add initial support for CLAP plug-ins on Mac, Windows and Linux. Testing and feedback needed!
  • Audio: new reverber inspired from vintage Alesis MIDIVerb (BarrVerb, ported from [github.com/ErroneousBosh/BarrVerb](https://github.com/ErroneousBosh/BarrVerb)).
  • Avnd: improvements to the available APIs for UI to enable more use-cases with cross-controls interactions.
  • Bytebeat: implement a safe mode to try and avoid SIGFPE errors when a division by zero happens due to wrong bytebeat code.
  • Core: add xtensor, xsimd and xtl and eigen as official built-in libraries accessible to score addons.
  • Core: AI prompt composer.
  • Core: AI prompt tweener.
  • Core: the codebase now officially requires C++23 to build.
  • EGLFS / vkkhrdisplay: allow to exit the app with esc when running without X11 or Wayland for unattended installations.
  • Gfx: add support for Shadertoy effects, by drag'n'drop of Shadertoy URLs into a score which will trigger an automated conversion to ISF.
  • JIT: port to jitlink which fixes a lot of limitations when JIT-compiling plug-ins.
  • Linux: add a --platform argument to the appimage, to replicate the functionality of the previous Raspberry Pi scripts (ossia-score-eglfs, etc).
  • LV2: fixes for finding plug-ins in /usr/ with the AppImage.
  • Patterns: add support for patterns from drumpatterns.onether.com.
  • Processes: new data processing tool: Classifier (based on RapidLib, similar to Wekinator).
  • Processes: new data processing tool: Regressor (based on RapidLib, similar to Wekinator).
  • Processes: new object: interpolator. From a set of weights and a set of values, provides the linear interpolation of each values. Useful for navigating latent spaces!
  • Processes: new object: Nodes, to allow interpolation across multiple states. Features both a "circular node" mode, as well as a Voronoi mode.
  • Processes: new objects in the Puara toolkit: Correlation, Compass, Binarize, ERP, Clustering, PCA, Power Band. Thanks @pyandcpp-coder!
  • Processes: new objects: Impulse, String, Float, Integer to force the casting of a value type.
  • Processes: new objects: Knob, Multislider to have simple UI affordances to control parameters.
  • QML UI: add a TextureSource object to allow custom UI to import a texture from the output of a process.
  • QML UI: Qt Quick and Qt Quick Controls are now available to use for external UIs with official releases, which allows to make custom software with advanced UIs backed by a given score.
  • Script console, mapper device: add objects to allow low-level access to TCP and UDP sockets (#1798) as well as OSC.
  • Script editor: syntax highlighting for Faust code.
  • SDK: update the platform to LLVM 20, Qt 6.10.
  • UI: allow to copy the value of a Value Display easily.

Bugfixes and improvements

  • #1720: CMake issues with concurrentqueue on FreeBSD.
  • #1831: Missing includes.
  • #1833: Sporadic macOS crash when inferring AI models.
  • Avnd: processes with file ports will now relativize paths correctly to allow easier project portability across computers.
  • Avnd: put message bus things in a thread for GUI objects.
  • CI: a few hundred fixes as always.
  • Core: use std::span everywhere consistently.
  • Faust: fix live-coding a synth (#1829).
  • Fix missing port count in process library.
  • LV2: fixes to Suil and LV2 integration.
  • Reworked categories.
  • SDK: many bugfixes to features to allow building addons against the score SDK.
  • SDK: rework the CI infrastructure to allow repos building score addons to use a shared set of Github actions on [github.com/ossia/actions](https://www.google.com/search?q=https://github.com/ossia/actions).
  • UI: improve multi-xy pad rendering.
  • UI: improve reliability of script editor GUI.

Some examples of the new features:

gan-demo.mp4
vlm-demo.mp4
regressor-demo.mp4
image
474301510-dde78b99-f9f9-439f-bd7d-3e627cc69eed.mp4
clap-demo.mp4
shadertoy-demo.mp4

v3.5.3

07 Jul 13:44

Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

ossia score is a sequencer for audio-visual artists, designed to create interactive shows.

Sequence OSC, MIDI, DMX, sound, video and more, between multiple software and hardware. Create interactive and intermedia scores, script and live-code with JavaScript, ISF Shaders, Faust, PureData or C++. Leverage IoT protocols such as CoAP or MQTT, interact with joysticks, Wiimotes, Leapmotions, Web APIs and BLE sensors and integrate programs from a wealth of creative programming languages such as Structure Synth, Context-Free Art and Bytebeat. Load any kind of audio or video format and process visuals through Spout, Syphon, NDI, Shmdata or Sh4lt ; sonify large datasets with CSV and HDF5 support.

ossia score 3.5.3 is another series of small bugfixes and improvements after the large 3.5.0 release.

Full Changelog: v3.5.2...v3.5.3

New features and changes

  • Audio: Support using the PIPEWIRE_QUANTUM in addition to PIPEWIRE_LATENCY to set buffer size and sample rate under pipewire.
  • Linux: add a small independent binary that will run to devise whether the app has all the necessary dynamic libraries available.
  • OSC: allow to resolve by using DNS and not just IP addresses; refactor the DNS resolving code across the codebase. (#1689)
  • Windows: implement camera resolution enumeration using the most atrocious Win32 API.
  • Image node: add a stretch mode port.
  • AI models: add EmotionNet support for detecting emotions, DepthAnythingV2 for converting RGB frames into depth frames, and YOLO-segmentation support.
  • AI models: better default engine selection.
  • Gestures: add many new gesture detection algorithms courtesy of Yash Tiwary, our GSoC student. Thanks @pyandcpp-coder!

Bugfixes

  • UI: Fix an UI bug when reloading an item with an XY slider.
  • Core: enforce using the same hash function in most places.
  • UI: improve rendering performance of cables.
  • Presets: fix loading presets of objects that may change ports.
  • Core: large cleanup of codebase compiler warnings which had accumulated.
  • Packaging: improve support for packaged KFR (#1819).
  • Core: update to boost 1.88.
  • Mapper: fix a concurrency bug which could have caused crashes when restoring a score which created and removed mapper devices.
  • Windows: fix open dialog sometimes having issues (QTBUG-138093).
  • Windows: fix that KFR was forced to SSE2.
  • Windows / Mac: fix the Window devices being jittery when moved (#1783).
  • CSV and audio recorder: ignore quotes in paths as they happen when using the "copy path" feature of Windows 11. (#1598)
  • Graphics: fix some textures still being inverted on Metal and D3D11/D3D12.
  • macOS: fix to enable running under Xcode frame capture.
  • Graphics: allow offscreen renderers to use something else than OpenGL now that it works fine.
  • MIDI: replace MIDI Pitch with MIDI Filter which is more powerful.
  • Graphics: handle more cases of texture formats in different processes, e.g. support R8 or RGB as input instead of only RGBA in Avendish nodes.
  • VST3: fix for some buggy plug-ins which do not follow the spec and do not allow deleting and recreating their IPlugView.
  • macOS: fixes for GL rendering (#1807).
  • UI: improvements to focus behaviour (#1811).
  • Camera: fix #1814.
  • UI: improvement to Graphics Combo ui widget.
  • Scripting: add Score.availableProcesses() and Score.availableProtocols() for introspection of available features and processes.
  • Scrpiting: implement removal of processes.
  • Audio: update Miniaudio on macOS and set it as default backend. Fix #1797.
  • Core: improvements to the quantization algorithm.
  • Core: lots of work to prevent bogus UBSAN warnings on hash functions.

v3.5.2

06 May 00:30

Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

ossia score 3.5.2 is another series of small bugfixes and improvements after the large 3.5.0 release.

Full Changelog: v3.5.1...v3.5.2

New features and changes

  • New process: Deuterium is a drum machine specialized in loading Hydrogen drumkits.

deuterium

  • New process: Kabang is a more controllable drum machine with 8 potential samples, pitch shift, etc.

kabang

  • New process: Minibang is a basic lo-fi vintage one-sample sampler.

image

  • UI: owners of a mouse with a forward / backward button can now use it to scroll through presets on the preset button of processes.
  • UI: double-clicking on a 2D pad will center it.
  • Breaking change: the address for key press on Window devices has changed. A key release event has been added, too.

image

  • Core: add an --ui-debug option to enable visualizing the score backend when creating a custom QML UI.
  • Core: add a few new API functions to enable building more powerful apps accessing all the devices.
  • Packaging: use distro Faust libraries when system libraries are requested.

Bugfixes

  • Packaging: various flatpak-related fixes.
  • OSCQuery: many compatibility improvements for various kinds of HTTP and mDNS implementations which may not always support all features.
  • Graphics: performance optimization: do not render empty passes in unconnected ports, etc.
  • Core: fix a deep logic bug which caused weird errors when restoring a document that had cables being edited.
  • Graphics: fix auto-repeat blocking key input on Window device.
  • Graphics: disable back-face culling on plane primitive.
  • Graphics: fix an invalid vertex count issue with some primitive.
  • Graphics: fix UV maps on model display with Vulkan.
  • Core: UI performance optimization during execution of the score.
  • Graphics: fix avnd graphics processes with custom render target size.
  • VST: fix that reloading VSTs had broken on Windows and macOS.
  • VST: enable -execstack flag on Linux as otherwise with newer glibc this break some proprietary VSTs.

v3.5.1

19 Apr 17:56

Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

ossia score 3.5.1 is a series of small bugfixes and improvements after the large 3.5.0 release.

Full Changelog: v3.5.0...v3.5.1

New features and changes

  • CI: use native ARM64 runners for building AArch64 flatpaks.
  • JS: add support for ComboBox inlet.
  • VST: make VST scanners much more lightweight.
  • Video: update HAP library to support newer formats.

Bugfixes

  • CoreAudio and ALSA: bugfixes for high channel count soundcards. Raise limit to 1024.
  • Faust: fix potential errors due to disabled floating-point exceptions when instantiating instruments.
  • Flatpak: use native dialogs as it seems Flatpak does not supports Qt dialogs.
  • JS: fix that TextureOutlet was using an expensive RGBA32F texture instead of a RGBA8 one.
  • Linux: improve GLES support on AArch64.
  • Mapper device: fix a concurrency issue when closing a score.
  • Signal display: fix a potential crash when reloading scores from older versions using it.
  • VST: many small VST / VST3-related fixes in library scanning.
  • VST: limit parallel processes being launched for VST scans.

v3.5.0

18 Apr 00:18

Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

ossia score 3.5.0 is a large upgrade which paves the way towards many future improvements.

Full Changelog: v3.4.1...v3.5.0

Major platform changes

  • Official releases now assume an AVX2 CPU and 64-bit on Intel and AMD CPUs. This does not apply to releases from various packages managers such as MSYS2, NixPkgs, Flathub, FreeBSD ports, only to official binaries from the official ossia website
  • Updated libraries: Qt to 6.9, FFMPEG to 7.1.1, etc.
  • On macOS, at least macOS 12.0 is now required as it is the minimum for recent Qt versions.
  • On macOS, score will abort if DYLD_LIBRARY_PATH is set as this usually cause spurious crashes when using the app due to loading Homebrew libs such as libpng over Apple ones.
  • The AArch64 Linux build (for Raspberry Pi, Asahi Linux, etc.) is now based on AppImage too and uses the same build scripts than x86_64 Linux.
  • Build support for newer compilers, e.g. Clang 20, 21 as well as CMake 4.0.
  • The entirety of MIDI processing inside score is now based on MIDI 2 UMP instead of MIDI 1 messages, which for now has no other user-facing effect than improving performance when using many MIDI objects, as UMP is more efficient.

New features

  • Audio: add ALSA support through Miniaudio to handle some cases where MMAP (Alsa Raw) and PortAudio both cause issues, e.g. for the pulse ALSA plugin
  • Audio: add an env var to force a global audio decoding method
  • Core: support building in C++23 and C++26 mode.
  • DMX: many interface improvements and features when creating a device. Allow to set universe length for special cases (DMX LEDs with 510 channels per universe). DMX addresses are more easily editable. Allow to add directly simple dimmers and RGB pars.
  • DMX: work-in-progress UI for defining LED fixtures (strips, panes)

artnet

  • Graphics: add a SCORE_DISABLE_SHADER_PREVIEW environment variable to disable shader preview widgets in the main score UI, as depending on the pipelines they can cause unwanted graphics lags in live performances.
  • Graphics: add support for the Qt RHI D3D12 backend
  • Graphics: allow running on the vkkhrdisplay backend, to support Vulkan rendering without any graphics server.
  • Graphics: allow setting single, double or triple buffering in the settings.
  • Graphics: enable NVidia and AMD card by default if available over integrated graphics
  • Graphics: enable Vulkan 1.1+ if available
  • Graphics: texture inlets can now specify a custom rendering resolution and filtering mode (ne.g. earest or linear).

image

  • HTTP device: add onRead and onReadString to allow to handle streaming input
  • HTTP device: add support for POST requests
  • ISF: support shader controls with inverted min / max
  • JS: add an UI mode to run a score with a custom Qt Quick user interface, through `--ui` command line flag.
  • JS: add functions useful for creating and looking up devices from the console.
  • JS: texture inlets will now receive mouse, touch and key events to enable user interaction with e.g. MouseArea.
  • MIDI: add a MIDI to array plug-in

midi

  • Model display: implement a basic fulldome projection mode suitable for point clouds and detailed geometry
fulldome-small.mp4
  • Spatialization: add the GBAP add-on which allows to generate grid-based spatialization coefficients. Thanks @bltzr @D3mh4!

gbap

  • Spatialization: add the Matrix audio object which spatializes a source to a number of channels according to a list of coefficients.
  • UI: add new widgets useful for spatialization trajectories: Multi-cursor and Path generator. Thanks @D3mh4!

path

  • UI: Allow to open code in external editors. Thanks @samamou! For this feature to work an editor must be set in the settings.
  • UI: indicate when an address is not found in the tree to help with error understanding
  • UI: make address search recursive and fix some unhandled cases

Changes and bugfixes

  • AI models: many improvements to support of the various ONNX models. Thanks @samamou!
  • AI models: load onnxruntime dynamically so that score can still run on macOS < 13
  • Audio: better handling of denormals across the board, allow to specifiy that some nodes actually needs denormals
  • Audio: fix that dummy plug-in was always set back to 1024 buffer size
  • Audio: fix using ossia with soundcards with more than 128 channels on Mac.
  • Build fixes for various LV2 and Suil corner cases
  • Camera: fix that custom camera type was not being saved
  • Coreaudio: fix device names in selector and no device not coming back
  • DMX: remove libartnet dependency which fixes a lot of ArtNet spurious errors
  • Engine: fix play / pause remote control in no-gui mode
  • GPIOs: add a timer to regularly poll inputs
  • Graphics: add a way for render nodes to have a parent renderer, to allow synchronized multi-viewport
  • Graphics: create less surfaces when scrolling ISF presets which makes interaction much smoother.
  • Graphics: fix OpenGL support on Flatpak on GLES platforms.
  • Graphics: fix window not coming back up for rendering once closed
  • Graphics: many compatibility fixes for Spout and Syphon support
  • Graphics: many fixes to Y being inverted in some cases with back-ends other than OpenGL.
  • Graphics: more leniency towards invalid shaders, try to avoid crashes in much more cases.
  • ISF: set default range to 0-1 to not break mappings if the shader does not provide a range
  • JIT: fix target triple especially on Apple
  • Library: improve startup times by deferring parsing of many file formats to when they get selected on the library.
  • Local device: fix changing port
  • LV2: look for plugins into $HOME/.lv2
  • macOS: reenable JIT on AArch64
  • Mappings: Fix conversion of int addresses into float nodes ; fix midi mapping of CCs into e.g. ISF shaders
  • Micromap: fix that time-related variables were broken in non-array cases
  • MIDI control surfaces: fix support for hardware BCF2000 protocol
  • OSC: fix invalid widget for OSC over serial port
  • Processes: fix that kurtosis analysis process had disappeared.
  • Platform: bugfixes with snmalloc integration. Thanks @mjp41!
  • RMS: fix that computation was broken when in stereo
  • UI: fix copy-paste position of multiple nodes in nodal view
  • UI: fix splash screen scaling on hidpi screens
  • UI: fix that inspector comboboxes would not update when creating a new device
  • UI: show address widgets if an address is set
  • Vel to Note: fix that notes were killed instantly when no quantification
  • VST: fix that resizeable plug-ins would not show up if a global UI scale factor was set in score.
  • VST: look for plugins into $HOME/.vst

And of course numerous smaller bugfixes, code and performance improvements, in particular many fixes to the graphics pipeline.

v3.4.1

16 Jan 18:13

Choose a tag to compare

Discord Open Collective backers and sponsors GitHub Sponsors

Full Changelog: v3.4.0...v3.4.1

ossia score 3.4.1 is a bugfix release following the large v3.4.0 release.

Bugfixes

  • Bitfocus: handle regexes better in fields, fix that some configuration fields could not be typed into.
  • CI: fix missing env. var when building tarballs.
  • CI: fix build on Qt 6.2
  • Scenario: disable min / max bounds when connecting to a trigger
  • Local tree: add port min/max metadata for parameters
  • Local tree: allow copy-paste of local tree address of inlets and objects
  • Mapper device: safety fix, implement #1672 (Device.read and Device.write)
  • BSD: look explicitly for linux/gpio.h as it seems that some BSDs have linux/types.h and not linux/gpio.h
  • Tooling: developer.sh: fix that it would clone addons with sudo leading to end-user confusion
  • Gfx: Fix cpu filter ports with multiple inputs
  • Linux: disable custom qt.conf in distro builds
  • Poles: fix count which had an improptu off-by-one error
  • macOS: more Coreaudio fixes, for some devices such as Blackhole