1
0
Fork 0
Commit graph

466 commits

Author SHA1 Message Date
Robbert van der Helm
743998e388 Add a second just as bad mode to Puberty Simulator 2022-05-09 16:49:43 +02:00
Robbert van der Helm
c6acdfa020 Add a pitch shifting mode parameter
I experimented with some other equally broken but broken in slightly
different ways pitch shifting algorithms that also sound kind of fun.
2022-05-09 16:29:46 +02:00
Robbert van der Helm
081487fdcb Adjust windowing behavior in Puberty Simulator
We should indeed be windowing twice like we did before. A squared Hann
window doesn't work at 2x overlap, so that option has been removed. The
gain compensation is now also correct.
2022-05-09 16:22:26 +02:00
Robbert van der Helm
d589f81228 Change last to latest 2022-05-09 02:47:29 +02:00
Robbert van der Helm
c5841cbe33 Add missing latency compensation in STFT example
The latency introduced by the linear phase filter wasn't compensated
for.
2022-05-08 03:14:56 +02:00
Robbert van der Helm
6400e2d71d Fix gain compensation in new STFT example 2022-05-08 02:25:44 +02:00
Robbert van der Helm
3fe24e7dc6 Use more typical convolution FFT in STFT example 2022-05-08 02:22:36 +02:00
Robbert van der Helm
55eeb689dd Add a padding option to StftHelper 2022-05-08 02:12:37 +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
58d7dc034c Fix gain compensation in STFT examples 2022-04-28 17:24:35 +02:00
Robbert van der Helm
e35886c216 Move window function handling out of StftHelper
And apply the window function only once at the end of the process
function for the plugins that used it.
2022-04-28 17:20:39 +02:00
Robbert van der Helm
dd770b6bde Alter Loudness War Winner disclaimer
This is from a copy pasta, but I don't want it to get political.
2022-04-27 20:08:38 +02:00
Robbert van der Helm
c4b4cf95d4 Add a copy of the GPL to Loudness War Winner 2022-04-27 20:06:41 +02:00
Robbert van der Helm
81bd380569 Fix typo in Loudness War Winner's readme 2022-04-27 19:43:18 +02:00
Robbert van der Helm
b3d2b79284 Win the loudness war harder with band-pass filters 2022-04-27 17:59:54 +02:00
Robbert van der Helm
f49189b424 Add a fadeout after winning the loudness war 2022-04-27 16:07:19 +02:00
Robbert van der Helm
b2ac93f255 Win the loudness war 2022-04-27 15:37:17 +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
9acd312768 Parmaeters are not real, they can't hurt you 2022-04-24 19:46:07 +02:00
Robbert van der Helm
96ec1da037 Export the standalone target for gain_gui_vizia 2022-04-24 15:48:05 +02:00
Robbert van der Helm
00fff75c5e Rename MIDI inverter example plugin directory
To match the package name.
2022-04-18 02:33:29 +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
c917114020 Rename the gain GUI examples to match package name 2022-04-14 23:53:14 +02:00
Robbert van der Helm
bcc8453861 Update MIDI inverter comment 2022-04-11 20:55:43 +02:00
Robbert van der Helm
49f1a45b76 Add a MIDI effect that inverts all signals
To demonstrates the API. The CLAP version does not seem to be able to
output anything other than basic notes in Bitwig Studio 4.2.3.
2022-04-11 20:47:00 +02:00
Robbert van der Helm
97b2c9a2b1 Replace sine loop 2022-04-11 18:25:01 +02:00
Robbert van der Helm
e4606918e7 Rename next_midi_event() to next_event() 2022-04-11 18:15:14 +02:00
Robbert van der Helm
eb5b81fcac Remove MidiInput::None from nontrivial examples
Since it's the default, makes the examples a bit shorter.
2022-04-11 18:02:55 +02:00
Robbert van der Helm
e74172b67b Split build and package workflows 2022-04-11 16:11:42 +02:00
Robbert van der Helm
25dd0d9bef Control sine level through velocity and aftertouch 2022-04-08 17:44:05 +02:00
Robbert van der Helm
b9a10455bb Add polyphonic aftertouch support 2022-04-07 20:55:31 +02:00
Robbert van der Helm
1141616466 Replace ACCEPTS_MIDI bool with new enum
So we can gate future MIDI CC support behind an additional option since
this involves more work on the VST3 side.
2022-04-07 20:27:37 +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
4195105e43 Replace FFTW in Diopser with realfft 2022-03-28 18:02:26 +02:00
Robbert van der Helm
2211232ed1 Use realfft for Puberty Simulator 2022-03-28 17:51:36 +02:00
Robbert van der Helm
b4ff09ca33 Get rid of unnecessary RustFFT scratch buffer 2022-03-28 17:45:46 +02:00
Robbert van der Helm
80c3fb8d51 Swap fftw in the stft example out for realfft
The FFTW bindings can't statically link on Windows.
2022-03-28 17:13:23 +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
0655ce35d8 Hide Diopser's very important parameter 2022-03-23 13:20:16 +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
4086ff724f Fix casing on GenericUi 2022-03-22 18:50:50 +01:00
Robbert van der Helm
d9003ca2d1 Don't use a ScrollView for Dipser's generic editor 2022-03-22 18:49:46 +01:00