update CHANGELOG.md

This commit is contained in:
5684185+vsariola@users.noreply.github.com 2023-09-24 11:20:20 +03:00
parent 00850c8001
commit ee2c83e2cb

View File

@ -5,46 +5,65 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## Unreleased ## Unreleased
### Added ### Added
- Support for gm.dls samples in the go-written virtual machine
- Ability to lock delay relative to beat duration
- Ability to import 4klang patches (.4kp) and instruments (.4ki)
- Ability to run sointu as a vsti plugin, inside vsti host
- Saving and loading instruments - Saving and loading instruments
- The repository has example instruments, including all patches and
instruments from 4klang
- Non-platform native file save and load dialogs, for more reliable
support across platforms
- Comment field to instruments - Comment field to instruments
- Ability to reorder tracks - Ability to reorder tracks
- Add menu command to delete all unused data from song file - Add menu command to delete all unused data from song file
- Ability to search a unit by typing its name
- Ability to run sointu as a vsti plugin, inside vsti host
- Ability to lock delay relative to beat duration
- Ability to import 4klang patches (.4kp) and instruments (.4ki)
- The repository has example instruments, including all patches and
instruments from 4klang
- The compiler templates are embedded in the sointu-compile, so no
installation is needed beyond copying sointu-compile to PATH
- Ability to select multiple units and cut, copy & paste them
- Mousewheel adjusts unit parameters
- Tooltips to many buttons
- Support for gm.dls samples in the go-written virtual machine
- x86 and C written examples how to play a sointu song on various
platforms. On Windows, the examples can optionally be linked with
Crinkler to get Crinkler reports.
### Fixed ### Fixed
- Unnamed instruments with multiple voices caused crashes
- In the native version, exceeding the 64 delaylines caused crashes
- wat2wasm nowadays uses funcref instead of anyfunc
- In the WebAssembly core, $WRK was messed after stereo oscillators, - In the WebAssembly core, $WRK was messed after stereo oscillators,
making modulations not work making modulations not work
- The Webassembly implementation of mono version of "out" unit - The Webassembly implementation of mono version of the "out" unit
### Changed ### Changed
- The release flag in the voice is now a sustain flag i.e. the logic has
been inverted. This was done so that when the synth is initialized
with zeros, all voices start with sustain = 0 i.e. in released state.
- The crush resolution is now in bits instead of linear range; this is a - The crush resolution is now in bits instead of linear range; this is a
breaking change and changes the meaning of the resolution values. But breaking change and changes the meaning of the resolution values. But
now there are more usable values in the resolution. now there are more usable values in the resolution.
## v0.1.0 ## v0.1.0
### Added ### Added
- An instrument (set of opcodes & accompanying values) can have any number of voices. - An instrument (set of opcodes & accompanying values) can have any
- A track can trigger any number of voices, releasing the previous when new one is triggered. number of voices.
- A track can trigger any number of voices, releasing the previous when
new one is triggered.
- Pattern length does not have to be a power of 2. - Pattern length does not have to be a power of 2.
- Only the necessary opcodes and functions of the synth are compiled in the final executable. - Only the necessary opcodes and functions of the synth are compiled in the final executable.
- Harmonized support for stereo signals: every opcode supports stereo variant. - Harmonized support for stereo signals: every opcode supports stereo
- New opcodes: crush, gain, inverse gain, clip, speed (bpm modulation), compressor. variant.
- New opcodes: crush, gain, inverse gain, clip, speed (bpm modulation),
compressor.
- Support for sample-based oscillators (samples loaded from gm.dls). - Support for sample-based oscillators (samples loaded from gm.dls).
- Unison oscillators: multiple copies of the oscillator running with different detuning and added up to together. - Unison oscillators: multiple copies of the oscillator running with
different detuning and added up to together.
- Support for 32 and 64 bit builds. - Support for 32 and 64 bit builds.
- Support different platforms: Windows, Linux and Mac (Intel). - Support different platforms: Windows, Linux and Mac (Intel).
- Experimental support for compiling songs into WebAssembly. - Experimental support for compiling songs into WebAssembly.
- Switch to CMake for builds. - Switch to CMake for builds.
- Regression tests for every VM instruction, using CTests. - Regression tests for every VM instruction, using CTests.
- Compiling as a static library & an API to call Sointu - Compiling as a static library & an API to call Sointu
- Running all tests (win/linux/mac/wasm) in the cloud, using Github workflows - Running all tests (win/linux/mac/wasm) in the cloud, using Github
workflows
- Tools written in Go-lang: - Tools written in Go-lang:
- a tracker for composing songs as .yml - a tracker for composing songs as .yml
- a command line utility to convert .yml songs to .asm - a command line utility to convert .yml songs to .asm