1
0
Fork 0
Commit graph

245 commits

Author SHA1 Message Date
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