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
Robbert van der Helm
5d497f2de4
Add debug assertions for Arc strong counts
...
To make issues like the event loop thing more visible.
2023-02-23 21:49:24 +01:00
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