Robbert van der Helm
fd3f4c2c48
Allow skipping steps in the smoothers
...
I'll need this for Diopser since it's going to have a parameter to
control the automation's granularity.
2022-02-13 18:33:05 +01:00
Robbert van der Helm
99fe9e865b
Fix decimals in snapping test
2022-02-13 18:07:19 +01:00
Robbert van der Helm
990072f529
Fix step size based formatting
2022-02-13 18:03:45 +01:00
Robbert van der Helm
19d2dc0a67
Implement step snapping for parameters
2022-02-13 17:52:54 +01:00
Robbert van der Helm
4481ef0ae9
Avoid more redundancy in parameter handling
2022-02-13 16:49:29 +01:00
Robbert van der Helm
4783535ebb
Use preview_plain when setting normalized values
...
To prevent bugs, there should be only one way parameters are
unnormalized.
2022-02-13 16:44:18 +01:00
Robbert van der Helm
adf59c192b
Add a step size for float parameters
2022-02-13 16:41:31 +01:00
Robbert van der Helm
ef4c2ad7f9
Add missing #[cfg(test)]
2022-02-13 16:14:26 +01:00
Robbert van der Helm
16c0dc8b1e
Shorten miri tests
...
These extra iterations shouldn't matter, and miri is pretty slow.
2022-02-13 15:54:19 +01:00
Robbert van der Helm
7d3beb174e
Simplify ScopedFtz
2022-02-13 13:51:02 +01:00
Robbert van der Helm
e7c3e19519
Add (miri) tests for {u16,}strlcpy()
2022-02-13 13:04:19 +01:00
Robbert van der Helm
a70edc8105
Remove now-unnecessary unsafe blocks
2022-02-13 12:47:14 +01:00
Robbert van der Helm
2525319207
Add a miri test for the buffer
2022-02-13 02:29:10 +01:00
Robbert van der Helm
a734dd09f3
Fix lifetimes on buffer adapter
2022-02-13 01:58:22 +01:00
Robbert van der Helm
73fe012751
Rename the buffer lifetimes
2022-02-13 01:48:56 +01:00
Robbert van der Helm
16e299ca34
Add the outer lifetime back to the sample buffer
2022-02-13 01:47:26 +01:00
Robbert van der Helm
81ddb410f5
Fix buffer iterators over last refactor
...
This len() function returns the remaining length, which is not what we
want.
2022-02-13 01:16:52 +01:00
Robbert van der Helm
8411313270
Move Buffer::iter_mut() lifetime definitions
2022-02-13 01:11:23 +01:00
Robbert van der Helm
eac3fdf612
Fix duplicate mutable borrow soundness in buffer
...
This gets rid of multiple simultaneous &mut references to the
vector (which should be fine, I think), and also replaces the
`.iter_mut()` that just resets the index (which definitely leads to
soundness issues) with an `.iter_mut()` and a `.into_iter()` that don't
let you have concurrent mutable borrows to the same sample data.
2022-02-13 00:59:25 +01:00
Robbert van der Helm
eea05cc748
Rename reset_iter to iter_mut
...
So it's more consistent.
2022-02-12 23:28:15 +01:00
Robbert van der Helm
2c394aabd5
Add nicer adapter for repeating channel iteration
2022-02-12 23:16:07 +01:00
Robbert van der Helm
c99877ec05
Fix Smoother::is_smoothing()
2022-02-12 20:54:03 +01:00
Robbert van der Helm
0bb3113197
Fix manual buffer accessors
2022-02-12 20:33:31 +01:00
Robbert van der Helm
cd0b870682
Directly pass a style to .with_smoother()
2022-02-12 19:56:37 +01:00
Robbert van der Helm
693b618bc5
Add accessors for channel data
...
This is needed when you want to modify the same sample multiple times
within an outer loop.
2022-02-12 19:24:41 +01:00
Robbert van der Helm
bc11c97fcf
Use the new builder interface
2022-02-12 17:19:52 +01:00
Robbert van der Helm
34fa536acb
Add a builder interface for constructing params
2022-02-12 17:10:25 +01:00
Robbert van der Helm
f645b6a92f
Relicense under the ISC license
2022-02-12 16:04:46 +01:00
Robbert van der Helm
93fdb0da97
Shamelessly plug yabridge
2022-02-10 23:53:31 +01:00
Robbert van der Helm
379c74e874
Remove spurious dbg!() calls
2022-02-10 23:41:04 +01:00
Robbert van der Helm
69498f3527
Implement the event loop for Windows
2022-02-10 23:37:59 +01:00
Robbert van der Helm
6e1f7930e3
Fix VST3 CID consistency between platforms
2022-02-10 21:31:27 +01:00
Robbert van der Helm
8934d06381
Add a todo for adding builders to parameters
2022-02-10 01:21:07 +01:00
Robbert van der Helm
b61d17fee9
Require all parameters to have a Display instance
...
So their value can be easily formatted in UIs.
2022-02-09 19:45:16 +01:00
Robbert van der Helm
cd683187e0
Allow resetting parameters by double clicking
2022-02-09 11:51:30 +01:00
Robbert van der Helm
0633fddb5c
Add a function for setting pre-normalized values
2022-02-09 01:07:17 +01:00
Robbert van der Helm
1d6a9aac74
Add a way to fetch a parameter's default value
2022-02-08 23:51:07 +01:00
Robbert van der Helm
19bf213204
Add alignment specifiers and soundness comment
2022-02-08 23:16:32 +01:00
Robbert van der Helm
0ddfae1dd3
Also mode the factory to its own module
...
Now you can finally find the thing you're looking for.
2022-02-08 22:32:54 +01:00
Robbert van der Helm
05b9d4dd0b
Move the main VST3 wrapper to a module
2022-02-08 22:28:18 +01:00
Robbert van der Helm
08fe8e703e
Explicitly guarantee no simultaneous editors exist
2022-02-08 20:16:04 +01:00
Robbert van der Helm
02115d5004
Use a patched {egui-,}baseview for X11 GL contexts
2022-02-07 21:58:59 +01:00
Robbert van der Helm
0fb8ce6f7e
Add part of a Windows event loop implementation
2022-02-07 00:33:41 +01:00
Robbert van der Helm
ce37ec288e
Don't store a GUID in the factory
...
This isn't actually needed.
2022-02-07 00:19:05 +01:00
Robbert van der Helm
c9a5818cb4
Fix Windows entry point names
2022-02-06 23:37:40 +01:00
Robbert van der Helm
df76047419
Move the process context to its own module
2022-02-06 18:51:46 +01:00
Robbert van der Helm
37a8f529b0
Move WrapperView to its own module
2022-02-06 18:46:16 +01:00
Robbert van der Helm
9db4c0d691
Move inner wrapper to its own module
...
We'll need to do this with the other parts as well. Navigating this
module has become practically impossible
2022-02-06 17:50:15 +01:00
Robbert van der Helm
427c7674b9
Move VST3 pointer check macros to a module
2022-02-06 17:40:35 +01:00
Robbert van der Helm
556bec7c0b
Move editor handling to its own struct
...
This makes the API much, much nicer (especially consuming the egui
wrapper), and it also avoids having to lock the plugin instance which is
obviously very bad if the plugin is also supposed to be processing audio
on another thread.
2022-02-06 17:12:57 +01:00