vst2
vst2 copied to clipboard
Build vst2 plugins and hosts with Go
Currently demoplugin uses linear scale for gain. It should use a logarithmic scale with proper to-decibel conversion for display label. Sample code from [thread](https://forum.juce.com/t/float-to-decibel-conversion/1841) on JUCE forum: ```C++ float LinearToDecibel(float...
It seems that the following command is enough to produce working plugin for Windows/Linux: ```bash go build --buildmode c-shared --tags plugin ``` Confirmation is required.
Existing implementation returns constant value hardcoded in the `vst2.Parameter` struct. It should call a user-defined function that will return display value based on current parameter value.
Currently plugin doesn't implement any clean-up. What needs to be freed: * Plugin double and float buffers (allocated by library); * Plugin structure placed into map (done by library); *...
Provide CLI that would bundle compiled plugin to OS X bundle. Here is [the example](https://github.com/overdrivenpotato/rust-vst2/blob/master/osx_vst_bundler.sh) of bundler from rust vst2 project. Command to compile plugin into Mach-O bundle: ```bash go...
To fully support VST2 api, all types from SDK should be present in the package. This types could be moved to go as they don't contain pointers. - [x] VstAEffectFlags...
- [ ] HostAutomate - [x] HostVersion - [ ] HostCurrentID - [ ] HostIdle - [ ] hostPinConnected - [ ] hostWantMidi - [x] HostGetTime - [ ] HostProcessEvents...
Dispatch and host callback functions have vague semantics that treat parameters depending on what opcode is provided. It's not user-friendly and error prone. The more convenient approach would be to...
* Align `CopyTo`/`CopyFrom` functions with ReadT/WriteT; * Replace `size` with `length`; * Handle `nil` values * Cover with tests;