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 |
|
Robbert van der Helm
|
22995df7ea
|
Actually only calculate hashes once
|
2022-01-31 22:42:36 +01:00 |
|
Robbert van der Helm
|
7c57ac6737
|
Fix typo in hash overflow warning
|
2022-01-31 22:39:11 +01:00 |
|
Robbert van der Helm
|
5aec636f9f
|
Format boolean parameters as On/Off by default
|
2022-01-31 22:36:58 +01:00 |
|
Robbert van der Helm
|
0aad790fd7
|
Fix deserializing boolean parameters
|
2022-01-31 22:32:20 +01:00 |
|
Robbert van der Helm
|
85db4d82df
|
Fix param_id_to_hash name
These were swapped for some reason.
|
2022-01-31 22:24:07 +01:00 |
|
Robbert van der Helm
|
880ee92a47
|
Drop param_id_to_hash
As it turns out, it's redundant (and also had the opposite name).
|
2022-01-31 22:23:29 +01:00 |
|
Robbert van der Helm
|
fe8f1d27d6
|
Use a stable ordering for the parameters
As the fields are specified on the parameters struct.
|
2022-01-31 22:20:09 +01:00 |
|
Robbert van der Helm
|
260d38580b
|
Warn on parameter hash overflow
|
2022-01-31 21:34:36 +01:00 |
|
Robbert van der Helm
|
54bcf52912
|
Add Default implementations for parameter types
|
2022-01-31 21:19:40 +01:00 |
|