1
0
Fork 0
Commit graph

45 commits

Author SHA1 Message Date
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 56e9cd54c1 Pass the GuiContext to vizia editors
There's no clean way to expose the state save/restore functionality
through events.
2022-04-07 16:14:34 +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 d9b018b125 Fix a very important typo 2022-03-29 03:16:55 +02:00
Robbert van der Helm 8ecc30e399 Mark SIMD conversion functions as always inline 2022-03-29 03:14:40 +02:00
Robbert van der Helm 6dd11561c5 Add resize handles to all vizia GUIs 2022-03-29 00:49:31 +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 31a84d51dd Make the Crisp editor slightly taller 2022-03-22 19:50:40 +01:00
Robbert van der Helm b6bbf06170 Fix Crisp label positioning 2022-03-22 19:49:05 +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 f084f14095 Refactor GUIs to use param's own default value
This removes the need to pass a lot of these `ParamSetter`s and
`GuiContext`s around. We also don't need explicit events to reset a
parameter anymore since you can get this information from the parameter
itself.
2022-03-21 13:11:36 +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 4d64e300e4 Increase Crisp editor width so all labels fit 2022-03-09 15:21:41 +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 4cca7af930 Make the PCG implementation const compatible 2022-03-08 20:51:01 +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