Robbert van der Helm
|
aee3775c10
|
Add default implementations for most trait methods
Except for process()
|
2022-02-04 15:17:42 +01:00 |
|
Robbert van der Helm
|
74e0fa5964
|
Add defaults for some of the plugin constants
|
2022-02-04 15:17:42 +01:00 |
|
Robbert van der Helm
|
f69fdcef5f
|
Add another plugin constant for MIDI support
|
2022-02-04 15:17:42 +01:00 |
|
Robbert van der Helm
|
c1f435d909
|
Refer to the gain plugin in the Params trait
|
2022-02-03 17:05:38 +01:00 |
|
Robbert van der Helm
|
fc96bb4349
|
Fix channel map debug assertion
|
2022-02-03 17:03:33 +01:00 |
|
Robbert van der Helm
|
dfb73f6902
|
Mention the 6 character overflow limit for IDs
|
2022-02-03 17:02:42 +01:00 |
|
Robbert van der Helm
|
30609c3ecd
|
Add an is_smoothing() check
|
2022-02-03 16:51:41 +01:00 |
|
Robbert van der Helm
|
82dfee9313
|
Document the FTZ flags in the process function
|
2022-02-03 16:22:32 +01:00 |
|
Robbert van der Helm
|
e642fb5ff8
|
Make sure FTZ is always enabled
|
2022-02-03 16:18:24 +01:00 |
|
Robbert van der Helm
|
dfedd7b2c4
|
Enable assert_no_alloc in debug builds
|
2022-02-03 15:58:00 +01:00 |
|
Robbert van der Helm
|
2ca54d220d
|
Add logarithmic smoothing
|
2022-02-02 23:00:17 +01:00 |
|
Robbert van der Helm
|
1ad477ee4f
|
Add smoothing tests
|
2022-02-02 22:34:29 +01:00 |
|
Robbert van der Helm
|
1c80744989
|
nih_debug_assert_neq -> nih_debug_assert_ne
|
2022-02-02 22:29:14 +01:00 |
|
Robbert van der Helm
|
da291175d1
|
Rename SmoothLinear to Linear
We'll rethink this when we get to sample accurate automation.
|
2022-02-02 22:00:00 +01:00 |
|
Robbert van der Helm
|
0ecec104fb
|
Completely reset smoothing on init or restore
|
2022-02-02 21:41:20 +01:00 |
|
Robbert van der Helm
|
1336139a65
|
Update smoothers on init and state restore
Otherwise this would be filled with default values.
|
2022-02-02 21:33:20 +01:00 |
|
Robbert van der Helm
|
e30a72888a
|
Add an update_smoother() parameter method
|
2022-02-02 21:26:34 +01:00 |
|
Robbert van der Helm
|
ea7dc2ffa3
|
Implement smoothing for integers
|
2022-02-02 21:26:20 +01:00 |
|
Robbert van der Helm
|
8f89754ba5
|
Add simple linear parameter smoothing
|
2022-02-02 21:26:13 +01:00 |
|
Robbert van der Helm
|
fced4001c0
|
Access plain values using the method
Since we're also setting them using the method.
|
2022-02-02 20:39:04 +01:00 |
|
Robbert van der Helm
|
a42649b2de
|
Derive a Default instance for the Buffer
To make Clippy happy.
|
2022-02-02 20:37:06 +01:00 |
|
Robbert van der Helm
|
13369e4085
|
Reinitialize the plugin after restoring state
This lets you use the parameters to set fields on the plugin struct
during `initialize()`.
|
2022-02-02 15:39:55 +01:00 |
|
Robbert van der Helm
|
c982ad9599
|
Avoid duplicate state restores
|
2022-02-02 15:32:21 +01:00 |
|
Robbert van der Helm
|
c8cc6bd26b
|
Re-export all user facing includes
|
2022-02-02 15:16:10 +01:00 |
|
Robbert van der Helm
|
f44597df7c
|
Move the buffer adapter to its own module
|
2022-02-02 15:01:41 +01:00 |
|
Robbert van der Helm
|
048d69213e
|
Make the buffer own the output slices
This gets rid of a lot of lifetime casting and other unsoundness.
|
2022-02-02 14:41:35 +01:00 |
|
Robbert van der Helm
|
fbadfe3e12
|
Fix clippy lints
|
2022-02-02 13:02:28 +01:00 |
|
Robbert van der Helm
|
6cde9cea0e
|
Simplify spawn_unchecked lifetime transmute
|
2022-02-02 13:02:28 +01:00 |
|
Robbert van der Helm
|
58736f5cc8
|
Add a super unsafe channel buffer adapter
To avoid having to perform lifetime magic here, this buffer needs to own
the slices and be stored as part of the RwLock.
|
2022-02-02 13:02:28 +01:00 |
|
Robbert van der Helm
|
63e4a54d7c
|
Center skewed parameters around the skew center
It's a bit awkward and you can completely lose some parts of the range
if you don't do this.
|
2022-02-02 00:06:07 +01:00 |
|
Robbert van der Helm
|
1202b2b9d6
|
Update unimplemented features list
These things are now all implemented.
|
2022-02-01 23:39:13 +01:00 |
|
Robbert van der Helm
|
7752ce6771
|
Add symmetrically and asymmetrically skewed ranges
This is super useful. I'm sure the symmetrical implementation can be
optimized a lot, but my math-fu was not strong enough today.
|
2022-02-01 23:37:28 +01:00 |
|
Robbert van der Helm
|
740868a10c
|
Move parameter ranges to their own module
This module was too difficult to navigate with parameter types + ranges
+ implementation details.
|
2022-02-01 21:06:13 +01:00 |
|
Robbert van der Helm
|
27bef6fbbc
|
Move the param trait up in the module
|
2022-02-01 21:02:58 +01:00 |
|
Robbert van der Helm
|
4aa85b43b4
|
Move parameter implementation details to a module
|
2022-02-01 21:01:28 +01:00 |
|
Robbert van der Helm
|
bc60dc35b6
|
Fix rustdoc references
|
2022-02-01 20:53:20 +01:00 |
|
Robbert van der Helm
|
6bb83061dd
|
Rename the params module to param
It's a heterogeneous module, and splitting the ranges to their own
module will be a bit weird otherwise.
|
2022-02-01 20:51:22 +01:00 |
|
Robbert van der Helm
|
15e0f6f21a
|
Remove unnecessary import
I was going to add that set_parameter function in the next commit, but
that will need to wait a bit.
|
2022-02-01 19:54:35 +01:00 |
|
Robbert van der Helm
|
473447179f
|
Handle idempotent latency changes
|
2022-02-01 17:17:10 +01:00 |
|
Robbert van der Helm
|
e2e2c59d34
|
Pass the process context to the plugin
|
2022-02-01 17:09:23 +01:00 |
|
Robbert van der Helm
|
3a1fbed4c3
|
Mark MainThreadExecutor::execute as unsafe
This should only be called from the main thread. Otherwise the API's
threading guarantees will not be upheld.
|
2022-02-01 17:01:05 +01:00 |
|
Robbert van der Helm
|
459175b470
|
Call the component handler for restarts
|
2022-02-01 16:59:11 +01:00 |
|
Robbert van der Helm
|
223d0c3a90
|
Take a reference to the component handler
|
2022-02-01 16:52:55 +01:00 |
|
Robbert van der Helm
|
d47aac25a1
|
Rearrange WrapperInner parameters
|
2022-02-01 16:40:51 +01:00 |
|
Robbert van der Helm
|
565d9259c3
|
Use weak references to the executor
So this cyclic reference can't keep it alive.
|
2022-02-01 15:31:16 +01:00 |
|
Robbert van der Helm
|
98076ff792
|
Use a custom .spawn_unchecked without nightly req
Courtesy of Yandros on the Rust Discord.
|
2022-02-01 15:04:36 +01:00 |
|
Robbert van der Helm
|
8a0e083168
|
Add a TODO and stub for parameter smoothing
|
2022-02-01 00:14:33 +01:00 |
|
Robbert van der Helm
|
b15991a495
|
Add a todo and stub for setting parameter values
|
2022-02-01 00:01:52 +01:00 |
|
Robbert van der Helm
|
735cec4fba
|
Update context docs
|
2022-02-01 00:01:43 +01:00 |
|
Robbert van der Helm
|
f009384c2f
|
Don't require Arcs for ProcessContext
It makes more sense to pass this as a reference, so the plugin cannot do
weird things with it.
|
2022-01-31 23:47:54 +01:00 |
|