Robbert van der Helm
d5006d109e
Code style cleanup for macOS event loop
2023-01-06 15:46:29 +01:00
Robbert van der Helm
498e503a89
Reorder Cargo.toml
2023-01-06 15:14:57 +01:00
Robbert van der Helm
700a15f528
Merge branch 'maxjvh/master' #48
...
native macOS event loop: https://github.com/robbert-vdh/nih-plug/pull/48
2023-01-06 15:14:29 +01:00
Robbert van der Helm
a0c1fc2e01
Link a default Bitwig preset for Crossover
...
And update the screenshot to show remote controls.
2023-01-05 16:34:50 +01:00
Robbert van der Helm
300e112ede
Rename Block::len() to Block::samples()
...
For the same reason mentioned in the last commit.
2023-01-05 16:13:58 +01:00
Robbert van der Helm
cb2824021b
Fix buffer adapter size hints for zero channels
...
And the SamplesIter one was simply not correct when yielded by the block
iterator.
2023-01-05 16:12:09 +01:00
Robbert van der Helm
cb827d18dd
Rename Buffer::len() to Buffer::samples()
...
To reduce ambiguity.
2023-01-05 16:04:38 +01:00
Robbert van der Helm
9e1a888b38
Store sample count in Buffer
...
This fixes the sample count not being correct for MIDI-only plugins.
2023-01-05 15:58:55 +01:00
Robbert van der Helm
19be530ba3
Rename Buffer::with_raw_vec to set_slices
2023-01-05 15:36:04 +01:00
Robbert van der Helm
11d9476a5f
Use db_to_gain_fast() in plugins
2023-01-04 17:05:13 +01:00
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