VST 2.4 API implementation in rust. Create plugins or hosts. Previously rust-vst on the RustDSP group.
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)update_display()
method to Host
, telling the host to update its display (after a parameter change) via the UpdateDisplay
opcode (#126)can_do()
via the Supported::Custom
enum variant (#130)PartialEq
and Eq
for Supported
(#135)get_editor()
and Editor
interface for PluginInstance
to enable editor support on the host side (#136)0.0
) for AtomicFloat
(#139)This release restructures the Plugin
API to make it safe, even when the host calls plugin methods on multiple threads concurrently. See https://github.com/RustAudio/vst-rs/issues/49 and https://github.com/RustAudio/vst-rs/pull/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:
Outputs
API.Opcode::GetEffectName
to resolve name display issues on some hosts.See the CHANGELOG for details.
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.