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
Robbert van der Helm
101075795d
Use a vizia generic UI for Diopser
2022-03-22 18:32:02 +01:00
Robbert van der Helm
f85c9c8d82
Remove unused param from vizia gain GUI example
2022-03-21 23:57:12 +01:00
Robbert van der Helm
fe3ed360a3
Revert Gain GUI slider to the Centered style
2022-03-21 23:47:00 +01:00
Robbert van der Helm
d84b456edb
Draw ticks for the vizia PeakMeter
...
They are just slightly blurry.
2022-03-21 23:45:55 +01:00
Robbert van der Helm
b8ff936b21
Add part of a simple peak meter widget for vizia
2022-03-21 22:28:54 +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
5b2f8a417b
Use the f32_hz_then_khz formatter
2022-03-21 14:44:26 +01:00
Robbert van der Helm
30b913e159
Don't use direct Param initialization in exmaples
...
Since you now also need to specify the default field you probably
shouldn't use this anymore.
2022-03-21 13:29:03 +01:00