Robbert van der Helm
|
2486368d08
|
Use AtomicF32 for the smoothing
This should at least not have a big performance impact since we can use
relaxed memory ordering here. AtomicCell always uses acquire/release
ordering.
|
2022-02-06 03:43:59 +01:00 |
|
Robbert van der Helm
|
bf070fce5a
|
Use atomics in the smoother
This is needed so we can share the params with the editor, but it isn't
great, is there a better alternative?
|
2022-02-06 01:33:19 +01:00 |
|
Robbert van der Helm
|
640fe0ebd7
|
Make parameter pointers hashable
So we can use have generic APIs that take a `Param` implementation and
know how to map those to the parameter IDs used by the plugin API.
|
2022-02-05 17:43:15 +01:00 |
|
Robbert van der Helm
|
0bc8f9b5b1
|
Move preview_{normalized,plain} to Param
We're going to need this for setting parameter values with a gneric API.
|
2022-02-05 17:32:06 +01:00 |
|
Robbert van der Helm
|
b901dac012
|
Disambiguate rustdoc link references
|
2022-02-05 12:56:03 +01:00 |
|
Robbert van der Helm
|
63d30d33e4
|
Fix rustdoc links
|
2022-02-05 12:52:34 +01:00 |
|
Robbert van der Helm
|
4c0031d7b3
|
Fix clippy lints
|
2022-02-04 18:42:42 +01:00 |
|
Robbert van der Helm
|
073fe743c2
|
Split up set_target and reset in smoothers
This makes it a bit less awkward to use in user code, if you need a
separate smoother there.
|
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
|
30609c3ecd
|
Add an is_smoothing() check
|
2022-02-03 16:51:41 +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
|
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
|
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
|
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
|
4aa85b43b4
|
Move parameter implementation details to a module
|
2022-02-01 21:01:28 +01:00 |
|