Skip to content

Releases

0.10.1

Choose a tag to compare

@github-actions github-actions released this 13 Nov 01:44
d228ac5

What's Changed

  • Let the FX chain sleep while the synth is idle by @sunsided in #93

Full Changelog: v0.10.0...v0.10.1

0.10.0

Choose a tag to compare

@github-actions github-actions released this 13 Nov 01:19
445bbfd

⚠️ Breaking change

setup_audio, setup_audio_n, setup_audio_silenced and their _with_error_handler / _with_sequencer variants now return Receiver<ScopeBatch> ([f32; SCOPE_BATCH], 128 samples) instead of Receiver<Vec<f32>>, so the audio callback never allocates. If you consume the scope channel, iterate the array as before; synthie_ui::ScopeBuf accepts either batch type.

Highlights

  • No heap use on the audio path: rendering, sequencing and live events are checked allocation-free by a test with a counting allocator.
  • Benchmark suite: cargo bench -p synthie measures the audio path the way a game pays for it (blocks from idle to 16 voices with FX, callback sizes, every preset, a sequenced song, offline SFX rendering).
  • synth-tui: saved presets now load at startup instead of being overwritten by the next save, saves are atomic, and parameter steps use the engine's own ranges.
  • No UI hang when the audio device disappears (both TUIs).
  • Tracker: MOD import is property-tested against arbitrary input.

What's Changed

  • Fix preset loss and UI hang, keep audio allocation-free, add benchmarks by @sunsided in #91

Full Changelog: v0.9.0...v0.10.0

0.9.0

Choose a tag to compare

@github-actions github-actions released this 13 Nov 00:31
a310ffd

What's Changed

  • CI/CD: bump taiki-e/install-action from 2.87.32 to 2.88.1 by @dependabot[bot] in #70
  • Publish UI to crates.io by @sunsided in #71
  • CI/CD: bump taiki-e/install-action from 2.88.1 to 2.90.2 by @dependabot[bot] in #72
  • Sound effects: slide, pitch jump, PW sweep, repeat, generators and WAV export by @sunsided in #80
  • Close fuzz and proptest gaps; fix pattern note overflow by @sunsided in #81
  • Import ProTracker MODs and play the original for A/B by @sunsided in #73

Full Changelog: v0.8.0...v0.9.0

0.8.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 01:50
161861a

What's Changed

  • feat(synthie): coarse tuning for OSC2 in semitones by @sunsided in #66
  • feat(synthie): chord cells in the pattern notation by @sunsided in #68
  • feat(synthie): section defaults, a typed Preset enum and presets from Cheesed! by @sunsided in #69

Full Changelog: v0.7.1...v0.8.0

0.7.1

Choose a tag to compare

@github-actions github-actions released this 02 Nov 00:56
6512ccb

What's Changed

  • feat(synthie): let a finished sequencer end its kira sound by @sunsided in #63

Full Changelog: v0.7.0...v0.7.1

0.7.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 00:36
332c0e7

What's Changed

  • feat(synthie): snare, crash, toms and clap on the drum machine by @sunsided in #54
  • feat(synthie): sample-accurate sequencing in the I/O-free processor by @sunsided in #55
  • feat(synthie): tracker-style pattern sequencer for game music by @sunsided in #56
  • fix(synthie): build the ring_mod example only with the io feature by @sunsided in #58
  • feat(tracker): the full drum kit on the drum track by @sunsided in #59
  • feat(synthie): optional kira backend, synthie as a kira sound source by @sunsided in #57
  • feat(examples): the whole Kernkraft 400 in pattern notation by @sunsided in #60
  • feat(tracker): clickable footer and quit dialog; one Lazy Jones song for tracker and task example by @sunsided in #61
  • chore: add a cargo-release configuration by @sunsided in #62

Full Changelog: v0.6.0...v0.7.0

0.6.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 22:55
64c3361

What's Changed

  • feat(synthie): make the output gain and voice normalization configurable by @sunsided in #42
  • feat(wasm): sample-accurate event scheduling and silence detection by @sunsided in #45
  • fix(synthie): stop untrusted patches from silencing the engine for good by @sunsided in #46
  • feat(wasm): typed patch parameters, setParam, and worklet queries by @sunsided in #49

Full Changelog: v0.5.1...v0.6.0

0.5.1

Choose a tag to compare

@github-actions github-actions released this 27 Oct 20:52
8f97a5b

What's Changed

  • feat(web): run the synth and the tracker in the browser, hosted on Pages by @sunsided in #38
  • feat(wasm): publish the engine as the @sunsided/synthie npm package by @sunsided in #39
  • ci: release to npmjs.com (trusted publishing) and GitHub Packages from version tags by @sunsided in #40

Full Changelog: v0.5.0...v0.5.1

0.5.0

Choose a tag to compare

@sunsided sunsided released this 27 Oct 19:41
574ea2a

What's Changed

  • feat(tracker): add synthie-tracker step-sequencer TUI by @sunsided with @Copilot in #27
  • Dependencies: bump serde_json from 1.0.149 to 1.0.150 by @dependabot[bot] in #28
  • feat(tui): neon restyle of synth-tui and tracker via shared synthie-ui crate by @sunsided in #37
  • CI/CD: bump actions/checkout from 6 to 7 by @dependabot[bot] in #31

New Contributors

Full Changelog: v0.4.0...v0.5.0

0.4.0

Choose a tag to compare

@sunsided sunsided released this 19 May 20:00
d36ea9d

What's Changed

  • feat: modulation depth - LFO shapes, LFO2, filter/pitch envelopes (#13) by @sunsided in #21
  • feat: architecture - feature gating, DSP/IO split, no_std groundwork (#15) by @sunsided in #22
  • feat(synthie): ring modulation between OSC1 and OSC2 (issue #23) by @sunsided in #25
  • feat: built-in arpeggiator (no_std, no-alloc, chiptune-focused) by @sunsided in #26

Full Changelog: v0.3.1...v0.4.0