1
0
Fork 0
Commit graph

2120 commits

Author SHA1 Message Date
Robbert van der Helm 727b15aa93 Remove the Default bound from SysExMessage::Buffer 2023-05-13 22:39:54 +02:00
Robbert van der Helm 4753cd95ce Fix typo in changelog 2023-05-13 22:38:57 +02:00
Robbert van der Helm 68b3b864d6 Assert that parameter ranges are valid 2023-04-30 21:28:23 +02:00
Robbert van der Helm 0afe6852b3 Avoid returning negative zeroes in v2s_f32_rounded
This ensures that values roundtrip correctly since -0.0 and 0.0
correspond to the same normalized value.
2023-04-27 12:30:45 +02:00
Robbert van der Helm af12853644 Enable sample accurate automation in SoftVacuum 2023-04-25 00:22:14 +02:00
Robbert van der Helm 1cedd1fd7e Upgrade NIH-log to 0.3.1
This fixes the local time offsets on Linux.
2023-04-24 23:57:58 +02:00
Robbert van der Helm 5e69910616 Consider block start with buffer management
This broke sample accurate automation.
2023-04-24 23:47:29 +02:00
Robbert van der Helm 4912962551 Fix broken links in docs 2023-04-24 14:54:20 +02:00
Robbert van der Helm 808782df05 Take &mut self for editor() and task_executor() 2023-04-24 14:51:40 +02:00
Robbert van der Helm 44476ad696 Better describe the Plugin trait 2023-04-24 14:37:14 +02:00
Robbert van der Helm 5075f88687 Update dependencies 2023-04-24 14:00:43 +02:00
Robbert van der Helm 9af37968b5 Add a docstring for add_spacer 2023-04-22 17:26:40 +02:00
Robbert van der Helm 6f1f7e66ab Rename CLAP main control page name 2023-04-22 17:00:49 +02:00
Robbert van der Helm 56c0a21989 Define remote controls for Crossover 2023-04-22 16:59:18 +02:00
Robbert van der Helm 911c0d57d5 Allow declaratively defining CLAP remote controls 2023-04-22 16:59:03 +02:00
Robbert van der Helm 841fe2424c Update to CLAP 1.1.8 2023-04-22 16:09:58 +02:00
Robbert van der Helm a7e4e8b31e Add a context for defining remote control pages 2023-04-22 15:53:04 +02:00
Robbert van der Helm 2dbd835778 Also prefer importing from prelude internally
Less breakage when restructuring modules.
2023-04-22 15:13:39 +02:00
Robbert van der Helm 34b416ecb6 Move API-specific traits and structs to submodules 2023-04-22 14:52:01 +02:00
Robbert van der Helm 1deb907c38 Fix header name in changelog 2023-04-22 14:43:28 +02:00
Robbert van der Helm f2ac4660ca Replace Crossover preset URL 2023-04-14 14:52:00 +02:00
Robbert van der Helm 2187aa96ab Fix formatting in formatters.rs
Rustfmt changed the way it formats this a while back.
2023-04-07 13:33:39 +02:00
Robbert van der Helm 699c2b99f9 Update Soft Vacuum's descriptions 2023-04-07 13:18:13 +02:00
Robbert van der Helm 2e28797bed Install missing libraries
These are no longer shipped by default on the Ubuntu 20.04 image.
2023-04-05 20:28:10 +02:00
Robbert van der Helm ffb9fb378c Change runners to use Ubuntu 20.04
Seems like GitHub finally pulled the plug out of 18.04.
2023-04-05 20:21:23 +02:00
Robbert van der Helm e1c7508624 Rename the Soft Vacuum package 2023-04-05 20:07:13 +02:00
Robbert van der Helm ad5f0ce72a Upsample the slews in Soft Vacuum
Now the oversampled versions sound similar to the non-oversampled
version.
2023-04-05 19:52:41 +02:00
Robbert van der Helm f922e668b7 Add an upsampling-only option to the oversamplers
This will be used to upsample the slew control signal.
2023-04-05 19:52:09 +02:00
Robbert van der Helm b9045a2aa8 Split slew computation in Hard Vacuum 2023-04-05 19:45:30 +02:00
Robbert van der Helm c748d79963 Temporarily remove slew compensation
We should probably just upsample the slews as a control signal and use
that instead.
2023-04-05 19:08:59 +02:00
Robbert van der Helm 4e0a0d4cd5 Move smoothing scratch buffers to the heap
This is probably a good idea to keep the stack sizes small. A couple 32
element buffers should be fine, but these fit 512 elements each and
Windows can be fussy about stack sizes.
2023-04-05 19:05:51 +02:00
Robbert van der Helm d3f820dc8c Set the default oversampling amount to 2x
Oversampling is not always needed, so this is probably a better default.
2023-04-05 18:54:13 +02:00
Robbert van der Helm 913aa4bef9 Decrease Soft Vacuum output gain range
-40 dB sounds reasonable. No need to go down all the way to -100.0. The
original version was in the linear domain.
2023-04-05 18:46:47 +02:00
Robbert van der Helm 4b5f52252a Make the oversampling in Soft Vacuum configurable 2023-04-05 18:40:40 +02:00
Robbert van der Helm c6765d91ac Modify oversampler to allow variable no of stages
This is needed to be able to add a control for the oversampler amount.
2023-04-05 18:22:28 +02:00
Robbert van der Helm 40db21277e Fix debug assertions in oversampling
These were leftover from before the addition of delays.
2023-04-05 18:22:28 +02:00
Robbert van der Helm 1711efa11e Add a basic 4x oversampled version of Hard Vacuum
The oversampling amount should be configurable, and it would work better
if the slew signal was oversampled independently instead of doing this
compensation thing.
2023-04-05 18:22:28 +02:00
Robbert van der Helm 6a368c1ac6 Add a Lanczos3-based linear phase oversampler 2023-04-05 18:22:28 +02:00
Robbert van der Helm 4b706acac5 Mention Soft Vacuum in the readme 2023-04-05 18:22:28 +02:00
Robbert van der Helm 41b513541d Rename Soft Vacuum plugin name 2023-04-05 18:22:28 +02:00
Robbert van der Helm f4c3c96364 Add parameters for the Hard Vacuum port 2023-04-05 18:22:28 +02:00
Robbert van der Helm 456a22119e Port the Hard Vacuum algorithm 2023-04-05 18:22:28 +02:00
Robbert van der Helm 1abcb02647 Add an abstraction for the Hard Vacuum algorithm 2023-04-05 18:22:28 +02:00
Robbert van der Helm 3e26fcf912 Add a skeleton for a Hard Vacuum port 2023-04-05 18:22:28 +02:00
Robbert van der Helm 4502eaec3a Change wrapped smoothing style to be a static ref
Instead of having to wrap this in an `Arc`. This makes the interface a
bit nicer to use.
2023-04-05 18:16:58 +02:00
Robbert van der Helm 8a7100ac3e Add an OversamplingAware smoothing style
This can be used to have an ergonomic way to do multi-rate smoothing
with variable oversampling amounts that only the `Arc<AtomicF32>` to be
updated from a parameter callback.
2023-04-05 18:08:22 +02:00
Robbert van der Helm 95d7dabcee Downgrade unknown serialization fields to trace
Instead of being debug assertion failures. These are guaranteed to
trigger when using persistent fields together with nested param structs.
2023-04-05 16:13:16 +02:00
Robbert van der Helm 3aa3f08f82 Upgrade nih_debug_assert!() to panic in tests 2023-04-05 16:13:16 +02:00
Robbert van der Helm 58174c1af0 Add a miri test for the buffer management's safety 2023-04-01 16:12:37 +02:00
Robbert van der Helm 112c801bc4 Use the new buffer management for the CPAL backend
Now everything uses `BufferManager`. That should hopefully reduce the
chances that different backends behave differently or trigger different
debug assertions.
2023-04-01 15:43:58 +02:00