Robbert van der Helm
1d7a6a870b
Reset Diopser filters when changing certain params
...
Parameters that cannot be interpolated might cause fun artifacts if we
don't do this. Decreasing the number of stages would be fine without a
reset though.
2022-02-15 19:48:54 +01:00
Robbert van der Helm
2f803915eb
Allow compiling Diopser without SIMD
2022-02-15 18:30:45 +01:00
Robbert van der Helm
d0f1a79279
Use SIMD for Diopser
...
It's pretty damn fast now, especially compared to the JUCE version.
2022-02-15 18:05:26 +01:00
Robbert van der Helm
935d952d81
Make the biquads SIMD capable
2022-02-15 18:00:01 +01:00
Robbert van der Helm
8c30eccb27
Add an identity function for biquad coefficients
2022-02-15 17:13:49 +01:00
Robbert van der Helm
7632b21a95
Remove debug code from sine example
...
Not sure how this ended up here.
2022-02-15 03:45:39 +01:00
Robbert van der Helm
fc8aec5afa
Explain not using the inner iterator in Diopser
2022-02-15 00:39:30 +01:00
Robbert van der Helm
24f81e2542
Fix Diopser DSP load
2022-02-15 00:33:34 +01:00
Robbert van der Helm
fa8b87ec71
Remove mentions of Diopser port being unfinished
2022-02-15 00:00:41 +01:00
Robbert van der Helm
b84022caed
Add the filter spread parameters to Diopser
...
This includes a much better octave-based version instead of the old
'exponential' version.
2022-02-14 23:59:53 +01:00
Robbert van der Helm
c1d91498e1
Update the todo list for Diopser
2022-02-13 20:21:59 +01:00
Robbert van der Helm
f399b30dba
Implement the smoothing interval on Diopser
2022-02-13 19:54:49 +01:00
Robbert van der Helm
0bd0ea6af2
Add an automation precision parameter to Diopser
2022-02-13 19:41:31 +01:00
Robbert van der Helm
c9a9f76dce
Update note on Diopser's status
...
The port is unfinished, but the origin version's feature are all there
and it works well.
2022-02-13 18:42:35 +01:00
Robbert van der Helm
19d2dc0a67
Implement step snapping for parameters
2022-02-13 17:52:54 +01:00
Robbert van der Helm
3d8cfd7477
Use the step sizes
2022-02-13 16:43:11 +01:00
Robbert van der Helm
adf59c192b
Add a step size for float parameters
2022-02-13 16:41:31 +01:00
Robbert van der Helm
eea05cc748
Rename reset_iter to iter_mut
...
So it's more consistent.
2022-02-12 23:28:15 +01:00
Robbert van der Helm
2c394aabd5
Add nicer adapter for repeating channel iteration
2022-02-12 23:16:07 +01:00
Robbert van der Helm
fb382520af
Fix typo in comment
2022-02-12 21:53:19 +01:00
Robbert van der Helm
2f371874d0
Add a super basic port of Diopser
2022-02-12 21:51:58 +01:00
Robbert van der Helm
2241000c20
Fix the biquad
...
Oops.
2022-02-12 21:11:44 +01:00
Robbert van der Helm
710fbf0c7d
Remove now unused parameter
2022-02-12 20:02:32 +01:00
Robbert van der Helm
cd0b870682
Directly pass a style to .with_smoother()
2022-02-12 19:56:37 +01:00
Robbert van der Helm
d6b358f8ca
Don't require importing Param for derive macro
2022-02-12 19:55:39 +01:00
Robbert van der Helm
e3d445cea6
Add a simple biquad filter
2022-02-12 18:07:40 +01:00
Robbert van der Helm
fe881cbdc9
Add the GPL header for Diopser
2022-02-12 17:28:40 +01:00
Robbert van der Helm
bc11c97fcf
Use the new builder interface
2022-02-12 17:19:52 +01:00
Robbert van der Helm
342aebee89
Add a plugin skeleton for a Diopser port
2022-02-12 16:29:23 +01:00
Robbert van der Helm
f645b6a92f
Relicense under the ISC license
2022-02-12 16:04:46 +01:00
Robbert van der Helm
da8f4c20cf
Add more labels to the gain_gui example
...
Before adding a VU meter widget and removing all of this cruft.
2022-02-09 19:49:23 +01:00
Robbert van der Helm
7eb8622736
Drag very granularly with Shift+Drag
2022-02-09 12:24:01 +01:00
Robbert van der Helm
5dd3cab305
Temporarily show this slider for a skewed int
2022-02-09 11:51:53 +01:00
Robbert van der Helm
07f9a18d3d
Rename EguiState::open to is_open
...
This makes it more clear that it doesn't actually open the editor.
2022-02-08 20:33:08 +01:00
Robbert van der Helm
d9ac60ae85
Only calculate peak meter while GUI is open
...
To show off this feature.
2022-02-08 20:28:40 +01:00
Robbert van der Helm
4260c5441c
Add a way to know whether the egui editor is open
2022-02-08 20:16:39 +01:00
Robbert van der Helm
02614e4a5a
Use absolute values for the peak meter gain
...
I guess I wasn't thinking too clearly when I wrote this.
2022-02-06 19:20:03 +01:00
Robbert van der Helm
556bec7c0b
Move editor handling to its own struct
...
This makes the API much, much nicer (especially consuming the egui
wrapper), and it also avoids having to lock the plugin instance which is
obviously very bad if the plugin is also supposed to be processing audio
on another thread.
2022-02-06 17:12:57 +01:00
Robbert van der Helm
eefb5e604c
Actually, adjust the peak meter range to -60 dBFS
...
This is the same range Bitwig shows in their tiny VU meters in between
devices.
2022-02-06 14:59:13 +01:00
Robbert van der Helm
0943d54404
Adjust the peak meter normalization to -40 dBFS
2022-02-06 14:58:14 +01:00
Robbert van der Helm
a95b25cd06
Tweak the peak meter display
2022-02-06 14:18:47 +01:00
Robbert van der Helm
40d7799df9
Don't handle context in create_egui_editor
...
There's no need for special handling here, just let the plugin do its
own thing.
2022-02-06 14:02:55 +01:00
Robbert van der Helm
a10e1e1152
Rename the VU meter to generic digital peak meter
...
Before I get a visit from the VU police.
2022-02-06 13:36:55 +01:00
Robbert van der Helm
5017dad7d3
Add a semi-broken GUI example
...
This needs a lot of work. We need widgets that know how to deal with our
parameters, and also basic widgets for things like meters. Egui-baseview
also has a couple quirks left. Most notably it only updates when
actively moving over the GUI (which means VU meters look pretty janky)
and it randomly panics.
2022-02-06 13:16:28 +01:00
Robbert van der Helm
0514d2de96
Increase the gain smoothing time
2022-02-06 02:36:31 +01:00
Robbert van der Helm
53f802b295
Fix accidental gain smoothing style change
2022-02-06 02:08:58 +01:00
Robbert van der Helm
b075d1b1bb
Modify the editor API to use trait objects
...
The alternative isn't really feasible without specialization, and
NIH-plug should work on the stable compiler.
2022-02-05 17:12:03 +01:00
Robbert van der Helm
7ac1df0d8d
Add stubs for editor handling
2022-02-05 12:46:26 +01:00
Robbert van der Helm
bbc190c67f
Hold the RwLock guard in the process context
...
This avoids having to constantly acquire a new lock.
2022-02-04 23:03:11 +01:00
Robbert van der Helm
cbd51b0c3a
Monomorphize the context variables
...
For the parameter setting context functions we don't be able to use
trait objects.
2022-02-04 22:34:53 +01:00