1
0
Fork 0
Commit graph

42 commits

Author SHA1 Message Date
Robbert van der Helm 0469bdf806 Persist the editor states for all plugins 2022-07-13 23:16:54 +02:00
Robbert van der Helm 7cd7294b22 Make CLAP descriptions and special URLs optional
This closes #14.
2022-07-04 12:46:34 +02:00
Robbert van der Helm f7bfbb8d95 Add stable IDs to the plugin's enum parameters
Existing instances will automatically be upgraded to these IDs when the
instance gets saved. This makes it possible to rearrange things later
when needed.
2022-06-04 13:36:17 +02:00
Robbert van der Helm bfc472e49b Introduce a new enum for CLAP features
Based on the new CLAP 0.26 clap-features.h.
2022-06-02 01:16:30 +02:00
Robbert van der Helm 6996fdaed1 Update features names for CLAP 0.26 2022-06-02 00:52:13 +02:00
Robbert van der Helm ee900f74c2 Support auxiliary inputs and outputs for CLAP
This does not yet work for VST3. You'll always get empty slices there.
2022-05-27 02:30:57 +02:00
Robbert van der Helm b2e6bd5515 Create a separate InitContext
Only a couple of these functions would be needed during initialization.
In the next couple commits ProcessContext will get a way to access
auxiliary IO, so this really had to be separated.
2022-05-27 01:17:15 +02:00
Robbert van der Helm 535ae1260e Remove now unnecessary explicit dyn casts
Rust-analyzer used to not infer this, seems like now it does.
2022-05-24 23:55:48 +02:00
Robbert van der Helm 98876670f8 Re-export debug macros from the debug module
This makes it easy to import just the macros without having to use the
oldschool `#[macro_use] extern crate ...;` syntax.
2022-04-30 02:10:54 +02:00
Robbert van der Helm d413d11694 Use the predefined gain formatters for Crisp 2022-04-27 15:12:31 +02:00
Robbert van der Helm cab0af5153 Add explicit dyn trait casts
So Rust Analyzer stops complaining.
2022-04-15 19:31:38 +02:00
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
Robbert van der Helm f37974448d Change naming convention for formatters
This still isn't idea, but at least it's less ambiguous than it was
before this.
2022-03-27 03:43:39 +02:00
Robbert van der Helm f1f2a8a06e Rename the modes in Crisp to be more fitting 2022-03-25 15:51:40 +01:00
Robbert van der Helm d35276437d Patch vizia to not require pub for lenses 2022-03-23 23:29:49 +01:00
Robbert van der Helm 57fb259104 Use a vizia generic UI for Crisp 2022-03-22 18:53:32 +01:00
Robbert van der Helm c2b530af36 Also use f32_hz_then_khz in Crisp 2022-03-21 14:51:51 +01:00
Robbert van der Helm aa3e6282b7 Use the new iced generic UI for Crisp 2022-03-16 01:30:29 +01:00
Robbert van der Helm 36d54edae7 Add a constant for sample accurate automation 2022-03-10 18:57:17 +01:00
Robbert van der Helm 76394731a6 Optimize branching in Crisp 2022-03-09 19:42:13 +01:00
Robbert van der Helm 48ed39269d Add a wet-only control to Crisp 2022-03-09 19:38:57 +01:00
Robbert van der Helm 9fc5b048ad Iterate in blocks in Crisp
I want to add a wet-only version, and this can help reduce per-sample
branching a bit.
2022-03-09 19:35:26 +01:00
Robbert van der Helm 2a30df057c Move filter frequency limits to constants 2022-03-09 18:26:55 +01:00
Robbert van der Helm 9bb46fc377 Add a noise low-pass filter for Crisp 2022-03-09 18:25:27 +01:00
Robbert van der Helm cdad01063e Fix default Crisp HPF frequency value 2022-03-09 16:29:29 +01:00
Robbert van der Helm f9446644aa Remove unit from Crisp filter frequency params 2022-03-09 15:17:49 +01:00
Robbert van der Helm 4105a887a8 Add a generic UI for Crisp 2022-03-09 15:15:09 +01:00
Robbert van der Helm 57ca8a5ccb Add a pre-RM LPF to Crisp
This makes the effect more usable with high frequency inputs.
2022-03-09 15:11:41 +01:00
Robbert van der Helm 92aac6e471 Add a high pass filter to the Crisp noise 2022-03-09 13:48:23 +01:00
Robbert van der Helm bda8ecfb23 Add a biquad for low- and high-pass filters 2022-03-09 13:24:57 +01:00
Robbert van der Helm a08624209c Fix GPL copyright headers 2022-03-09 13:17:26 +01:00
Robbert van der Helm 305a3f922b Fix comments in the Crisp plugin 2022-03-09 00:51:52 +01:00
Robbert van der Helm 8f45ef84ee Change Crisp keyword order
Since Bitwig uses the first relevant one as the category.
2022-03-09 00:29:46 +01:00
Robbert van der Helm 3a4f8abb4b Increase the default Crisp amount 2022-03-09 00:05:37 +01:00
Robbert van der Helm 6072eb103d Add a stereo control parameter for Crisp 2022-03-09 00:03:35 +01:00
Robbert van der Helm e8301f6c9d Add back symmetrical AM 2022-03-08 23:46:05 +01:00
Robbert van der Helm 55315fb7f3 Add an output gain parameter 2022-03-08 23:30:12 +01:00
Robbert van der Helm 792e9469b5 AM only the positive ranges
This is what the original Fake Distortion preset did.
2022-03-08 23:20:30 +01:00
Robbert van der Helm 46901bf5c9 Add a basic version of Crisp 2022-03-08 21:10:36 +01:00
Robbert van der Helm 817ff72265 Add a PCG implementation for pcg32i and floats 2022-03-08 20:42:59 +01:00
Robbert van der Helm 6bfc4ab76f Add a basic sketch for Crisp 2022-03-08 19:02:21 +01:00
Robbert van der Helm bb341fdf50 Add an empty plugin for Crisp 2022-03-08 18:03:38 +01:00