1
0
Fork 0
Commit graph

1067 commits

Author SHA1 Message Date
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
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