1
0
Fork 0
nih-plug/plugins/puberty_simulator
Robbert van der Helm 083885a40c Rework Params trait API with Arc instead of Pin
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.
2022-04-07 15:31:46 +02:00
..
src Rework Params trait API with Arc instead of Pin 2022-04-07 15:31:46 +02:00
Cargo.toml Use realfft for Puberty Simulator 2022-03-28 17:51:36 +02:00
COPYING Add the one and only Puberty Simulator plugin 2022-03-07 19:51:38 +01:00
README.md Fix building instructions in readmes 2022-03-07 22:07:57 +01:00

Puberty Simulator

This patent pending One Weird Plugin simulates the male voice change during puberty! If it was not already obvious from that sentence, this plugin is a joke, but it might actually be useful (or at least interesting) in some situations. This plugin pitches the signal down an octave, but it also has the side effect of causing things to sound like a cracking voice or to make them sound slightly out of tune.

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, you can compile Puberty Simulator as follows:

cargo xtask bundle puberty_simulator --release