Skip to content
This repository has been archived by the owner on Mar 27, 2024. It is now read-only.

Releases: RustAudio/vst-rs

v0.3.0

27 Feb 03:30
8b38c29
Compare
Choose a tag to compare

New features and panic fix

17 Nov 19:59
c5a02db
Compare
Choose a tag to compare

Fixed

  • Introduced zero-valued EventType variant to enable zero-initialization of Event, fixing a panic on Rust 1.48 and newer (#138)
  • EditorGetRect opcode returns 1 on success, ensuring that the provided dimensions are applied by the host (#115)

Added

  • Added update_display() method to Host, telling the host to update its display (after a parameter change) via the UpdateDisplay opcode (#126)
  • Allow plug-in to return a custom value in can_do() via the Supported::Custom enum variant (#130)
  • Added PartialEq and Eq for Supported (#135)
  • Implemented get_editor() and Editor interface for PluginInstance to enable editor support on the host side (#136)
  • Default value (0.0) for AtomicFloat (#139)

Thread safe plugin API and other safety fixes

25 Nov 18:01
Compare
Choose a tag to compare

This release restructures the Plugin API to make it safe, even when the host calls plugin methods on multiple threads concurrently. See #49 and #65 for discussions of the motivation and design behind this change.

The API change will break most plugins. The transfer_and_smooth example contains a guide for porting a plugin to the new API.

Other changes include:

  • Fixed a number of unsoundness issues in the Outputs API.
  • Set parameters to be automatable by default.
  • Fixed a use-after-move bug in the event iterator.
  • Handle Opcode::GetEffectName to resolve name display issues on some hosts.

See the CHANGELOG for details.

Release prior to API-breaking thread safety fix

09 Apr 21:21
Compare
Choose a tag to compare

Fix HostCallback::is_effect_valid()
OpCode::EditorOpen: return 1 if editor opened successfully
Change Editor API: open() now returns a bool signifying if it was successful (true) or not (false).
Utility structs to make it easier to make plugins thread safe.