Skip to content

Releases: ossia/score

v3.0.11

13 Jun 22:38
Compare
Choose a tag to compare

New features

  • Added tablet input support to Window device (thanks @hamoid for the idea !) ; pressure, rotation, tilt, z-axis are supported.

  • Experimental and preliminary: add the Network plug-in to the releases. This adds collaborative edition and execution features :-)

  • Restrict speed slider to positive values as some processes don't support backwards speed correctly... patches welcome 🍡

  • Allow to add processes to the score by double-clicking them in the preset list

  • Breaking change: LFO's random is now seeded from an outside source [ #1412 ] versus all the LFOs using the same random seed until now.

  • Experimental: add the ability to set a start time point from which transport will always start, by clicking in the top bar.

    • When this is set, pause / play will restart from that point as it is mainly to simplify working on a score

start

Bugfix release

  • Fix cracks and noises with the gain process
  • Port the WASM build to Qt 6.4: it now supports drag'n'drop !
  • Fix some issues found through scrubbing with ASAN, UBSAN and libstdc++'s debug mode
  • JSFX controls will now correctly map parameters according to their range
  • Fix a potential crash when deleting a GFX object
  • Video: do not try to display invalid frames
  • ExprTK: fix that varying number of channels as audio input would not work
  • Fixes for building with Qt 6.4 and LLVM 15
  • Fix that the dataspaces were not respected in control surface (thanks @capital-G for the report!)
  • Fix that moving nodes while dezoomed was not applied at the right scale
  • JS: implement state.timings() method to get accurate timings. See the updated sine.qml in the library
  • Do not redraw waveforms if the pixel zone is too small
  • Fix wrong inversion of viewport that had occured by mistake in 3.0.10

v3.0.10

05 Jun 19:44
Compare
Choose a tag to compare

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

v3.0.9

21 May 17:51
Compare
Choose a tag to compare

New features

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

Various

  • Big variant refactor, to use mpark::variant everywhere as std::variant is problematic on macOS
  • Internal libpd / Puredata implementation updated to 0.52-2 ; in particular opening and closing Pd UIs seem to work better.
  • CI updated to macOS Monterey
  • CI for Qt 6 on macOS with Homebrew

v3.0.8

19 Apr 12:42
Compare
Choose a tag to compare

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)

v3.0.7

17 Apr 10:16
Compare
Choose a tag to compare

IMPORTANT KNOWN ISSUE

Due to a release mistake, Faust support was not enabled in this release. 3.0.8 will come out shortly with the fix.

New features

  • A stable plug-in API through Avendish! It took years of work but there is finally an API that is guaranteed to stay stable as long as C++ compilers exist thanks to the entirely declarative paradigm used, all while enabling the back-end to keep evolving to offer continuously improving performance. Documentation is there: https://celtera.github.io/avendish ; support for JIT-compiling these is a work-in-progress and should already work in simple cases. As an added bonus, plug-ins written against this API will also be portable to other environments, such as PureData, Max, VST...

    • It allows to write both CPU and experimentally GPU processors
    • Entirely custom UIs are possible
    • More features will be added over time ; thanks to the reflection-based design it can be done without breaking existing code.
  • The DNSSD implementation will now check that Bonjour (on Windows) and Avahi (on Linux) are running, to prevent slow timeouts when they are not.

Bugfixes

  • Multiple MIDI bugfixes (#1384 #1386)
  • Fix some eager asserts causing crashes in video process (#1377)
  • Fix that setting time signatures was broken (#1383)
  • Reallow to change advanced execution settings through the config file
  • Fix that the Linux AppImage would sometimes not start on Linux due to GDK woes (https://gitlab.freedesktop.org/xorg/xserver/-/issues/1330)
  • Be more lenient when loading a bad scenario and try to recover things a bit
  • Fix that the position of comment blocks was not mapped correctly (#1379)
  • Fix that nodes would stay selected if clicking on a port
  • Lots of work on improving compile times

Thanks to @simonArchipoff for his first contribution and @RobinMontferme for the ongoing MIDI improvements ! :)

v3.0.6

24 Mar 18:32
Compare
Choose a tag to compare

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

v3.0.5

08 Mar 23:57
Compare
Choose a tag to compare

New features

  • Serial protocol is now able to process either text or binary messages, or custom binary streams. Multiple framing options are implemented ; the user also has the option of handling the framing entirely from the script. Here is the documentation: https://ossia.io/score-docs/devices/serial-device.html ; thanks to @thibaudk for work on this !
  • Copy-and-paste for MIDI notes (thanks @RobinMontferme)
  • Copy-and paste for automation points
  • Copy-and paste nodes in nodal view
  • Allow to move multiple nodes in nodal view

Bugfixes

  • Fix a small regression which sometimes showed an error message when clicking on a cable
  • Show entire names for files in library when the file has a dot in the name, e.g. foo.1.wav will now show up as foo.1, not foo.
  • shmdata: do not copy textures when nothing is being rendered

v3.0.4

24 Feb 15:08
Compare
Choose a tag to compare

New features

  • Official Spout and Syphon support for both video input and output :-)
  • Ability to connect / disconnect multiple devices at once (thanks @RobinMontferme !)
  • Ability to copy-paste parts of the curve in automation curves #1074 #1364
  • Spline: double-click on a point now removes it
  • (work-in-progress) copy-paste of nodes
  • (experimental) Live preview widget in the inspector for video processes
  • (experimental) Direct PipeWire audio back-end on Linux. For now score needs to be built from source.
  • When quitting the splash screen with "Esc", an empty document will be created as the previous behaviour was confusing.

Changes

  • Do not autotrigger things anymore if they do not have any visual trigger enabled. For instance this could happen if copy-pasting the first elements of the score and hitting play, as the first state was considered a root of the score (and this state is being copied). This has proven to be confusing. To keep non-root parts of the score auto-playing on start, simply add a trigger with a "True" condition.
  • (experimental) a big part of the audio driver interaction has been rewritten to make things more asynchronous. The dreaded "Audio engine stuck" pop-up should be a thing of the past, but there is the possibility of corner case bugs which may have crept in.

Bugfixes

  • Fix scaling of the splash screen with non-integer zoom levels (e.g. 150% zoom). #1241
  • Do not submit undo/redo command if clicking on a node without moving it.
  • Allow to deselect things in nodal view by clicking in the background.
  • Fix issues with broken cable connections when editing at runtime
  • Fix that shmdata outputs did not send the framerate info to GStreamer
  • Improvements on the inspector UI
  • Add a failsafe that will stop score from trying to start with opengl if it crashed during startup.
    If the file "failsafe.bit" exists in the score configuration folder, e.g. ~/.config/ossia, then score won't try to start rendering its UI with the GL paint engine.
  • Many improvements on the library performance.
  • Add a timer to update the timebar regularly when GL does not drive the UI (#1357) and fix some other UI bugs when not using OpenGL
  • Fix that play-from-here past the end trigger of the root interval did not work
  • Allow infinite dezoom. Fixes #444
  • Fix that the focus on the score window would be lost on macOS after adding an OSCQuery device, requiring an alt-tab to get focus back.
  • MIDI: Do not send undo commands when clicking on a note without moving
  • Improvements to auto-scroll
  • Improvements to the video inspector
  • Fix some remaining live-code issues with the JS process

v3.0.3

12 Feb 10:22
Compare
Choose a tag to compare

New features

  • 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):

image

Note that in case of a non-RGB monitor, this can be toggled through the QT_SUBPIXEL_AA_TYPE environment variable (RGB, BGR, VRGB, None...).

  • Exit button on the splash screen (thanks @aklevy and @RobinMontferme !)
  • Ctrl-Alt-N shortcut for switching between nodal and timeline view.
  • The release should work again on macOS High Sierra (10.13).

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.

Also big thanks to @JoaoSvidzinski who helped find many small bugs and issue over the course of three days this week !

v3.0.2

05 Feb 14:24
Compare
Choose a tag to compare

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