The 2.5.0 Release of ZynAddSubFX is now available.
This release is mainly focused on fixing some of the core architectural flaws
that have historically existed.
As a result this release should behave much better under jack and interfacing
with the realtime side of things is *much* easier now.
To give a qualitative feel of how much has changed, git diff --stat indicates
that around 27k lines of code have been added in this release with just 2k
lines of code between with the two previous releases.
Additionally the callgraph of the realtime safe hazards can be seen in two
green nodes are functions which are annotated realtime
red nodes are realtime functions which call a possibly unsafe function
black nodes are possibly unsafe functions
Both images were generated via https://github.com/fundamental/stoat
As can be seen, the number of faults in 2.5.0 boils down to one remaining set
of memory allocation issues and a few mostly harmless printfs, whereas 2.4.4
had numerous deeply ingrained issues.
While that aspect might not be of much interest to general users, exposure of
virtually all parameters over OSC and experimental MIDI learn may be.
To try out the MIDI learn, simply use middle click on a knob/slider
and then feed in a midi CC and the system will attempt to create a binding
out of the two.
- Add Rtosc
- Add tlsf RT Memory Allocator
- Add --dump-oscdoc Flag
- Add OSC API
- Add Jack-OSC Support
- Add MIDI Learn
- Add Undo/Redo
- Add Multi-Out JACK Engine
- Add Multi-Out OSS Engine
- Add Top Level Window Icon
- Add OSS env Vars MIDI_DEVICE/DSP_DEVICE
- Add OSC port/PID file
- Remove Master::mutex
- Remove Almost All RT Unsafe Actions
- Disable (temporarily) DSSI
- Disable (temporarily) Copy/Paste
- Massive Internal Refactoring
##zynaddsubfx on FreeNode
Enjoy and please report bugs,