Robbert van der Helm
3b57ebe895
Add test for fast decibel<->gain functions
2023-01-04 17:01:25 +01:00
Robbert van der Helm
c55fb02982
Add faster decibel<->gain conversion functions
2023-01-04 16:58:28 +01:00
Robbert van der Helm
74a9e294b1
Make gain_to_db() branchless
2023-01-04 16:45:11 +01:00
max
1e83730ba9
rename variable
2023-01-02 19:30:31 +02:00
max
edca84a42c
address comments
2023-01-02 19:29:13 +02:00
max
6024a85663
fix incorrect conditional import
2023-01-02 19:29:00 +02:00
max
1fbe3efb79
update comment
2023-01-01 20:22:17 +02:00
max
9fd88ffd48
initial event loop implementation for macOS
2023-01-01 20:14:55 +02:00
Robbert van der Helm
ab9adaf13e
Update copyright notices for 2023
...
Happy new year!
2023-01-01 18:52:44 +01:00
Robbert van der Helm
069053ca50
Also defer latency change for CLAP plugins
...
In case a future host does the same thing Ardour does right now for VST3
plugins.
2022-12-28 01:34:42 +01:00
Robbert van der Helm
5cbef6ec03
Fix alloc failures in VST3 with many events
...
Or well, work around. We should use a different non-allocating sorting
implementation here. This only crept up in Ardour because they for some
reason send all parameter values after loading a VST3 plugin.
2022-12-28 01:30:26 +01:00
Robbert van der Helm
fd28a95231
Defer set_latency_samples() in VST3 plugin init
...
The host might otherwise restart the plugin while the `Plugin::init()`
call is still active, resulting in a deadlock because the plugin mutex
is still locked. This was causing issues when loading state in Ardour7.
The new approach also removes the need for a previous hack added for
Ardour6.
2022-12-28 01:28:33 +01:00
Robbert van der Helm
46752fc7f0
Make the definition of buffer length more explicit
...
This is the standard definition, but apparently it's still confusing.
Resolves #47 .
2022-12-23 20:34:57 +01:00
Robbert van der Helm
78c84b7596
Update dependencies
2022-12-16 23:29:03 +01:00
Robbert van der Helm
f58b69f10a
Update baseplug for better resizing support
...
This should now fully support resizing in nih_plug_vizia on all
platforms.
2022-12-02 20:17:53 +01:00
Robbert van der Helm
2747714640
Silence warning for standalone config on macOS
2022-12-02 19:42:51 +01:00
Robbert van der Helm
1767e6abe4
Update nih_plug_iced to the latest baseview
...
The feature branch used to add mouse modifiers has long been merged into
upstream baseview.
2022-12-02 19:25:27 +01:00
Robbert van der Helm
ec34e54bfe
Update dependencies, allow resizing on Win/macOS
...
This was implemented for Linux in March, but it should now also work on
Windows and macOS.
2022-12-01 20:21:56 +01:00
Robbert van der Helm
50fa1008c0
Allow assert_process_allocs+mingw-w64 in release
...
This causes the application to halt in debug builds, but it shouldn't be
an issue in release builds.
2022-12-01 20:18:30 +01:00
Robbert van der Helm
5115ff7b47
Mention safe mode in Diopser readme
2022-11-29 20:59:41 +01:00
Robbert van der Helm
0d2af71180
Increase minimum frequency in Diopser safe mode
2022-11-29 20:53:51 +01:00
Robbert van der Helm
d7acd6573a
Only set parameter values on safe mode when needed
...
Otherwise this resets the filters every time.
2022-11-29 20:48:47 +01:00
Robbert van der Helm
035e345e21
Limit Diopser frequency range in safe mode
2022-11-29 20:45:06 +01:00
Robbert van der Helm
afd8830636
Clamp scrolling in RestrictedParamSlider
2022-11-29 20:36:30 +01:00
Robbert van der Helm
3ba0ddffee
Simmplify safe mode granular drag mapping
2022-11-29 20:34:02 +01:00
Robbert van der Helm
3635cfb78e
Default Diopser automation precision to 100%
...
This is fine with the limited range.
2022-11-29 20:11:20 +01:00
Robbert van der Helm
aca09c49c7
Auto-disable Diopser safe mode for older instances
...
Since this used to not do anything.
2022-11-29 20:00:21 +01:00
Robbert van der Helm
836a72dbc4
Implement Diopser's safe mode for filter stages
...
These are now limited to 40 by default.
2022-11-29 19:47:42 +01:00
Robbert van der Helm
32f123b47d
Add a RestrictedParamSlider to Diopser
...
This currently is just a stripped down ParamSlider, but it will allow
the slider's range to be capped when safe mode is enabled.
2022-11-29 19:09:55 +01:00
Robbert van der Helm
1ef987a403
Show the modulation value in Diopser X-Y pad
2022-11-28 01:00:54 +01:00
Robbert van der Helm
1d9e7e6256
Implement Debug for parameters
2022-11-26 12:58:32 +01:00
Robbert van der Helm
4eb7614ee7
Wrap Diopser safe mode boolean in a struct
...
This struct will also be used to limit the parameter ranges later.
2022-11-23 01:00:45 +01:00
Robbert van der Helm
9a77bd2918
Remove old comment
2022-11-22 21:29:06 +01:00
Robbert van der Helm
d9284ef0b7
Add debug assertion for custom feature namespaces
2022-11-22 21:19:17 +01:00
Robbert van der Helm
7c732e594c
Document that custom features must be namespaced
2022-11-22 21:09:35 +01:00
Robbert van der Helm
82b7426689
Namespace custom CLAP features
2022-11-22 21:09:32 +01:00
Robbert van der Helm
dfd0109205
Move Diopser filter stages range to a function
...
We'll use this in the safe mode abstraction to clamp the parameter's
range when safe mode is engaged.
2022-11-22 18:20:36 +01:00
Robbert van der Helm
fc6fcf4cf5
Move Diopser param structs and helpers to module
...
We'll need to expose some more ranges here so we can limit the ranges in
safe mode.
2022-11-22 18:06:59 +01:00
Robbert van der Helm
26535a099d
Seal the Params trait
...
This avoids situations like #41 where people try to implement the trait
only to find out that you simply can't.
2022-11-22 17:43:26 +01:00
Robbert van der Helm
f0c6ce6e71
Update baseview with horizontal scrolling support
2022-11-22 16:27:32 +01:00
Robbert van der Helm
5e4cfb0e5a
Add scrolling for the X-Y pad
2022-11-22 15:23:08 +01:00
Robbert van der Helm
753ca201a6
Support #[nested] prefixes/suffixes w/ #[persist]
...
This makes nested fields behave the same as nested parameters, allowing
multiple copies of a persistent field to exist.
2022-11-19 00:17:13 +01:00
Robbert van der Helm
5d9f1b109c
Add test for nested #[persist] key prefixes
...
This has not yet been implemented.
2022-11-18 23:45:41 +01:00
Robbert van der Helm
a3056713c8
Don't normalize empty buffers in Buffr Glitch
2022-11-18 19:32:52 +01:00
Robbert van der Helm
cea84edceb
Add a tip on stopping ringing to Diopser's readme
2022-11-18 17:58:04 +01:00
Robbert van der Helm
c05bc21581
Also reset Vizia widgets on right click
...
Because why choose. Right click, Ctrl+click, and double click all do the
same thing now.
2022-11-18 17:53:13 +01:00
Robbert van der Helm
d97e5ccd30
Actually use the correct formatter
2022-11-18 17:43:34 +01:00
Robbert van der Helm
ec94dadc04
Use correct formatter for Diopser's bypass param
2022-11-18 17:42:59 +01:00
Robbert van der Helm
66e7625724
Add a border radius to X-Y pad tooltip
...
To match the text input box. It adds a bit of flair to a plugin that's
otherwise 100% flat with straight lines and 90 degree angles.
2022-11-18 17:38:06 +01:00
Robbert van der Helm
c947d6c232
Handle shaprs in s2v_i32_note_formatter()
2022-11-18 17:26:42 +01:00