Robbert van der Helm
6f7f2e30ed
Fix debug assertion failure in smoother
2023-01-06 17:58:13 +01:00
Robbert van der Helm
28cd25d501
Implement Linux event loop using BackgroundThread
...
This reduces duplication a lot.
2023-01-06 17:53:07 +01:00
Robbert van der Helm
5c9be077e7
Allow BackgroundThread sharing between instances
...
This removes the need for every instance to have its own background
thread.
2023-01-06 17:51:38 +01:00
Robbert van der Helm
8d242b45ad
Remove old overeager clippy lint silence
...
This is no longer enabled by default.
2023-01-06 16:13:01 +01:00
Robbert van der Helm
dfeb8164ca
Fix new Clippy lints
2023-01-06 16:13:01 +01:00
Robbert van der Helm
935bf6f7f3
Fix allocation failures in BackgroundThread
2023-01-06 16:03:48 +01:00
Robbert van der Helm
c0e9b29bf4
Remove macOS deprecation warning from event loop
2023-01-06 15:58:01 +01:00
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