Robbert van der Helm
951a0739d7
Send individual parameter changes for CLAP plugins
2023-01-11 15:22:26 +01:00
Robbert van der Helm
4e53d3a799
Significantly increase task queue capacity
...
This is needed to prevent parameter change events from being dropped.
2023-01-11 15:22:26 +01:00
Robbert van der Helm
08c6729ed1
Also add an Editor::param_modulation_changed()
2023-01-11 15:22:26 +01:00
Robbert van der Helm
922d2de603
Add an individual Editor::param_value_changed
2023-01-11 15:22:26 +01:00
Robbert van der Helm
bdc8537f3f
Add explicit .max(f32::EPSILON) back in SC
...
`util::db_to_gain_fast()` doesn't snap to 0, but for low enough values
it will still become 0 eventually.
2023-01-11 15:21:18 +01:00
Robbert van der Helm
6e7ee125b6
Sorta fix stock widget usage in gain_gui_egui
...
The parameter changed from storing its value as decibels to storing gain
at some point.
2023-01-10 20:26:31 +01:00
Robbert van der Helm
838e1bfd2d
Fix note formatter octave conversion, again
2023-01-10 14:03:17 +01:00
Robbert van der Helm
2aa937e370
Fix note formatting for 0 Hz
...
This would result in an underflow, failing the test case.
2023-01-10 02:28:39 +01:00
Robbert van der Helm
a9d0e40447
Fix octave -1 edge case in v2s_f32_hz_then_khz_with_note_name
2023-01-10 02:11:45 +01:00
Robbert van der Helm
32903ac065
Test f32_hz_then_khz_with_note_name roundtrip
...
This was failing in clap-validator.
2023-01-10 01:46:34 +01:00
Robbert van der Helm
18b4403a3b
Fix roundtrip in f32_hz_then_khz_with_note_names
2023-01-10 01:46:14 +01:00
Robbert van der Helm
b647f24121
Fix rounding error in v2s_f32_hz_then_khz_with_note_name
2023-01-10 01:43:27 +01:00
Robbert van der Helm
26422ae8e3
Fix -inf parsing in s2v_f32_gain_to_db()
...
I noticed this thanks to a test I implemented myself in clap-validator
ha.
2023-01-10 00:40:50 +01:00
Robbert van der Helm
27acce3237
Remove the DC filter from Spectral Compressor
...
It's not needed anymore and the behavior is confusing. This was added to
prevent upwards compression and gain increases on DC values from blowing
up. But we no longer do upwards compression on DC bins anyways.
2023-01-08 00:03:38 +01:00
Robbert van der Helm
957d4b3a53
Document the breaking event loop changes
2023-01-07 14:24:23 +01:00
Robbert van der Helm
57e751d277
Remove todo about single message queues
...
Because we just did that.
2023-01-06 18:05:52 +01:00
Robbert van der Helm
47b75fd020
Fix missing generic arguments on BackgroundThread
2023-01-06 17:59:33 +01:00
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