sointu/CHANGELOG.md
2021-04-29 14:29:48 +03:00

1.8 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

Unreleased

Added

  • Saving and loading instruments
  • Non-platform native file save and load dialogs, for more reliable support across platforms
  • Comment field to instruments
  • The repository has now a few example instruments
  • Ability to reorder tracks

v0.1.0

Added

  • An instrument (set of opcodes & accompanying values) can have any 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.
  • 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.
  • New opcodes: crush, gain, inverse gain, clip, speed (bpm modulation), compressor.
  • 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.
  • Support for 32 and 64 bit builds.
  • Support different platforms: Windows, Linux and Mac (Intel).
  • Experimental support for compiling songs into WebAssembly.
  • Switch to CMake for builds.
  • Regression tests for every VM instruction, using CTests.
  • Compiling as a static library & an API to call Sointu
  • Running all tests (win/linux/mac/wasm) in the cloud, using Github workflows
  • Tools written in Go-lang:
    • a tracker for composing songs as .yml
    • a command line utility to convert .yml songs to .asm
    • a command line utility to play the songs on command line