Robbert van der Helm
7ca855b3fc
Make State cloneable
...
This is needed for user preset support.
2022-04-07 16:50:02 +02:00
Robbert van der Helm
56e9cd54c1
Pass the GuiContext to vizia editors
...
There's no clean way to expose the state save/restore functionality
through events.
2022-04-07 16:14:34 +02:00
Robbert van der Helm
083885a40c
Rework Params trait API with Arc instead of Pin
...
This is a breaking change requiring a small change to plugin
implementations.
The reason why `Pin<&dyn Params>` was used was more as a hint to
indicate that the object must last for the plugin's lifetime, but `Pin`
doesn't enforce that. It also makes the APIs a lot more awkward.
Requiring the use of `Arc` fixes the following problems:
- When storing the params object in the wrapper, the `ParamPtr`s are
guaranteed to be stable.
- This makes it possible to access the `Params` object without acquiring
a lock on the plugin, this is very important for implementing
plugin-side preset management.
- It enforces immutability on the `Params` object.
- And of course the API is much nicer without a bunch of unsafe code to
work around Pin's limitations.
2022-04-07 15:31:46 +02:00
Robbert van der Helm
7cc05fce9a
Use crate instead of super for prelude reexports
2022-04-07 14:13:03 +02:00
Robbert van der Helm
54371fb488
Expose the State object
...
So we can later allow plugins to save and restore state from their GUI
this way.
2022-04-07 14:12:53 +02:00
Robbert van der Helm
b1c34146ee
Get rid of automatically generated bypass params
...
I thought these were mandatory in VST3, they are not.
2022-04-06 13:34:32 +02:00
Robbert van der Helm
af44796056
Fix clippy lints
2022-04-06 13:33:01 +02:00
Robbert van der Helm
0cf8bdfed6
Mention multi architecture bundler in readme
2022-04-05 16:42:41 +02:00
Robbert van der Helm
a49393f863
Update for CLAP 0.24
2022-04-05 16:32:00 +02:00
Robbert van der Helm
cf05ca10f8
Handle AArch64 and more cross compilation targets
...
In the bundler.
2022-04-05 04:12:26 +02:00
Robbert van der Helm
98d725d24f
Add an Iterator implementation for smoothers
2022-04-04 17:58:25 +02:00
Robbert van der Helm
6f01097b03
Add mapped next_block() functions for smoothers
2022-04-04 17:44:49 +02:00
Robbert van der Helm
8dbebdb76f
Fix directory creation from last commit
2022-04-01 16:13:10 +02:00
Robbert van der Helm
3ec042d739
Prevent GitHub Actions from eating zip directory
2022-04-01 16:03:20 +02:00
Robbert van der Helm
63a087f265
Simplify resize handle hover handling
2022-03-29 18:50:34 +02:00
Robbert van der Helm
8d91020238
Fix typo in comment
2022-03-29 17:10:45 +02:00
Robbert van der Helm
7990307b58
Optimize resize handle triangle intersection
...
I guess doing these other checks doesn't really make much sense since
the triangle will always be in the same place.
2022-03-29 17:05:48 +02:00
Robbert van der Helm
7db6101aea
Only resize when clicking on the triangle part
2022-03-29 17:01:35 +02:00
Robbert van der Helm
beb66e46c3
Fix non-hover active styling for resize handle
2022-03-29 16:59:46 +02:00
Robbert van der Helm
d9b018b125
Fix a very important typo
2022-03-29 03:16:55 +02:00
Robbert van der Helm
8ecc30e399
Mark SIMD conversion functions as always inline
2022-03-29 03:14:40 +02:00
Robbert van der Helm
f301726f37
Fix sample accurate automation for VST3
2022-03-29 00:56:04 +02:00
Robbert van der Helm
6dd11561c5
Add resize handles to all vizia GUIs
2022-03-29 00:49:31 +02:00
Robbert van der Helm
7b9eff456c
Update for new vizia resize patch
...
This version uses a property on the context instead of events. This gets
rid of all of the problems and complexity of the previous
implementation.
2022-03-29 00:02:11 +02:00
Robbert van der Helm
4195105e43
Replace FFTW in Diopser with realfft
2022-03-28 18:02:26 +02:00
Robbert van der Helm
2211232ed1
Use realfft for Puberty Simulator
2022-03-28 17:51:36 +02:00
Robbert van der Helm
b4ff09ca33
Get rid of unnecessary RustFFT scratch buffer
2022-03-28 17:45:46 +02:00
Robbert van der Helm
80c3fb8d51
Swap fftw in the stft example out for realfft
...
The FFTW bindings can't statically link on Windows.
2022-03-28 17:13:23 +02:00
Robbert van der Helm
b56c9892c0
Update vizia to fix redrawing after resizing
...
Everything's still very laggy because we're processing 16 resize events
per frame, we need some way to debounce events until the end of the
frame in vizia.
2022-03-28 13:38:40 +02:00
Robbert van der Helm
b9b7903108
Add a lower limit to the GUI size scaling
2022-03-28 00:51:58 +02:00
Robbert van der Helm
c568e5d3be
Don't wait for the request resize result
...
We'll need to find a workaround for this, but this makes resizing in the
CLAP example host way too slow.
2022-03-28 00:50:08 +02:00
Robbert van der Helm
772c1ecfaf
Add a resize handle widget
...
This currently only works on Linux, and it causes a random white bar to
be added to the bottom of the GUI.
2022-03-28 00:33:10 +02:00
Robbert van der Helm
d46169cb18
Update vizia dependency to fix rounding issue
2022-03-27 23:16:14 +02:00
Robbert van der Helm
f3330aee86
Implement the resize request callback for CLAP
2022-03-27 23:11:04 +02:00
Robbert van der Helm
a39eea1fe9
Add a way to rescale and resize the UI from VIZIA
...
With some additional VIZIA patches. This currently causes the layout to
do weird things, so it's not usable yet. On the baseview side this has
also only been implemented for Linux. Once the vizia quirks are gone we
can add a widget that you can add to your GUI to make it scaleable.
2022-03-27 23:09:47 +02:00
Robbert van der Helm
f9db59f4bc
Add a resize request callback to VST3 GuiContext
...
With some more work in baseview this can be used to resize windows from
the plugin.
2022-03-27 19:23:43 +02:00
Robbert van der Helm
8d71369b2e
Rename .is_bypass() to .make_bypass()
...
Because just like `.bypass()` sounds like a getter, so does
`.is_bypass()`.
2022-03-27 03:45:06 +02:00
Robbert van der Helm
f37974448d
Change naming convention for formatters
...
This still isn't idea, but at least it's less ambiguous than it was
before this.
2022-03-27 03:43:39 +02:00
Robbert van der Helm
47a96ee02b
Fix broken rustdoc links
2022-03-27 03:32:45 +02:00
Robbert van der Helm
5caca30f83
Work around ICE for cargo doc+nih_plug_iced
2022-03-27 03:24:39 +02:00
Robbert van der Helm
eed60f0fa4
Allow using the VIZIA integration without theming
2022-03-27 01:59:10 +01:00
Robbert van der Helm
dd8a2d65c0
Add error message to CARGO_MANIFEST_DIR handling
...
Since this is now no longer enforced at compile time. #6
2022-03-26 13:22:15 +01:00
Robbert van der Helm
bbb1f4e68a
Merge pull request #6 from hatoo/nih_plug_xtask/fix_cargo_manifest_dir
...
[nih_plug_xtask] Fix chdir_workspace_root()
2022-03-26 13:17:11 +01:00
hatoo
48813becb3
Fix chdir_workspace_root()
...
Fixed to get $CARGO_MANIFEST_DIR in runtime instead of compile time
2022-03-26 16:02:02 +09:00
Robbert van der Helm
7f365d1113
Update dependencies
2022-03-25 21:04:48 +01:00
Robbert van der Helm
f1f2a8a06e
Rename the modes in Crisp to be more fitting
2022-03-25 15:51:40 +01:00
Robbert van der Helm
d35276437d
Patch vizia to not require pub for lenses
2022-03-23 23:29:49 +01:00
Robbert van der Helm
9c608c77f9
Add formatters for bypass parameters
2022-03-23 17:42:48 +01:00
Robbert van der Helm
8090d0ae41
Add explicit bypass parameter handling
...
Plugins can mark a `BoolParam` with `.is_bypass()`. Hosts can then link
use that parameter directly in their own UI.
2022-03-23 17:42:48 +01:00
Robbert van der Helm
3d7a23c812
Expose steps_left on the smoothers
2022-03-23 16:50:09 +01:00