1
0
Fork 0
Commit graph

2157 commits

Author SHA1 Message Date
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
Robbert van der Helm d9284ef0b7 Add debug assertion for custom feature namespaces 2022-11-22 21:19:17 +01:00