github ossia/score v3.5.0

latest releases: continuous, v3.7.1, v3.7.0...
8 months ago

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)
  • 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).
  • 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
  • Model display: implement a basic fulldome projection mode suitable for point clouds and detailed geometry
  • Spatialization: add the GBAP add-on which allows to generate grid-based spatialization coefficients. Thanks @bltzr @D3mh4!
  • 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!
  • 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.

Don't miss a new score release

NewReleases is sending notifications on new releases.