1
0
Fork 0
Commit graph

2190 commits

Author SHA1 Message Date
Robbert van der Helm 42a7bb37b4 Revert event loop APIs to use Weak instead of Arc
Previously the plugin wouldn't get dropped because the event loops kept
them alive. These APIs used Weak instead of Arc in the past precisely to
prevent this issue. Not sure why I changed that.
2023-02-23 21:45:09 +01:00
Robbert van der Helm 4564bf9027 Fix reference counts for background worker threads
We would decrement this on drop, but never increment it on clone. Oops.
2023-02-23 21:30:09 +01:00
Robbert van der Helm 5d9affad17 Provide dummy aux IO buffers with CPAL backend 2023-02-23 19:43:29 +01:00
Robbert van der Helm 3a6efe49ec Move the unsupported aux warning to CPAL backend
We'll support this with JACK, and in the dummy backend there is no audio
IO anyways.
2023-02-23 19:39:51 +01:00
Robbert van der Helm 9e2c2b776b Add auxiliary buffers in dummy standalone backwend 2023-02-23 19:35:49 +01:00
Robbert van der Helm a8be77a513 Update Vizia, again
Vizia always enabled Winit support, which now requires wayland libs to
be installed when compiling vizia. We don't need or want that.
2023-02-23 18:57:03 +01:00
Robbert van der Helm ed6f5d881c Update Vizia 2023-02-23 18:43:42 +01:00
Jussi Viiri debb2662af s2v_f32_panning() now strips C and R, not just L 2023-02-23 14:46:39 +01:00
Robbert van der Helm af5396d1f4 Drop all wgpu support from nih_plug_iced
This old version ended up making it impossible to upgrade Vizia because
of semver breakage in web-sys and wgpu not pinning a web-sys version.
2023-02-20 20:46:26 +01:00
Robbert van der Helm 52b6c26cc4 Use the custom port names for JACK standalones 2023-02-20 17:02:38 +01:00
Robbert van der Helm e8fd18ab80 Completely reword the audio IO layout system
Instead of a VST3-style polling function to test if a plugin supports a
certain layout, the plugin now explicitly enumerates the supported
layouts. This aligns better with non-VST3 plugin formats.
2023-02-20 16:57:32 +01:00
Robbert van der Helm 36c48157db Add a nih_warn!() macro 2023-02-19 22:56:35 +01:00
Robbert van der Helm 401bb95187 Add a todo for standalone exit codes 2023-02-19 22:09:03 +01:00
Robbert van der Helm 6fd22b3ba9 Move audio setup related structs to a new module 2023-02-19 15:43:40 +01:00
Robbert van der Helm 090b4b529f Fix unused/dead code warnings with VST3 disabled 2023-02-19 13:19:02 +01:00
Robbert van der Helm 5ddcc3bc7d Silence unused event loop warning without VST3 2023-02-19 13:15:09 +01:00
Robbert van der Helm 51865a6415 Add CI job to build NIH-plug without VST3 support
In response to #56.
2023-02-19 13:13:16 +01:00
Robbert van der Helm cdeb244202 Merge branch 'conditional-vst-feature' #55
Add missing conditions related to the "vst3" feature

https://github.com/robbert-vdh/nih-plug/pull/56
2023-02-19 13:12:26 +01:00
Viktor Lazarerv 5a08c27437 Add missing conditions related to the "vst3" feature 2023-02-12 16:30:52 +01:00
Robbert van der Helm 3e4aec4dfe Document missing missing values in NoteEvent 2023-02-08 03:07:13 +01:00
Robbert van der Helm d2b25f8682 Add missing debug assertions for VST3 callback 2023-02-06 18:00:33 +01:00
Robbert van der Helm 0abfcb6045 Add a ParamButton name override modifier 2023-02-02 20:03:54 +01:00
Robbert van der Helm bea1a6028b Remove unnecessary cast 2023-02-02 20:03:43 +01:00
Robbert van der Helm 32f981b1f6 Fix Buffr Glitch for crossfade lengths of 1 sample 2023-02-02 16:27:43 +01:00
Robbert van der Helm 9c48e7f59b Fix assertion failures when reactivating plugins
`.set_slices()` makes sure all slices' lengths are equal to the first
argument, so in these functions we'll need to manually overwrite any
existing element with empty slices.
2023-02-02 16:15:43 +01:00
Robbert van der Helm d7cefcd29a Fix typos 2023-02-01 19:03:50 +01:00
Robbert van der Helm 62f7f38a9e Loosen generic bounds on NoteEvent
The `S: SysExMessage` isn't strictly needed. I thought it might make the
usage clearer, but it does introduce more boilerplate than strictly
necessary when working with note events.
2023-02-01 18:07:45 +01:00
Robbert van der Helm 15128edde4 Fix assertions in clamping functions
This was previously comparing against the buffer's length, so the `<`
made sense. But this approach always allows events at time 0 even if the
buffer is empty.
2023-02-01 17:39:08 +01:00
Robbert van der Helm d735d23ffa Document the use of .saturating_sub(1) 2023-02-01 17:36:25 +01:00
Robbert van der Helm 55c3701d2e Move event timing clamping to functions
So this doesn't need to be repeated everywhere.
2023-02-01 17:33:14 +01:00
Robbert van der Helm d5a8eb42ec Clamp event timings for VST3 plugins 2023-02-01 17:24:22 +01:00
Robbert van der Helm eac88c4477 Clamp event times for JACK standalones 2023-02-01 17:18:06 +01:00
Robbert van der Helm 8d2d293b49 Clamp event timings for CLAP plugins 2023-02-01 17:17:50 +01:00
Robbert van der Helm 5cb826725d Fix typo in docstring 2023-02-01 17:02:34 +01:00
Robbert van der Helm 7874e1796f Add a debug assert for the subcategory length
Since this will be truncated otherwise.
2023-02-01 16:50:48 +01:00
Robbert van der Helm d6184ea06e Replace VST3 category string with enum slice
I've been putting this off for a while, but now is finally the day. We
already did this for CLAP a while back. This is both simpler and less
error prone.
2023-02-01 16:09:03 +01:00
Robbert van der Helm 7fe339987a Define an enum for VST3 subcategories
Because looking these up and inputting them by hand every time is both
cumbersome and error prone.
2023-02-01 15:46:28 +01:00
Robbert van der Helm 5db07090ca Replace match with if-let
Clippy didn't like this.
2023-02-01 14:52:45 +01:00
Robbert van der Helm fba2c47614 Add a SysEx example plugin 2023-02-01 14:52:01 +01:00
Robbert van der Helm e3a7e4a931 Allow any audio setup for midi_inverter 2023-02-01 14:39:47 +01:00
Robbert van der Helm fb29322b81 Document which CLAP features are main categories 2023-02-01 14:36:54 +01:00
Robbert van der Helm 3790a05891 Avoid sending zero velocity note ons with MIDI 2023-02-01 12:48:51 +01:00
Robbert van der Helm 69b87b7a26 Print unhandled SysEx as hexadecimal 2023-01-31 22:25:23 +01:00
Robbert van der Helm 89b81b38c3 Remove debug assertions for SysEx parse failures 2023-01-31 22:22:42 +01:00
Robbert van der Helm 6e6f327dc4 Always accept MIDI events in CLAP
Otherwise we may not receive SysEx events.
2023-01-31 22:20:48 +01:00
Robbert van der Helm 5dbc76ef69 Simplify conversion from SysExMessage to buffers
There's no need to provide this as an argument anymore.
2023-01-31 22:03:40 +01:00
Robbert van der Helm 0deb8ab1cd Simplify VST3 ProcessEvent::NoteEvent 2023-01-31 21:55:26 +01:00
Robbert van der Helm b35914bbbd Add SysEx support for VST3 2023-01-31 21:52:21 +01:00
Robbert van der Helm e7be5ef178 Simplify CLAP SysEx output 2023-01-31 21:50:49 +01:00
Robbert van der Helm 701590f1cd Support SysEx for CLAP plugins 2023-01-31 21:35:52 +01:00