Ossia Score Changelog

What's new in Ossia Score 3.1.14

Apr 15, 2024
  • New features:
  • New process : Geo Zones. Takes a JSON specifying polygons and attributes and will interpolate. Can work in both latitude / longitude or scaled between 0/1. Thanks @aklevy for the cute Spatial category icon!
  • New process: Basic audio file recorder process.
  • New process: Shell command / shell script executor. Mostly useful as state process.
  • NDI : support for PTZ control of connected cameras.
  • Many camera support improvements, new camera panel on macOS and Windows to make mode selection simpler.
  • Initial support for defining devices through avendish
  • Library : allow to copy file path with right click, refactor between system and process library
  • MIDI: suppport for PipeWire backend on Linux
  • Update GUI when a state process is used
  • DMX input support for ArtNet, sACN
  • DMX support for ENTTEC DMX USB Pro Mk2
  • Updates:
  • Compatibility with NDI SDK v6 (with NDI_RUNTIME_DIR_V6 pointing to the NDI folder)
  • Raspberry Pi AArch64 : support for Pipewire
  • Build fixes for FFMPEG 7, clang 18
  • Allow texture input devices to have child nodes to allow for instance control parameters on them
  • macOS AArch64 build is finally done on GH actions
  • Many MIDI updates, MIDI input timing accuracy improvements
  • Bugfixes:
  • Fix GPIO not saving their state
  • Many CI fixes as usual
  • Fix build of Kinect device
  • Clear initial persistent passes with ISF multipass shaders which may fix artifacts in some shaders in e.g. Nouveau drivers on Linux.
  • Worker API support on GPU nodes
  • Stability and bugfixes to GPU JS support
  • Artnet: multiple bugfixes, allow multiple concurrent artnet devices
  • Bugfix in spline2D / spline3D process due to expression library ExprTK underlying changes.
  • AppImages should now work on any Linux distro thanks to Type2 runtime work.
  • OSCQuery bugfixes, initial support for TouchDesigner OSCquery implementation

New in Ossia Score 3.1.13 (Feb 6, 2024)

  • New features:
  • Native macOS AppleSilicon (M1 / M2 / M3) release :-)
  • Experimental, Linux-only: support for directly controlling GPIOs, PWMs, ADCs, DACs. Mainly useful on embedded boards such as Raspberry Pi.
  • Tested on Pi 4, Pi Zero, Orange Pi 5 Plus. You may need to add your user to the relevant groups or run as root.
  • Experimental, Linux-only: support for reading GPS data from a gpsd server. Needs a custom build with libgpsd, not built-in with the official releases yet.
  • Very experimental and buggy, feedback welcome: support for streaming output through FFMPEG directly, for instance to record (finally!) the output of the score to a file, both audio and video, or stream it over internet.
  • Ports now indicate when an address is set, with a diagonal strike.
  • Linux builds now come with more QPA back-ends built-in such as VNC. Also minimal QPA for ensuring a minimal memory footprint, for instance when using Score on a Pi Zero.
  • New process to spam an input to an OSC address pattern smoothly. A chef's favorite!
  • VST3 support on Raspberry Pi
  • CMake: add a flag to enable ignoring any library that may have been found through homebrew.
  • ArtNet: use custom fixture names if given
  • Updates & improvements:
  • Updated built-in pd and libpd version to 0.54
  • MIDI timing improvements. In particular, when using JACK under Linux with the JACK MIDI backend, live MIDI input will now be sample-accurate. Timing should also be tighter in general.
  • Bugfixes:
  • Bugfixes in curve edition
  • Many shader fixes for better support of Metal, D3D etc.
  • UI optimizations for usage on low-power computers, Raspberry Pi etc.
  • Fixes for running under RPi with Bookworm.
  • Bugfix on the JS rendering pipeline.
  • Video: allow live-changing the video file.
  • Fix some font issues that had cropped up with the Qt 6 migration.
  • mac: many Syphon bugfixes.
  • Fixes to JIT plug-in for newer LLVM versions (thanks @dave2309 !)
  • Fix that VST detection was broken since update to Qt 6.5 changing the QtWebsocket API
  • Various ArtNet / DMX fixes
  • Fix issues with DMX USB PRO dmx backend
  • UI fix: ports had stopped growing under the cursor since Qt 6 update.
  • Fix for some shaders that didn't work because they weren't being transformed correctly by the ISF backend.

New in Ossia Score 3.1.12 (Oct 30, 2023)

  • [mac] Disable all arch options until we figure out kfr issue
  • Update macos-release.cmake
  • [mac] Try to revert to older macos versions
  • [ci] Fix unity build
  • [ui] Make visible when a port has an address
  • [ux] Fix that there was no way to split between two intervals
  • [ci] Try to fix macos CI spurious failures 2
  • [js] Add an utility to run shell scripts
  • [ci] Try to fix macos CI spurious failures

New in Ossia Score 3.1.11 (Jun 23, 2023)

  • Changes:
  • b738b6c [ci] Try to fix the score dev docs build
  • a06bc8a [ci] No sane way to build dlls against just score source tree on win32 so build static libs instead
  • 75a51dc [ci] Add missing header
  • f669885 [pd] Try to add default pd search paths
  • 11c9c04 [ci] Template fixes
  • db7534d [fx] Fix smooth not updating internal data when type changes
  • fb74c2a [ports] Implement range spinboxes
  • 8de0b62 [ci] Fix variable migration from cmd to bash
  • 3df8b48 [ci] Add missing include
  • ccb29c1 [ci] Update avendish

New in Ossia Score 3.1.10 (May 7, 2023)

  • Changes:
  • c48a1ab [osc] Allow to expose custom OSC devices over Bonjour
  • 2119825 [midi] Fix that libremidi would sometimes not link with boost
  • 85affbb [code] Allow selection of child objects to work in any process to enable selection of curve items in curve ports
  • 492611c [ci] Try to fix macos build
  • 4709307 [ui] Implement support for curve-based ports
  • ec700e8 [code] Fix some const correctness issues ; improve avnd pch

New in Ossia Score 3.1.9 (Apr 25, 2023)

  • New features:
  • Proper support for dynamically built and loaded addons, without requiring a complete clone of the score source tree.
  • Check the docs! https://ossia.io/score-docs/development/plugins/plugins-with-avendish.html
  • Add a Range Filter object to ignore values outside of a range.
  • Implement UI for XY spinboxes and float spinbox
  • Avendish plug-ins: allow to have source and sink video objects, not only filters.
  • Avendish plug-ins: allow to smooth values over time.
  • More GPU texture formats supported for Avendish plug-ins
  • It is now possible to drop files directly on the File port to change them, e.g. for instance
  • In Granola.
  • Rework of the device enumeration UI to allow multiple categories
  • Implement discovery of OSC devices over Bonjour/Zeroconf/DNSSD
  • OSCQuery: allow to specify a port for OSC listening if the remote app only has partial OSCQuery support
  • But can still notify of changes over OSC. 0 will leave the port be randomly generated by the operating system.
  • OSCQuery: allow to interoperate with servers which use N or no type instead of I for impulses.
  • Changes:
  • Official releases are now based on Qt 6.5. This comes with numerous improvements
  • Multiple shader viewports now work correctly and don't reduce the framerate.
  • Much better hidpi support, especially on Windows and with support for fractional DPI.
  • Fix some memory leaks for visuals on Linux
  • Large amount of bugfixes and performance improvements
  • Enables us to port to ARM Macs soon
  • Bug fixes:
  • Improve detection of LV2 plug-in location
  • Build fixes with clang 16, 17, gcc 13, etc.
  • Improve reloading of Serial devices if they don't have a serial number associated.
  • Fix that pitch detector only worked correctly for mono
  • Rework the camera data flow to fix crashes with V4L2 on Linux
  • MIDI: Fix the listening bug where nodes had to be unfolded for midi input to work
  • Pipewire: support time position in nanoseconds for playback.
  • OSCQuery: fix that WS_IP / WS_PORT were not being used when scanning for OSCQuery devices, nor advertised by score
  • Images: fix that images were not being reloaded

New in Ossia Score 3.1.8 (Mar 6, 2023)

  • Changes:
  • Dropped CI platforms: Ubuntu 18.04, Debian Buster
  • Signal Display now loops by default when created
  • Connecting objects without audio outputs will not disable signal propagation on previous audio objects, e.g. adding an RMS estimator after a sound file won't make the sound silent anymore
  • Bug fixes:
  • Fix video decoding on mac which had broken due to an FFMPEG update
  • Fix for videos which still needed some CPU pixel format conversion after hardware decoding
  • Fixes for Qt 6 on Mac
  • Fixes to drag'n'drop of videos, it's now possible to drag multiple video files
  • Fixes to filename loading in Avnd processes
  • Fix that some widgets could not be automated
  • Fix that right click value edition on some sliders did not work
  • More improvements to relative path handling
  • NV12: fix incorrect stride computations ; make sure that the size used is the size of the frame when recreating a decoder
  • Fix description detection of some objects
  • Fix that midi hi-res input was ignoring LSB
  • macOS: fix that a permission is needed for signed apps to use camera

New in Ossia Score 3.1.7 (Feb 25, 2023)

  • New features:
  • Hardware video decoding support on Raspberry Pi build (only for AArch64 build)
  • DMX: support for high-resolution channels
  • DMX: support for wheel names in presets (#1441), and improve the way presets are handled.
  • Note that you will likely need to recreate your Artnet devices if loading old scores.
  • DMX: support for loading fixtures with LED matrixes defined.
  • Camera input support on macOS.
  • Better support for relative paths - if a file is in a folder relative to the score save file, its path will now be saved as a relative path to improve reloading of scores on different computers.
  • Word wrap in the address view widget to support nodes with long descriptions or big value sets
  • UI editor in the address view widget to easily edit parameters with values in a set.
  • Platforms:
  • Debian Buster (and GCC 8) are not supported anymore. Minimal GCC version is now 10.
  • Removed support for MinGW i686 build as Qt 6 has removed support for it
  • Bugfixes and improvements:
  • Fix #1440: save the correct name of scenarios in preset files (thanks @yiids!)
  • DMX: Fix that the UI was 0-indexed (DMX channel 1 was 0) (#1451, thanks @yiids!)
  • DMX: 512 channels for ENTTEC DMX USB Pro (#1432)
  • DMX: Fix fixtures with jumps in channels
  • Various Qt6 fixes
  • Performance improvements for JS
  • Various video playback fixes and improvements
  • Signal Display: fix UI bugging when the parent interval would loop
  • Large amount of bug fixing through extensive testing with AddressSanitizer and friends
  • Refactor all the hash maps, sets, etc. used around boost::flat_{map,set} and ankerl::unordered_dense::{map,set}.
  • Also ensure that the hash functions used are being unified against current state-of-the-art.
  • Fix that audio and audioFFT inputs were broken in ISF.
  • Improvements to the performance and stability of OSC recording.
  • Refactor the code to use concepts instead of enable_if_t as far as possible
  • Performance improvements in scenario.
  • Fix some issues with some processes on negative speeds.

New in Ossia Score 3.1.6 (Jan 9, 2023)

  • D4496b5 [ci] Fix error in previous commit
  • B4590df [ci] More wasm fixes
  • E9c955e [wasm] Fixes due to the update to Qt 6.5
  • 1f7ba03 [ci] gfx: more emscripten fixes
  • 7d5a0de [ci] Fix libstdc++.so path for rpi aarch64 build
  • 279ec3d [ci] asm fixes
  • 9eca1b0 [ci] WASM fixes for Qt 6.5
  • 5ad8f46 [wasm] Try to enable gfx
  • 9e232c6 [wasm] ffmpeg support

New in Ossia Score 3.1.5 (Nov 30, 2022)

  • Bugfixes:
  • Fix UYVY422 video shader (mostly used by NDI)
  • Fix the broken Lygia include path so that one can use @patriciogonzalesvivo's Lygia again. Two examples of usage are provided in the mentioned examples.
  • Fix that geometry would not update when multiple meshes were following each other into the same process over time
  • Fix that the RPi build was broken due to a LLVM issue when using the Mesa graphics driver (which uses another version of LLVM causing incompatibilities)
  • Fix that addresses with pattern match characters did not get saved
  • Fix a thread safety error when creating intervals while the score is playing
  • Fix group selection issues in scenario (triggers and conditions were not always selected)
  • Fix various division-by-zero issues which could lead to crashes when rescaling a scenario to a size of zero
  • Many fixes to the supported attributes, e.g. unit, domain, critical, vecf domains, when declaring devices in QML (thanks @bltzr for all the testing !)

New in Ossia Score 3.1.4 (Nov 9, 2022)

  • Breaking changes:
  • The CHAR type has been removed as we could not find any one using it. It is instead replaced by a much more useful feature in the back-end which will be developed over the next few versions: a MAP type which will allow more advanced communication from / to JS scripts and groups of OSC addresses.
  • New features:
  • JS: support for using external libraries as JS modules. For now one has been added to the user library: total-serialism. Two examples have been implemented: euclidean-melody and claves to show how to use the library to generate randomized musical patterns. Further versions will provide examples that can convert that into MIDI to feed software synths
  • JS: add support for onValueChanged callbacks on inlets
  • JS: add Impulse / Button widget types
  • Explorer: Make device disconnected state more visible (#1433).
  • UI: add a proper int spinbox widget
  • UI: allow to copy the path of an object for remote control (right-click on an object name in the object tree view at the top right)
  • JS console / scripting: add a prompt function to show an interactive UI prompt to the user. See the script below for an example.
  • JS console / scripting: allow to create WS and Serial devices from code directly. This has been used to create an script that would automatically create a WS device that matches a specific JSON format (https://github.com/ossia/score-user-library/blob/master/Scripts/ImportWebsocket.mjs).
  • JS console / scripting: add a deviceToJson function which converts a given device to json which can be useful for saving presets
  • Serial protocol: add the ability to coalesce messages in order to not spam slow serial ports too much. Docs will be updated soon: https://ossia.io/score-docs/devices/serial-device.html
  • Serial protocol: add the ability to return data through byte arrays in order to send raw binary data for protocols that need it.
  • New features (plug-in API):
  • Allow to define processes with groups of ports to simplify creating new processes with the same kind of ports duplicated many times (EQ strips, etc)
  • Write many plug-in API tests, for instance to make sure that any kind of data can safely be passed between processes
  • Add support for more texture formats in Avendish GPU nodes
  • Add support for plug-ins that may need to access the ossia device tree to send custom OSC messages directly
  • Bugfixes:
  • Fix the default LFO range so that it always gives the full range when connected to another process
  • Fix file watcher sometimes stopping working
  • JS: many small bugfixes & perf optimizations for sending / receiving messages
  • UI: fix bugs with processes that have file choosers in the inspector
  • UI: fix bad library path used on start screen for th examples button
  • ArtNet: allow more fixture formats to be supported.
  • Fix WASM build due to SIMD issues
  • Fix that closing scores with processes using compute shaders would crash
  • Fix that image node would not work on some OpenGL driver due to using a reserved name for a variable in GLSL 4.5
  • VST3: fix that MIDI output did not work. Note that right now only note-on / note-off messages are supported.
  • Remote Control: allow simpler websocket message format for triggering parts of the score remotely
  • Rework include paths handling. Not finished yet.
  • Fix the LFO phase change.
  • Fix invalid scaling for double slider
  • Usual fixes for build platforms, Xcode 14, Qt 6.4, etc
  • Execution: Fix that position changes were not processed when there was no other process than a tempo process in an interval
  • Execution: code optimizations

New in Ossia Score 3.1.2 (Sep 22, 2022)

  • Bugfixes:
  • Sweeping checks across the entire code base to make sure that memory allocations do not take place in the real-time thread, some have been fixed this way.
  • This should lead to better performance on every platform and less chances of audio cracks. On the other hand note that these changes incur some additional memory cost.
  • Force XWayland on Linux as the Wayland integration seems to still not work (https://bugreports.qt.io/browse/QTBUG-105921)
  • Fix that dropping a file in a lineedit would add a file:/// (thanks @rblard!)
  • LV2: fixes and improvements to plug-ins using the Worker API
  • LV2/VST/VST3: refactor the way plug-in windows are handled in a single place.
  • MIDI: improve midi file loading
  • JIT: for developer builds, fix that it did not work with libstdc++.
  • PureData: fix invalid names being checked for MIDI CC input (#1426)
  • Video: fixes to playback speed, fix rewinding non-HAP content
  • Execution: fix that play-from-here would not work correctly if an interval was of duration 0 somewhere before the play point.
  • Selection: selecting a state that follows a zero-duration interval will now select it to enable the whole thing to be deleted (as it is often not what one wants)
  • Fix build with freenect2 for kinect support. It's not enabled in releases yet though but will soon be.
  • Various CI fixes
  • Startup time improvements by refactoring the way settings are loaded.

New in Ossia Score 3.1.1 (Aug 23, 2022)

  • General fixes and improvements:
  • Many Faust improvements:
  • Tons of bugfixes on Windows where a lot was broken. Now it is on par with macOS and Linux ; automatic testing of LLVM-based Faust DSPs has been implemented to keep better track of what is working and what is not (https://github.com/ossia/faust-tester).
  • Automatically match of mono Faust effects with the actual number of inputs, so that it is possible to use e.g. a Faust LPF or distortion to filter a multi-channel intput.
  • Add support for some STK physical models which did not work (Piano, Bass, etc) as they required calls to specific C++ functions which weren't yet implemented.
  • Add support for Guitarix Faust DSPs, available through the package manager. Note that some of them expect a 96khz samplerate ; a later version will implement automatic resampling to accomodate for this.
  • Add support for a task pool for processes to use during execution, used for e.g. OBJ loading and Structure Synth currently.
  • Add an X, Y, Z spinbox used for 3D processes. UI will be improved over time.
  • Add MSVC and MinGW (all versions, 32 / 64 bit with GCC, Clang, MSYS, ucrt) CI
  • Many small code quality issues fixed with clang-tidy, more noexcept, etc etc.
  • Sanity-check regexes
  • Performance and safety improvements on regex matching in libossia (measured to be 10x-20x faster where regex were used compared to the previous implementation based on std::regex, thanks to @hanickdot's https://github.com/hanickadot/compile-time-regular-expressions library). This has also found a couple bugs in regexes!
  • Use Clang's thread-safety annotation to fix a few thread-safety bugs in libossia.
  • Reduce code size on Linux
  • Many CI fixes
  • Bugfixes:
  • Implement automatic resizeing for UI widgets in the central view, mainly to allow Micromap to take multiple lines for slightly longer math expressions.
  • Many Qt 6 fixes, the port is now considered complete.
  • Update to Boost 1.80 and fix issues that cropped up due to previously-incorrect code now flagged at compile-time.
  • Library: fix that scanning VSTs would make the process library unuseable until all the VSTs were scanned.
  • VST: fix that the VST window was not closing when removing the VST on windows
  • Gfx: Fix a crash due to window not being closed before being deleted
  • Filesystem browser pane: greatly improve speed when a few hundred thousand files are present in the library. To improve speed further, it is now possible to disable automatic sorting in that case (through right-click).
  • WASM: disable cursor hiding there as it would not reappear afterwards.
  • LV2: fix crash when saving a project with an LV2 plug-in that could not be loaded.
  • UI: Improve various layout and GUI-related things in the central view; fix needless removal / recreation of the objects'UI.

New in Ossia Score 3.0.12 (Jul 18, 2022)

  • [ci] Try to fix jammy clang build
  • [ui] Add missing resources to .qrc
  • Add new icons for sync
  • [gradient] Fix display when there is only one color and allow to create keypoints before the first color
  • [faust] Update faustlibs version
  • [ui] Fix potential crash when closing a document
  • [vst3] WIP on program support
  • [fx] Implement program loading for VST and YSFX

New in Ossia Score 3.0.11 (Jun 14, 2022)

  • Changes:
  • 45b5db1 v3.0.11
  • b64586e [ci] Fix wasm build
  • a09e955 [avnd] Handle case where the correct port type cannot be generated
  • 99569a7 [ci] Fix missing Qt6 websockets dep
  • 3f4b1d8 [gfx] Add support for tablet events in window input
  • fab5337 [ci] Fix common.deps script
  • d1ab28b [ci] Try to build with the network addon
  • bbb12b5 Revert "[presets] Do not add duplicate presets"
  • fc7e02b [gfx] Fix an issue when deleting a gfx object when it is being displayed in the inspector
  • 5c7529e [ci] Constexpr std::lexicographical_compare only where supported

New in Ossia Score 3.0.10 (Jun 6, 2022)

  • New features:
  • GFX: the render size can now be configured in the window device tree. If any of the rendersize coordinates is 0, the size of the window will be used instead.
  • JSFX: add support for showing feedback for control changes, for e.g. analysis objects.
  • Avnd: support for mapping functions to enable log-like knobs & things like that, as well as for multichannel FFT
  • Avnd: QPainterAdapter improvements from @ErkEntonio
  • Bugfixes:
  • Fix issue with Faust processes possibly giving loud pops
  • Fix that the GUI would refresh much more than necessary, using a lot of CPU
  • Many small performance fixes and improvements to the audio engine
  • Dead code removal
  • Fix a potential crash when closing a document
  • Fix sample rate not always being updated with soundfiles when changing the global audio sample rate
  • Expressions: fix that some where missing the fs variable to access the current sample rate
  • VST: accept inputs of any type by using convert instead of only handling floats
  • Do not try to load sound files that are directories or not readable
  • Mapper: make callbacks unique to fix a crash
  • Fix various issues related to objects not being able to be removed
  • WASM: disable GL as it caused a black screen
  • Control surface: Implement adding nodes during execution

New in Ossia Score 3.0.9 (May 21, 2022)

  • Bugfixes:
  • Fix VST3 resizing
  • Fix VSTs showing duplicated if /usr/lib is a symlink to /usr/lib64 on Linux
  • Fix a potential crash when closing a score while inside a nested scenario
  • Change Faust to use double-precision processing like everything else
  • Performance improvements: use boost::container::vector in more places to reduce the initialization cost
  • Allow using alloca in JIT process on Windows
  • Fix mapping of data copied through value ports
  • Fix for ISF shaders that assumed that they were being rendered on a quad (score used to render them on a single triangle).
  • This only applies for shaders without any vertex shader defined.
  • Fix that dropping an invalid video file would crash
  • Automation fix for int addresses
  • Fixes for Qt 6 support (not finished yet)
  • Fixes for GCC 12 (WARNING: it is not supported yet due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105683)
  • Fix crash when adding an Images process
  • Value display: fit in rect for long values
  • Fix that smoothing did not work for some inputs
  • Fix an issue when dragging the mouse on the step sequencer's right

New in Ossia Score 3.0.8 (Apr 19, 2022)

  • Bugfixes:
  • Reenable Faust which had mistakenly been disabled in 3.0.7, oops (#1389)
  • Fix build for various older and newer Linux distros (e.g #1392)
  • Multiple Linux fixes for plug-ins, e.g. VST3 was not available through the AppImage until now (#1390)

New in Ossia Score 3.0.7 (Apr 17, 2022)

  • [update] v3.0.7
  • [midi] Fix that selected notes were not cleared upon deletion data model reset
  • [midi] Fix notes not updating after rescal
  • [video] Replace hard assert by soft assert in Graph::addEdge.
  • [musical] Fix that setting time signatures was broken
  • [ci] Fix unity build of _avnd
  • [settings] Remove the forced exec settings to allow manual override through settings file
  • [avnd] Fix small build issues, give it its own pch
  • Try to enable avnd in every case which works
  • [avnd] Build it with win32

New in Ossia Score 3.0.6 (Mar 25, 2022)

  • New features:
  • Added trigger auto-select on user creation (thanks @RobinMontferme !)
  • Autoscroll learn dialog on new message (thanks @RobinMontferme !)
  • Internal: added support for Avendish as a plug-in format - no plug-ins yet though.
  • Bugfixes:
  • Fix some thumbnail memory leaks when resizing the slots when there is a video (thanks @yiids for noticing !)
  • Fix the issue where on some Linux distros with some OpenGL hardware, the app would crash on start with some GDK errors
  • Reduce the number of repaints & updates in the ui
  • [wip] Re-allow editing automation points through the inspector
  • Lot of work on improving compile times
  • Minor typo fixes

New in Ossia Score 3.0.5 (Mar 9, 2022)

  • 43d8d82 [ci] Fix issues
  • 13c9ad7 [serial] Add missing default case
  • a47453b [protocols] Refactor asio device closing
  • 979f091 [serial] Remove debug log leftovers
  • 570364d [serial] Port to ASIO, add new features to allow working with binary messages & raw streams
  • 29db0ed start copy and paste for midi notes
  • 6900a1d [selection] Handle a corner case more gracefully
  • fc66fa2 [Copy] missing include
  • 4240d80 [ui] Node multi-move
  • 2aae677 [ui] Multi-selection for nodes
  • 8718e31 [ui] Refactor cable copying ; finish process copy-paste in nodal view
  • 30a0a0b [library] use completeBaseName in more places
  • cab779c [docker] Update linux image to rockylinux:8, add pipewire headers
  • 7248d18 [library] use completeBaseName instead of baseName since there are a lot of things with dots in their names
  • 6d96993 [shmdata] Do not copy textures when nothing is being rendered

New in Ossia Score 3.0.4 (Feb 24, 2022)

  • Changes:
  • B1cd9c3 v3.0.4
  • 5df939f [spout] Support enumerating inputs
  • 88d7e8c added a way to disconnect multiple devices at once
  • A811e5b [curve] Finish curve copy-paste
  • D277976 [wip] Curve copy-paste, also refactor a bit the paste API
  • A81eedc [ui] Fix scaling of splash screen on Qt 6
  • C6c84d0 [ui] Fix scaling of splash screen. Fix #1241
  • 8da5c3e [wip] Copy-paste of nodes
  • 1eb1720 [ui] Defocus when clicking in the background in the nodal view
  • 65747e5 [nodal] Do not submit a command if the node did not move
  • 4d81ec3 [nodal] Deselect when clicking on the background
  • 08c65dc [spout] Fix wrongly overloaded method
  • 14156ad [syphon] Implement input enumeration
  • 74f9c95 [gfx] Fix that preview widget did not remove its nodes
  • B2ff533 [gfx] Improve the preview window rendering, make it not halt the rest of the rendering
  • 316bc9c [shmdata] Refactor with the other sharing protocols
  • D79a58c [ci] Try to fix Arch workflows
  • 255ac17 [ci] Only enable objcxx on apple platforms
  • 285a72f Pass dos2unix everywhere
  • 2d66e9b Fix crlf endings
  • 6312276 [syphon] Implement input
  • 4f4b7c5 [syphon] Add Syphon output
  • E31ebb3 [ci] Add include that had disappeared
  • Bba5111 [gfx] Refactor a bit
  • 2b491b0 [spout] Support input resizing
  • Dfc8f26 [spout] Add a Spout input device
  • F3ddc40 [spout] Update embdedded Spout version
  • B839a96 [gfx] Reinstate Spout output
  • A1e69f1 [exec] Fix broken cable connection at runtime
  • 83702a3 [shmdata] Add framertate in the gstreamer info line
  • F78a7ad [gfx] Add a preview widget for output ports
  • 27e7d52 [inspector] Improve the process inspector UI
  • Bf290ab Fix minor issues
  • A9eb37b [ci] Fix bad CMake condition
  • Fb58fff [GL] Add a failsafe that will stop score from trying to start with opengl if it crashed during startup
  • 771ef45 [wip] Add a PipeWire backend and refactor the audio engine to make things more async
  • 92c9f4d [midi] Fix entering the copy-paste thing
  • 7793194 [ui] Greatly improve library performance with many files by using a custom icon provider
  • 6e7d706 [ui] Add a timer to update the timebar regularly when GL does not drive the UI [ #1357 ]
  • E7f3c84 [ui] Do not make the gui duration smaller
  • 18755aa [audio] Revert to portaudio by default on linux
  • 61a61de [ci] Try to fix templates workflow
  • 0222e02 [exec] Do not autotrigger things if they do not have any visual trigger
  • 3bd5006 [exec] Fix that play-from-here past the end trigger of the root interval did not work
  • 11a88ee Update readme with better release stats
  • D89d6ee [ui] Allow infinite dezoom. Fixes #444
  • 2075972 [ci] Add missing include
  • C222c7a [macos] Fix that the focus would be lost on macOS after adding an oscquery device
  • 8458845 [spline] Add double-click to remove a point
  • 75825b5 [curve] Refactor to use the same deletion mechanism than the rest
  • 733f65f [midi] Do not send undo commands when clicking on a note without moving
  • De2407f [ui] Refactor the way copy/paste is handled
  • 4bf9c3c [splash] Create a new document when closed by esc
  • 00c8b3e [ui] Auto-scroll improvements
  • 962d0a2 [video] Esthetic improvements to video inspector
  • 9dac9fc [js] Fix some remaining live-code issues

New in Ossia Score 3.0.3 (Feb 12, 2022)

  • New:
  • Console: Add Score.readFile(...) to read a data file in JS (#1337 !)
  • Official releases on Mac and Linux now build with an updated Harfbuzz (in a hope to solve spurious crashes that look like they have been fixed in recent versions, up to now it used Qt 5.15's bundled version which is out-of-date by a few years). Windows will follow.
  • Linux now has subpixel AA by default which gives much crispier fonts on the release (above is without, below is with subpixel AA)
  • Fixes:
  • Detect and disable OpenGL on llvmpipe systems, which fixes a startup crash on some Linux distros especially when running in VMs.
  • Fix that the tempo points could not be changed from the inspector (thanks @featherfurl for reporting !)
  • Fix various typos in the source code (thanks @luzpaz !)
  • Video: use avformat_seek_file which seems to work better than av_seek_frame to seek in video files.
  • Video: take start offset into account.
  • OSC: fix that the OSC version (1.0/1.1/Extended) was not being saved
  • Fix an error when changing a control after changing a time signature due to the undo/redo command not being completed.
  • Fix that the edit dialog would sometimes come up when trying to add a new device.
  • Fix a potential issue when reloading after a crash where an OSCQuery device had been created and deleted.
  • Fix that the Linux release was building without PortAudio and ALSA support which limited its compatibility greatly.

New in Ossia Score 3.0.2 (Feb 5, 2022)

  • New features & changes:
  • Improvements to the package manager (thanks @thibaudk who pretty much entirely rewrote it. More to come !).
  • Implement auto-scrolling during playback (in the view menu). It will follow either the main interval if nothing is selected or the selected interval otherwise. Please make issues if you see any improvement that could be made !
  • Add the ability to scrub intervals through the tempo process's third inlet
  • Add new console features, reinstate live scripting from js.
  • Video process: implement multiple scale modes (stretch, fit, original size...), in the inspector
  • Bugfixes:
  • Fix reloading of shmdata output devices
  • Various build fixes when using LTO (thanks to @ycollet for helping evidencing them)
  • Make Tempo curve disabled when the ports are used to control speed explicitly. Fixes #1332 (thanks @thibaudk !)
  • Fix VST3 plug-in scaling when score has a zoom setting different from 100%. (Issue is not fixed yet for VST2 / LV2).
  • Fix cables being offset when the source or target port have different scales.
  • Fix readbacks of GPU textures for shmdata and others.
  • Refactor and improve camera input, allow to share a single input across multiple nodes.
  • Fix that live edition of shaders would disconnect cables.
  • Add a trivial fft implementation for when neither KFR or FFTW are available.
  • Fix passing multiple positional arguments on the command line, such as ./ossia-score foo.score -platform vnc --autoplay
  • Image process: Keep the previous renderer by default for now
  • Fix crash when removing an interval while it is the one at the root of the execution
  • WIP on fixing texture and device coordinates across GPU backends... a hard task, help wanted.
  • Fix that image being dropped on the score were not put in cache, leading to them being reloaded twice for no good reason. Thanks to @josephlarralde for noticing a lot of bugs and issues in there
  • Fix files with names such as "foo..wav" not loading (thanks @josephlarralde)
  • JIT: Cache factories and fix a serialization bug for copy paste
  • Fix video rendering logic by putting the frame pulling in the node instead of the renderer

New in Ossia Score 3.0.0 (Jan 14, 2022)

  • New features:
  • JSFX support available on Linux / Mac / Windows releases.
  • Many new functions in the JS console to serve generative needs. See https://vimeo.com/662325572 for an example.
  • Fixes & updates:
  • Processes names have been reorganized a bit in categories. Audio plug-ins are now in a "plugins" category, as many plug-ins aren't audio effects or instruments, but for instance midi <-> midi, etc. Likewise, "Mappings" was put under "Control"
  • Add various missing licenses in the About dialog.
  • FFT with KFR will now use AVX, etc.. if available.
  • Ton of build fixes for various platforms
  • Update VST3 SDK to latest version.
  • Appveyor disabled until we have some time for fixing MSVC (and someone actually asks for it)
  • Save / reload for LV2.
  • Various fixes for VST.
  • Linux builds are now done under centos:8 (soon rockylinux:8).
  • Various accuracy fixes for Looper.
  • Various fixes for analysis plug-ins. Added a small filter as input to the pitch detector which makes it much more accurate
  • Fix support for some formats with shmdata.

New in Ossia Score 2.5.2 (Aug 26, 2019)

  • Some audio plug-ins being too small in Nodal and Effect Chain.
  • Crash when removing a process from a loop interval during execution.
  • Fix sound files not playing when being added during execution.
  • Fix process height in loops which was not pixel-perfect.

New in Ossia Score 2.5.1 (Aug 23, 2019)

  • New add-ons - included directly in the release !:
  • New Nodal add-on which allows to organize processes in a modular patcher. All processes are supported - automations, scenarios, you name it.
  • Nodal
  • New ControlSurface add-on. Allows to control parameters in the device explorer while the process is running - simply drag them from the explorer to the process.
  • Control:
  • New RemoteControl addon. Allows to control triggers through a web browser or websocket-compatible hardware or software.
  • Remote
  • The remote API currently allows to set triggers, control transport, send messages to devices, and is going to be expanded to more control abilities in future releases such as showing the controls of the ControlSurface add-on.
  • It has to be manually enabled inside the settings before being operational.
  • An example of Javascript usage is given here : https://github.com/OSSIA/score/blob/master/src/plugins/score-addon-remotecontrol/js-remote/remote.html
  • API documentation will come soon.
  • New features:
  • Small view for racks with processes
  • Reworked skins (Thanks @aklevy). Note that the skins have been migrated to the user library
  • New style for ports : empty for input, full for output
  • New style for LFO process & math expression processes
  • New style for sliders
  • Some processes will now have pretty knobs like LFO
  • Reworked interval looks : output ports are now at the bottom of each process
  • Score won't get stuck anymore if the audio thread does not respond (happens sometimes on Linux with ALSA & PulseAudio)
  • Many performance improvements in the GUI
  • Autoplay command line features now supports a delay : ./score foo.score --autoplay --wait 5 will now start playing after 5 seconds.
  • Bug fixes:
  • #939
  • #959
  • #961
  • #965
  • #966
  • #968
  • Various font fixes
  • Effect chain bugfix
  • Many improvements on soundfile process rendering
  • Fix reloading of some Faust effects

New in Ossia Score 2.4.1 (May 30, 2019)

  • New features:
  • Useful keyboard shortcuts for navigation :
  • In a scenario with the navigation keys (up, left, down, right).
  • To the parent interval with ctrl + alt + up.
  • New minimap style (thanks @aklevy).
  • Readme improvements (thanks @aklevy).
  • Speed slider : right click allows to set the value precisely, ctrl + right click allows to reset it to 1.0
  • When playing a single state, it will now briefly flash in green.
  • Useful keyboard shortcuts (available in View menu) : unroll (ctrl+alt+U) and fold (ctrl+alt+F) all intervals with a rack.
  • Bug fixes:
  • Fix fonts not being pretty at all on Windows.
  • Fix VST parameters sometimes not being saved.
  • Fix some crashes introduced in 2.4.0
  • Fix MIDI note selection in the piano roll
  • #928 #945 #958

New in Ossia Score 2.4.0 (May 16, 2019)

  • Big UI refactor:
  • Header style revamped (thanks @aklevy)
  • Much more things are shown on hover (headers, triggers, state creation little '+' (#433) etc)
  • Many many small UI inconsistencies fixed - bad click areas, etc
  • Intervals will now display a speed slider in their header when playing (#658)
  • Intervals will now be grayed out when muted
  • More vibrant green for execution color
  • Colors are now set for the whole interval - slot headers and slot text are adjusted
  • Events & timesyncs go through the whole height of intervals now which make execution clearer. (#568)

New in Ossia Score 2.3.1 (May 8, 2019)

  • Fix a minor execution bug that crept in 2.3.0

New in Ossia Score 2.3.0 (May 8, 2019)

  • New features:
  • It is now possible to choose the desired behaviour for off-time triggers : either triggering them stops and restarts the subgraph immediately, or it stops the subgraph and will only restart it after a new triggering. This choice is done in the trigger inspector.
  • Proper resampling support with sound files.
  • .wav files in the sample rate of the project will now be read directly from disk instead of being put in memory. Some heuristics could be improved but it's a start :-)
  • Waveforms are now cached which greatly improves UI performance with many soundfiles.
  • Add a setting to enable / disable the fact that mono soundfiles are output as stereo by default.

New in Ossia Score 2.2.1 (Apr 16, 2019)

  • Allow to change panels width again (#935)
  • Triggers & conditions are now shown in blue when selected.
  • Pressing suppr / backspace when a trigger / condition is selected removes it.
  • Better handling of relative paths in sound files.