This repository has been archived by the owner on Mar 27, 2024. It is now read-only.
Releases: RustAudio/vst-rs
Releases · RustAudio/vst-rs
v0.3.0
New features and panic fix
Fixed
- Introduced zero-valued
EventType
variant to enable zero-initialization ofEvent
, fixing a panic on Rust 1.48 and newer (#138) EditorGetRect
opcode returns1
on success, ensuring that the provided dimensions are applied by the host (#115)
Added
- Added
update_display()
method toHost
, telling the host to update its display (after a parameter change) via theUpdateDisplay
opcode (#126) - Allow plug-in to return a custom value in
can_do()
via theSupported::Custom
enum variant (#130) - Added
PartialEq
andEq
forSupported
(#135) - Implemented
get_editor()
andEditor
interface forPluginInstance
to enable editor support on the host side (#136) - Default value (
0.0
) forAtomicFloat
(#139)
Thread safe plugin API and other safety fixes
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
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.