New features
-
Avendish plug-ins: support for FFT input ports
https://twitter.com/jcelerie/status/1517818996661399552 -
Avendish plug-ins: support for soundfile input ports ; @bltzr is using it to cook an upcoming granulator =)
https://twitter.com/jcelerie/status/1516785899413151749 -
Virtual MIDI devices on platform which support it (thanks @RobinMontferme !)
-
Allow GPU nodes to have control outputs, which enables nice things like performing a
computation on the GPU with a compute shader, and getting back the data on the audio processing path:
an example has been done with YoloV5 for object recognition on the GPU: https://vimeo.com/711256381
This object is not yet part of the release but will likely happen soon along with other fun GPU stuff :-) -
Allow to register JS scripts (using the same API than the console) that will show up as actions in the menu:
https://vimeo.com/711841390
Here is an example of such a script which allows to randomize a process: https://github.com/ossia/score-user-library/blob/master/Scripts/Randomize.mjs -
Console: add Score.selectedObject() and Score.selectedObjects() methods to get the current selection in scripts
-
Faust will look for libraries in /packages//library/<faust .lib files here>
This allows to support new Faust add-ons: for instance, the package manager will allow to download https://github.com/alainbonardi/abclib,
a library for sound spatialization and mixed music Faust objects developed by @alainbonardi (thanks !) -
A few new presets in the user library - auto-update isn't implemented yet so do not forget to update ! https://github.com/ossia/score-user-library
-
Add the ability to save presets by click-drag-drop from a little preset's folder icon to the system & project library panes
-
Math expressions: added a new
noise(input, octaves, persistence)
function which provides @Reputeless's Perlin noise implementation
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