Releases: ossia/score
v3.0.1
New features
- JS: add a Device.system method to run system shell commands
- JIT: log more errors and give line numbers when an error occurs
Bugfixes
- VST: Replace assert by softer safety check in case of missing plug-in
- Magnetism: Add a safety in case some magnetism value ends up negative
- Magnetism: Fix magnetism in sub-scenarios
- Protocols: Multiple protocols fix in libossia when opening multiple documents (joystick and artnet)
- Performance: Optimize curve rendering by caching common powers
- Performance: Do not translate some strings as they show up in perf traces for now
- Performance: Cache some texts that were being unneededly re-rendered
- Various small code tidyings and fixes
- VST3: Fix Vital loosing parameters upon save...
- Midi: workaround some issue when dropping a midi and putting it in loop if there is already a nodal
- LV2: Initialize sample rate correctly
- UI: Various improvements for musical bar display
- UI: Do not create connections between inlets when double-clicking from the process library
- Rename Value Filter into Smooth as it is shorter and more specific
- Refactor Micromap and normal mapping, add a po / pov variable and pa/pb/pc to access the previous output and previous values for a,b,c
- 2D spline: Improve rendering smoothness of playback
- JIT: Add rnd to jit in debug build to give access to a fast random value generator
- Math expression: fix wrong samplerate for audio
- UI: fix incorrect preset indexing
- Optimize binary size by disabling some unused features in fmt
v3.0.0
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.
v3.0.0-rc7
New features
-
Add support for JSFX (Reaper) plug-ins through the ysfx library. Note that this is not part of the release yet and has to be built from source.
-
VST: controls being created for plug-ins with large amounts of controls is now opt-in with a new button in the inspector:
This is going to be extended to other plug-in APIs soon.
- Pattern sequencer: visual feedback
- Image process: wip: allow to tile input images
- Value generator: allow to return arrays
- WIP on new console functions for creating automations programmatically
- [Linux only] Support shmdata as a way to send / receive video frames between applications.
- Audio analysis plug-ins merged into score directly: pitch recognition, onset detection, etc. are now all available out-of-the-box, thanks to the Gist library !
- Add a Leapmotion device. Note that this is not part of the release yet and has to be built from source.
- Allow to control the UI execution update rate (rate at which the UI reads the new state from the execution engine).
- Micromap: support input of array types with
xv
/pxv
variables. - JIT: Automatically create controls with the information available.
- MIDI: Added note deletion using the Delete Key for Piano Roll plugin. Thanks @RobinMontferme !
Bugfixes & changes
- VST: many small compatibility fixes from trying various plug-ins. Also always set a stereo speaker arrangement until we find a better way of handling that.
- LV2: small correctness fix
- FFT can now use KFR instead of FFTW which makes it easier to build in some cases
- Main tempo is now saved correctly
- Various buffer allocation optimizations
- Fix image loading when a palette is used
- Optimize image loading for image process
- Looper: add a small fade-in / fade-out
- Looper: fix blank output when switching to an empty input
- Fix process name when creating with drag and drop
- JSFX: fix ports created at the wrong place
- Cables will now always be shown at the same hierarchy level
- Fix corner cases for musical quantization
- Minor qt6 fixes
- Refactor and fix infinite scrolling for ui widgets
- Various drag'n'drop fixes
- Fix that nodal view execution position had disappeared
- Various video pixel format fixes, e.g. for ARGB, YUYV and YUV422. Support more formats being decoded on the GPU.
- Library: support for subcategories in processes.
- The old envelope plug-in is now deprecated. Use the new ones which support gain adjustment.
- Refactor rescaling and camera input and fix many bugs in the process.
- Various drag'n'drop improvements.
- Fix issue when hitting ctrl-c when no document is loaded.
- Refactor the viewport bounding code.
- JIT: Add seemingly missing flag for EH handling.
- JIT: Preserve ports when editing script
- MIDI: handle note selection properly
- Linux: Fix startup crashing under offscreen Qt QPA, useful for gui-less on small underpowered SBCs.
- UI: Improve comboboxes
- Fix that adding processes through the library would add them to every document.
Special thanks
- @VastareMetal for testing the JIT process in-depth and reporting many bugs.
v3.0.0-rc6
New features
- Allow to create after a selected process or port by double clicking in the library ; the newly created process will be selected. If there's an address, it will be moved to the output of the new process.
example-ports.mp4
- OSC device: allow to create addresses with paths and brace expansion
example-expansion-osc.mp4
- New processes (thanks @thibaudk !) : Value Filter and Rate Limiter. Value Filter allows to apply various smoothing algorithms (1€ filter, lowpass, average, median). Rate limiter allows to limit the rate of incoming values.
example-value-filter.mp4
-
Mapper device: allow to use the
[{address: "foo:/bar", value: 123}]
syntax as output ofread:
to be able to output to any address in the tree. -
Serial device: allow to select baud rate (thanks @thibaudk !)
-
WIP on libmapper support.
Bug fixes
- Improve drag and drop area on intervals
- Fix selection of intervals below the max bound of another interval
- OSC: properly reload ports & settings from exported devices
- Accessors are now correctly handled in automatic mappings, e.g. setting
window:/cursor/absolute@[position.cart2D.y]
in a slider will apply the whole range of the y axis of the window to the slider. - Add a lot of missing tool-tips (thanks @thibaudk !)
- Fix a small issue in window device deletion
- window: give a domain to the parameters such as cursor position, etc.
- Fix that opening a newly created interval in full view was super zoomed
- Fix that info panel text would disappear after a few seconds
v3.0.0-rc5
New features
- Holding Alt when dropping something in a scenario will disable the automatic creation of an interval, which is useful for doing more "live" stuff.
- Windows: should support back to Windows 7 again (note that the Windows update have to be done for the ucrt: https://support.microsoft.com/en-us/topic/update-for-universal-c-runtime-in-windows-c0514201-7fe6-95a3-b0a5-287930f3560c
Bugfixes
- Fix that a drop would sometimes end up at the top of the score instead of the mouse position in the Y axis.
- Fixes for loading externals in the Pd integration. Note that externals must be built with
#define PDINSTANCE 1
for this to work ! - Fix off by one error in bar computation
- Pd: look for externals in the folder of the loaded patch
- GFX bugfix when removing a window
- Fix issues where a deleted item could still be shown in the inspector, leading to... complications
- Various build fixes on various platforms
- Allow to build against Qt 6.2 directly on Arch since it now provides all the required libraries
- ALSA: fix period count to support RPi Audio Injector Ultra
- Mapper: use floats even in the int case. Fixes #1085
- Fix issue when removing an OSCQuery device. Fixes #1317
- Various LV2 bugfixes on Ubuntu 20.04 (#1319)
- Compatibility with latest PortAudio CMake
- PureData: use port metadata to allow automatic mapping
- Disable GL if only OpenGL 1.1 is available (don't laugh)
- CI: Use Big Sur / Xcode 13 for building macOS
v3.0.0-rc4
Bugfixes
- Fix some issues with audio buffer allocation
- Fix building on a system that has Lilv and Suil but not LV2.
v3.0.0-rc3
New features
-
Automatic mapping between parameters from the explorer and controls.
That is, assigning a MIDI CC (0..127) to a VST (0..1) or Faust (20..20000, -1..1 or anything really) parameter will automatically scale to the correct target range. See https://vimeo.com/647930195 for a demo. -
Simplified version of the LFO to take that into account.
-
New "Value display" process to easily see the value of something in the score.
-
Recenter-and-fit option in nodal view to show things at 1x zoom.
v3.0.0-rc2
New features
- Linux (experimental): add a direct ALSA implementation for some special hardware
Bugfixes
- Many CI fixes
- Fix issues when scanning VSTs
- Fix a note off bug with the Arpeggiator processor
- Fix that ArtNet universes weren't handled
- Fix a rare crash with Pd process
- Fix that intervals after a graph node looping back to the beginning of a trigger would get stuck
- Fix various issues when editing a faust DSP in a way that changes ports
- Improve VST2 compatibility
- Fix an error when a vst could not be instantiated
- Editing devices: prevent changing the protocol used
- Handle nodes that did not create their renderer (#1313)
- Fix an invalid factor in triangle waves in LFO (they had too much amplitude)
- Fix a lot of warnings
- Improvements to context menus
- Imrpovements to add-ons being JIT-compiled
- Compatibility with FFMPEG 4.4 and LLVM 13
v3.0.0-rc1
New features, changes
- New bigger and more readable icons for presets and showing plug-ins & script UIs (thanks @aklevy !)
- Show a warning if a file could not be saved due to insufficient permissions or stuff like that (thanks @aklevy !)
- Inspector : use same name in widget and in object tree (thanks @aklevy !)
- Add help tips in a lot of places in the central view
- Remove the add process "+" button ; use the library instead (or drop content directly !)
- Add support for pinch-to-zoom for instance on Mac touchpads
Bugfixes
- Fix issues with some network updates being done in two threads at the same time causing crashes
- Fix that window device settings did not reload
- Fix various timing issues due to bugs in the quantization code, for instance with the pattern sequencer.
- Fix issues with the trigger quantization logic which wasn't correct
- Fix issues when using the "play from here" feature (the start of the score would also start playing since b5 due to a change in the execution engine)
- Fix various issues with vst3 support, add support for MIDI pitch bend, and channel aftertouch.
- Fix issues when merging events in a chain of intervals
- Fixes for scrolling which should now correctly follow system settings
v3.0.0-b9
New features
- Two processes are added to convert a pair of LSB/MSB MIDI CC into a high-res value and conversely (
Midi hi-res input
/Midi hi-res output
). - Add a lot of status information in the score elements to improve documentation.
Bugfixes
- Improve timing accuracy for video playback
- Fix #1295 (Thanks @thibaudk !)
- Fix #786 by simplifying the execution settings which were pretty much unused anyways
- Improve detection of local IPs for ArtNet
- Fix an issue with the first ports of some processes not being able to change their address during execution of the score.
- Fix a rare crash when switching to nodal mode.
- Save the git commit and tag used in the save files (Fix #1280).