Robbert van der Helm
2ee3b7c2fa
Fix InitContext drop order for standalone presets
2023-03-03 13:21:10 +01:00
Robbert van der Helm
a202c3801a
Account for Params::deserialize_fields allocating
...
When state through `GuiContext`.
2023-03-03 13:12:47 +01:00
Robbert van der Helm
a97c8ea554
Allow querying other interfaces for VST3 plugins
...
Not checking `iid` was an oversight, so if the host would create
anything other than `IComponent` this would do the wrong thing. With
this change the host can create an object for any interface we support.
Fixes #58 .
2023-03-03 00:08:12 +01:00
Robbert van der Helm
6fe5c7c471
Silence missing docs warnings for entry points
2023-03-02 12:58:51 +01:00
Robbert van der Helm
b840113caf
Fix typo in comment
2023-03-01 23:49:35 +01:00
Robbert van der Helm
2dc0b48f73
Update the nih_plug_xtask dependencies
2023-03-01 23:23:04 +01:00
Robbert van der Helm
b1b3ee6e21
Update the clap dependency
...
No not that clap.
2023-03-01 23:15:02 +01:00
Robbert van der Helm
ed4054b0cf
Update CPAL
...
This update mostly made things more complicated.
2023-03-01 23:11:52 +01:00
Robbert van der Helm
5e374216e9
Update the zstd dependency version
2023-03-01 22:35:00 +01:00
Robbert van der Helm
164e8bd402
Update the windows dependency version
2023-03-01 22:34:46 +01:00
Robbert van der Helm
4ee5f13638
Log assert_no_alloc failures using the logger
...
This can now finally be enabled thanks to NIH-log explicitly supporting
reentrant logging.
This finally resolves #30 .
2023-03-01 19:53:36 +01:00
Robbert van der Helm
e9ac1c9efd
Update to nih_log 0.2.0
...
This is needed to enable logging for assert_no_alloc failures.
2023-03-01 19:53:17 +01:00
Robbert van der Helm
5a8721f63c
Derive Debug for the editor state structs
2023-03-01 19:19:54 +01:00
Robbert van der Helm
199e836f80
Remove unnecessary must_use attribute
2023-03-01 19:11:35 +01:00
Robbert van der Helm
9dad9fe1a4
Remove now unused imports
2023-03-01 19:11:24 +01:00
Robbert van der Helm
c381744b47
Switch to using NIH-log for the logger
...
This greatly simplifies the setup, provides more deterministic and
performant behavior, and allows for better WinDbg integration by
detecting its presence at runtime and by using the regular pretty log
format there as well.
2023-03-01 19:01:15 +01:00
Robbert van der Helm
e3a923ff3b
Avoid restoring window sizes with ViziaState
...
Unless specified otherwise. This avoids some bugs where old, now
incorrect sizes are being recalled.
2023-02-28 18:50:15 +01:00
Robbert van der Helm
e621ec9b59
Print zstandard compression ratios
2023-02-28 18:12:58 +01:00
Robbert van der Helm
72f57b358f
Remove leftover debug prints
2023-02-28 17:58:34 +01:00
Robbert van der Helm
6ef0092dca
Allow the windbg logger to be overridden
2023-02-28 14:04:53 +01:00
Robbert van der Helm
99223ed1c8
Prevent HiDPI scale changes after opening editor
...
Ableton Live does this and it caused mysterious issues where the window
could suddenly be larger than the window's contents when resizing on a
HiDPI setup.
2023-02-27 01:02:52 +01:00
Robbert van der Helm
a14b4cf61e
Fix years in copyright headers
2023-02-27 00:59:56 +01:00
Robbert van der Helm
5566dd7fbb
Add PersistentField implementation for AtomicCell
...
This API really needs to change.
2023-02-26 17:49:33 +01:00
Robbert van der Helm
338f79e6be
Save and restore Spectral Compressor editor state
2023-02-26 17:35:04 +01:00
Robbert van der Helm
083326a933
Revert addition of Spectral Compressor standalones
...
Until the standalones at least have some way to change parameter values
without a GUI these probably shouldn't be published with standalones.
2023-02-26 16:25:11 +01:00
Robbert van der Helm
49e99eef53
Update the JACK bindings
...
We should no longer have to use our own fork for this.
2023-02-26 16:23:24 +01:00
Robbert van der Helm
86adca2e5a
Reexport nih_export_standalone in crate root
...
To keep the symmetry with the `nih_export_clap!()` and
`nih_export_vst3!()` macros.
2023-02-26 16:18:05 +01:00
Robbert van der Helm
7f8c1d955d
Catch VST3 parameter flushes for aux-only plugins
...
This probably shouldn't happen, but you technically can have a plugin
with no main output but with an auxiliary output. Without this check we
would not detect the parameter flush.
2023-02-26 01:27:03 +01:00
Robbert van der Helm
5ed84e5ea4
Add checks for auxiliary output channel counts
...
Apparently this was missing.
2023-02-26 01:21:31 +01:00
Robbert van der Helm
9eaf375f6b
Relax VST3 aux input debug assertions for flushes
2023-02-26 01:17:44 +01:00
Robbert van der Helm
767cff6294
Prevent incorrect pointer derefs in debug asserts
2023-02-26 01:14:06 +01:00
Robbert van der Helm
878d0e5330
Fix comment
2023-02-26 01:06:42 +01:00
Robbert van der Helm
d2b7970991
Remove the mandatory VST3 output bus
...
This doesn't seem to be necessary anymore. Perhaps this was just an
incorrect check for parameter flushes.
2023-02-26 01:05:50 +01:00
Robbert van der Helm
e41a1b94b5
Silence warning about now unused argument
...
Amends 3a9b3281e8
.
2023-02-26 01:05:46 +01:00
Robbert van der Helm
20ad19fdc5
Fix main IO for plugins with aux but no main IO
...
This would otherwise check and interact with the wrong buffers.
2023-02-26 01:05:46 +01:00
Robbert van der Helm
2580953b87
Clarify buffer_is_valid check
2023-02-26 00:56:39 +01:00
Robbert van der Helm
3a9b3281e8
Don't return kResultFalse when deactivating busses
...
Validator-sama will get very upset with us if we do.
2023-02-25 19:40:20 +01:00
Robbert van der Helm
72d2ed4151
Add MIDI IO support to the CPAL backends
...
Using Midir. This has been on the todo list for way too long.
2023-02-25 19:22:08 +01:00
Robbert van der Helm
2ed95bb52d
Add basic MIDI device selection using midir
2023-02-25 17:19:06 +01:00
Robbert van der Helm
98b8571dc9
Bundle CPAL device data into a struct
2023-02-25 17:11:59 +01:00
Robbert van der Helm
1feeb6e961
Add log messages about enabling MIDI IO with CPAL
2023-02-25 16:15:33 +01:00
Robbert van der Helm
e44d91c016
Add standalone CLI options for MIDI IO with CPAL
2023-02-25 16:11:17 +01:00
Robbert van der Helm
7c92167d85
Reorder standalone options order
...
Backend agnostic audio options should come before backend specific ones.
2023-02-25 14:48:52 +01:00
Robbert van der Helm
045598aa09
Rename CPAL standalone backend to CpalMidir
...
To make it a bit more obvious what it ends up using for IO.
2023-02-25 14:43:59 +01:00
Robbert van der Helm
d777b02d33
Use snake case for JACK client names
...
Like we're doing with the ports now.
2023-02-23 23:00:19 +01:00
Robbert van der Helm
d7e766ca00
Support auxiliary IO for JACK standalones
2023-02-23 22:58:11 +01:00
Robbert van der Helm
72c43adda6
Mark the Spectral Compressor struct as pub
...
For testing with standalones.
2023-02-23 22:55:15 +01:00
Robbert van der Helm
3ca24bdc8c
Fix dangling references with CPAL aux buffers
2023-02-23 22:30:32 +01:00
Robbert van der Helm
c6e0be341f
Actually use the standalone backend aux buffers
2023-02-23 22:20:21 +01:00
Robbert van der Helm
952bb8c129
Mark Crossover struct as pub
...
For testing with standalones
2023-02-23 22:15:35 +01:00