083885a40c
This is a breaking change requiring a small change to plugin implementations. The reason why `Pin<&dyn Params>` was used was more as a hint to indicate that the object must last for the plugin's lifetime, but `Pin` doesn't enforce that. It also makes the APIs a lot more awkward. Requiring the use of `Arc` fixes the following problems: - When storing the params object in the wrapper, the `ParamPtr`s are guaranteed to be stable. - This makes it possible to access the `Params` object without acquiring a lock on the plugin, this is very important for implementing plugin-side preset management. - It enforces immutability on the `Params` object. - And of course the API is much nicer without a bunch of unsafe code to work around Pin's limitations. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
COPYING | ||
README.md |
Diopser
You were expecting Disperser¹, but it was me, Diopser!
Diopser lets you rotate the phase of a signal around a specific frequency without affecting its spectral content. This effect can be used to emphasize transients and other parts of a sound that in a way that isn't possible with regular equalizers or dynamics processors, especially when applied to low pitched or wide band sounds. More extreme settings will make everything sound like a cartoon laser beam, or a psytrance kickdrum. If you are experimenting with those kinds of settings, then you may want to consider temporarily placing a peak limiter after the plugin in case loud resonances start building up.
This is a port from https://github.com/robbert-vdh/diopser with more features and much better performance.
*Disperser is a trademark of Kilohearts AB. Diopser is in no way related to Disperser or Kilohearts AB.Download
You can download the development binaries for Linux, Windows and macOS from the automated builds page. If you're not signed in on GitHub, then you can also find the last nightly build here.
The macOS version has not been tested and may not work correctly. You may also have to disable Gatekeeper to use the VST3 version as Apple has recently made it more difficult to run unsigned code on macOS.
Building
After installing Rust with the nightly toolchain (because of the use of SIMD), you can compile Diopser as follows:
cargo +nightly xtask bundle diopser --release