Robbert van der Helm
6e1f7930e3
Fix VST3 CID consistency between platforms
2022-02-10 21:31:27 +01:00
Robbert van der Helm
a83cbf8aca
Support cross compiling in xtask bundle
2022-02-10 20:44:47 +01:00
Robbert van der Helm
ed5e0f673b
Use an updated vst3-sys for cross compilation
2022-02-10 19:59:36 +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
da8f4c20cf
Add more labels to the gain_gui example
...
Before adding a VU meter widget and removing all of this cruft.
2022-02-09 19:49:23 +01:00
Robbert van der Helm
e1f80e203a
Render the ParamSlider value
2022-02-09 19:45:54 +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
87b31f4c2f
Move the main slider to a function
2022-02-09 19:17:46 +01:00
Robbert van der Helm
cd50d5bb77
Remove todo about wonky modifiers
...
This has been fixed by https://github.com/RustAudio/baseview/pull/117 .
2022-02-09 19:10:58 +01:00
Robbert van der Helm
057d0cbf56
Use a patched patched baseview fixing modifiers
...
This should fix https://github.com/RustAudio/baseview/issues/116 .
2022-02-09 18:41:30 +01:00
Robbert van der Helm
64da9c52c2
Add todo about modifier handling in egui-baseview
2022-02-09 12:28:38 +01:00
Robbert van der Helm
7eb8622736
Drag very granularly with Shift+Drag
2022-02-09 12:24:01 +01:00
Robbert van der Helm
5dd3cab305
Temporarily show this slider for a skewed int
2022-02-09 11:51:53 +01:00
Robbert van der Helm
9dfac991c8
Also reset parameters with Ctrl+Click
2022-02-09 11:51:42 +01:00
Robbert van der Helm
fe3ea5d9f8
Don't change a parmeter if it wouldn't do anything
2022-02-09 11:51:30 +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
882ba8f61d
Don't use smart aim
...
Probably not needed here
2022-02-09 11:36:10 +01:00
Robbert van der Helm
8e7a86262f
Handle parameter edit begin and release
2022-02-09 11:34:58 +01:00
Robbert van der Helm
a1c6d1d30a
Scale the dragged slider color based on original
2022-02-09 11:32:19 +01:00
Robbert van der Helm
7a50cc3383
Add HSV scaling utilities
2022-02-09 11:31:59 +01:00
Robbert van der Helm
dbc6bf993b
Don't fill the slider if it's empty
2022-02-09 11:19:49 +01:00
Robbert van der Helm
e2524a2d81
Handle stepped non-float parameters
...
The widget now snaps to the correct range. This would always be
displayed this way internally, but now we also won't tell the host about
the invalid values.
2022-02-09 11:18:38 +01:00
Robbert van der Helm
46a7d8a261
Make the ParamSlider generic over all param types
2022-02-09 11:13:51 +01:00
Robbert van der Helm
857cf876e8
Add the beginnings of a parameter slider widget
2022-02-09 01:07:57 +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
5e65f5b77a
Permissively license the egui integration crate
...
The widgets that are going to be there are probably going to be useful
to others and may need some modification, so this makes more sense.
2022-02-08 23:27:46 +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
2417f9e8c0
Remove AtomicCell re-export
...
This is no longer part of the public API.
2022-02-08 20:38:10 +01:00
Robbert van der Helm
07f9a18d3d
Rename EguiState::open to is_open
...
This makes it more clear that it doesn't actually open the editor.
2022-02-08 20:33:08 +01:00
Robbert van der Helm
d9ac60ae85
Only calculate peak meter while GUI is open
...
To show off this feature.
2022-02-08 20:28:40 +01:00
Robbert van der Helm
4260c5441c
Add a way to know whether the egui editor is open
2022-02-08 20:16:39 +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
57297cc04c
Update the patched baseview
...
This version adds back Windows and macOS OpenGL context creation.
NIH-plug does not yet have a functional event loop for those platforms
though.
2022-02-08 12:38:17 +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
5549fd4185
Add a todo for checking for open egui GUIs
2022-02-07 11:53:09 +01:00
Robbert van der Helm
611c0a4c39
Update baseview dependencies
...
These got updated to use more recent dependencies.
2022-02-07 11:45:12 +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
02614e4a5a
Use absolute values for the peak meter gain
...
I guess I wasn't thinking too clearly when I wrote this.
2022-02-06 19:20:03 +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
e99311097b
Mention the current status in the readme
2022-02-06 18:31:49 +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
Robbert van der Helm
3ede5ed751
Move the TODO on GUI opening xruns
2022-02-06 15:32:54 +01:00