1
0
Fork 0
Commit graph

958 commits

Author SHA1 Message Date
Robbert van der Helm
701590f1cd Support SysEx for CLAP plugins 2023-01-31 21:35:52 +01:00
Robbert van der Helm
868228f7b7 Add tests for SysEx parsing 2023-01-31 21:18:55 +01:00
Robbert van der Helm
ee24e14829 Log unhandled SysEx message in debug mode 2023-01-31 21:11:01 +01:00
Robbert van der Helm
8d9ae19d38 Support receiving SysEx in JACK standalone 2023-01-31 20:39:15 +01:00
Robbert van der Helm
68d68c0bc3 Add NoteEvent conversions to and from MIDI SysEx
JACK already supports this because otherwise things wouldn't compile,
but support still needs to be added for CLAP and VST3.
2023-01-31 20:37:33 +01:00
Robbert van der Helm
1e8bdb9d8e Document the expected buffer format for SysEx 2023-01-31 19:29:11 +01:00
Robbert van der Helm
611dc452ec Add conversion functions on SysExMessage trait 2023-01-31 18:57:49 +01:00
Robbert van der Helm
d9cf78e72a Document the MidiSysEx event's availability 2023-01-31 18:45:30 +01:00
Robbert van der Helm
b7849f9a7a Add a NoteEvent::MidiSysEx variant
Right now this isn't used, and there is not yet any way to convert to
and from raw SysEx data.
2023-01-31 18:32:16 +01:00
Robbert van der Helm
c8ed795524 Add a SysExMessage type to Plugin
This is needed to enable sending and receiving SysEx #54. Because
associated type defaults still are not stable, this requires every
plugin that doesn't need this to set this to the unit type:

```rust
type SysExMessage = ();
```
2023-01-31 18:18:41 +01:00
Robbert van der Helm
978d466019 Add trait bounds for the SysExMessage trait 2023-01-31 18:18:41 +01:00
Robbert van der Helm
c828dabb03 Add a default implementation for SysExMessage 2023-01-31 17:45:23 +01:00
Robbert van der Helm
d6b5342c53 Add boilerplate for a SysEx message trait 2023-01-31 17:43:52 +01:00
Robbert van der Helm
683c96bca0 Avoid duplicate parameter callbacks and smoothing
REAPER seems to spam value set events when an automation lane is active,
and it also always sends CLAP automation events twice.
2023-01-31 16:31:29 +01:00
Robbert van der Helm
efff43df21 Add an StftHelper::max_padding() 2023-01-30 02:16:03 +01:00
Robbert van der Helm
e3e2a2e7d0 Actually change padding in StftHelper::set_padding 2023-01-30 01:55:34 +01:00
Robbert van der Helm
161c97bb28 Add the CLAP note detector feature 2023-01-28 23:23:56 +01:00
Robbert van der Helm
98d44798ea Allow changing StftHelper padding after creation
Adapted from #52.
2023-01-25 18:40:09 +01:00
Robbert van der Helm
ead160497b Fix excess padding handling in StftHelper 2023-01-25 18:35:55 +01:00
Robbert van der Helm
1e90f55019 Add a todo for invalid CLAP event parsing
Currently these values are never -1, but they can be.
2023-01-16 23:59:10 +01:00
Robbert van der Helm
92ce737000 Add a gain_to_db_fast() with a lower limit
These functions probably need some better organization at some point.
2023-01-15 18:15:52 +01:00
Robbert van der Helm
bb521fcb82 Upgrade Vizia for the cosmic-text changes
This brings some breaking changes, and vertical positioning of text may
have changed slightly.
2023-01-12 19:03:02 +01:00
Robbert van der Helm
e5a26ac199 Send individual parameter changes for VST3 plugins 2023-01-11 16:59:21 +01:00
Robbert van der Helm
adb49cb6d1 Simplify VST3 wrapper creation 2023-01-11 16:51:21 +01:00
Robbert van der Helm
d3d34b59ac Send individual parameter changes for standalones 2023-01-11 16:51:21 +01:00
Robbert van der Helm
048cfd73b5 Add a TODO for merging hashmaps 2023-01-11 15:22:26 +01:00
Robbert van der Helm
951a0739d7 Send individual parameter changes for CLAP plugins 2023-01-11 15:22:26 +01:00
Robbert van der Helm
4e53d3a799 Significantly increase task queue capacity
This is needed to prevent parameter change events from being dropped.
2023-01-11 15:22:26 +01:00
Robbert van der Helm
08c6729ed1 Also add an Editor::param_modulation_changed() 2023-01-11 15:22:26 +01:00
Robbert van der Helm
922d2de603 Add an individual Editor::param_value_changed 2023-01-11 15:22:26 +01:00
Robbert van der Helm
838e1bfd2d Fix note formatter octave conversion, again 2023-01-10 14:03:17 +01:00
Robbert van der Helm
2aa937e370 Fix note formatting for 0 Hz
This would result in an underflow, failing the test case.
2023-01-10 02:28:39 +01:00
Robbert van der Helm
a9d0e40447 Fix octave -1 edge case in v2s_f32_hz_then_khz_with_note_name 2023-01-10 02:11:45 +01:00
Robbert van der Helm
32903ac065 Test f32_hz_then_khz_with_note_name roundtrip
This was failing in clap-validator.
2023-01-10 01:46:34 +01:00
Robbert van der Helm
18b4403a3b Fix roundtrip in f32_hz_then_khz_with_note_names 2023-01-10 01:46:14 +01:00
Robbert van der Helm
b647f24121 Fix rounding error in v2s_f32_hz_then_khz_with_note_name 2023-01-10 01:43:27 +01:00
Robbert van der Helm
26422ae8e3 Fix -inf parsing in s2v_f32_gain_to_db()
I noticed this thanks to a test I implemented myself in clap-validator
ha.
2023-01-10 00:40:50 +01:00
Robbert van der Helm
57e751d277 Remove todo about single message queues
Because we just did that.
2023-01-06 18:05:52 +01:00
Robbert van der Helm
47b75fd020 Fix missing generic arguments on BackgroundThread 2023-01-06 17:59:33 +01:00
Robbert van der Helm
6f7f2e30ed Fix debug assertion failure in smoother 2023-01-06 17:58:13 +01:00
Robbert van der Helm
28cd25d501 Implement Linux event loop using BackgroundThread
This reduces duplication a lot.
2023-01-06 17:53:07 +01:00
Robbert van der Helm
5c9be077e7 Allow BackgroundThread sharing between instances
This removes the need for every instance to have its own background
thread.
2023-01-06 17:51:38 +01:00
Robbert van der Helm
8d242b45ad Remove old overeager clippy lint silence
This is no longer enabled by default.
2023-01-06 16:13:01 +01:00
Robbert van der Helm
dfeb8164ca Fix new Clippy lints 2023-01-06 16:13:01 +01:00
Robbert van der Helm
935bf6f7f3 Fix allocation failures in BackgroundThread 2023-01-06 16:03:48 +01:00
Robbert van der Helm
c0e9b29bf4 Remove macOS deprecation warning from event loop 2023-01-06 15:58:01 +01:00
Robbert van der Helm
d5006d109e Code style cleanup for macOS event loop 2023-01-06 15:46:29 +01:00
Robbert van der Helm
700a15f528 Merge branch 'maxjvh/master' #48
native macOS event loop: https://github.com/robbert-vdh/nih-plug/pull/48
2023-01-06 15:14:29 +01:00
Robbert van der Helm
300e112ede Rename Block::len() to Block::samples()
For the same reason mentioned in the last commit.
2023-01-05 16:13:58 +01:00
Robbert van der Helm
cb2824021b Fix buffer adapter size hints for zero channels
And the SamplesIter one was simply not correct when yielded by the block
iterator.
2023-01-05 16:12:09 +01:00