Robbert van der Helm
07a310f778
Mention multiple plugins in nih_export_clap()
2023-09-02 23:35:42 +02:00
m-hilgendorf
252ab3c5be
Added explicit module path in nih_export_clap.
2023-08-27 17:34:26 +02:00
Robbert van der Helm
3ccaced613
Support exporting multiple CLAP plugins
...
This required the factory to be rewritten as a macro. since variadic
generics are not yet a thing. Not 100% satisfied with this design yet,
but it's much less ugly than my earlier attempts at this.
2023-08-05 16:38:57 +02:00
Jussi Viiri
ff89e25d2f
gain_to_db formatter fix
...
Copy fix from v2s_f32_rounded
2023-08-05 14:23:54 +02:00
Robbert van der Helm
5ae23f52f4
Fix clippy lints
2023-07-16 15:17:58 +02:00
Kelley van Evert
8848b13c67
Typo
2023-07-03 23:03:54 +02:00
Robbert van der Helm
bc25d6bf0a
Document that plugins need MIDI IO for SysEx
2023-06-07 21:18:31 +02:00
Adrien Prokopowicz
f170b72706
Fix background thread spawning and joining
2023-05-23 21:31:25 +02:00
Adrien Prokopowicz
eb7dcf60ec
Fix unreachable code warning
2023-05-23 00:52:38 +02:00
Adrien Prokopowicz
d61f3c885d
Clean up ScopedFtz conditional compilation even more (remove the need for the cfg_if! macro)
2023-05-23 00:52:38 +02:00
Adrien Prokopowicz
d20b9a19ee
Clean up ScopedFtz conditional compilation for MIRI
2023-05-23 00:52:38 +02:00
Adrien Prokopowicz
4c87db906a
Various MIRI fixes
2023-05-23 00:52:38 +02:00
Robbert van der Helm
727b15aa93
Remove the Default bound from SysExMessage::Buffer
2023-05-13 22:39:54 +02:00
Robbert van der Helm
68b3b864d6
Assert that parameter ranges are valid
2023-04-30 21:28:23 +02:00
Robbert van der Helm
0afe6852b3
Avoid returning negative zeroes in v2s_f32_rounded
...
This ensures that values roundtrip correctly since -0.0 and 0.0
correspond to the same normalized value.
2023-04-27 12:30:45 +02:00
Robbert van der Helm
5e69910616
Consider block start with buffer management
...
This broke sample accurate automation.
2023-04-24 23:47:29 +02:00
Robbert van der Helm
4912962551
Fix broken links in docs
2023-04-24 14:54:20 +02:00
Robbert van der Helm
808782df05
Take &mut self for editor() and task_executor()
2023-04-24 14:51:40 +02:00
Robbert van der Helm
44476ad696
Better describe the Plugin
trait
2023-04-24 14:37:14 +02:00
Robbert van der Helm
9af37968b5
Add a docstring for add_spacer
2023-04-22 17:26:40 +02:00
Robbert van der Helm
911c0d57d5
Allow declaratively defining CLAP remote controls
2023-04-22 16:59:03 +02:00
Robbert van der Helm
841fe2424c
Update to CLAP 1.1.8
2023-04-22 16:09:58 +02:00
Robbert van der Helm
a7e4e8b31e
Add a context for defining remote control pages
2023-04-22 15:53:04 +02:00
Robbert van der Helm
2dbd835778
Also prefer importing from prelude internally
...
Less breakage when restructuring modules.
2023-04-22 15:13:39 +02:00
Robbert van der Helm
34b416ecb6
Move API-specific traits and structs to submodules
2023-04-22 14:52:01 +02:00
Robbert van der Helm
2187aa96ab
Fix formatting in formatters.rs
...
Rustfmt changed the way it formats this a while back.
2023-04-07 13:33:39 +02:00
Robbert van der Helm
4502eaec3a
Change wrapped smoothing style to be a static ref
...
Instead of having to wrap this in an `Arc`. This makes the interface a
bit nicer to use.
2023-04-05 18:16:58 +02:00
Robbert van der Helm
8a7100ac3e
Add an OversamplingAware smoothing style
...
This can be used to have an ergonomic way to do multi-rate smoothing
with variable oversampling amounts that only the `Arc<AtomicF32>` to be
updated from a parameter callback.
2023-04-05 18:08:22 +02:00
Robbert van der Helm
3aa3f08f82
Upgrade nih_debug_assert!() to panic in tests
2023-04-05 16:13:16 +02:00
Robbert van der Helm
58174c1af0
Add a miri test for the buffer management's safety
2023-04-01 16:12:37 +02:00
Robbert van der Helm
112c801bc4
Use the new buffer management for the CPAL backend
...
Now everything uses `BufferManager`. That should hopefully reduce the
chances that different backends behave differently or trigger different
debug assertions.
2023-04-01 15:43:58 +02:00
Robbert van der Helm
cc5980e215
Zero out auxiliary output buffers
...
We used to do this, but this got lost in the migration to the new buffer
management system.
2023-04-01 15:21:12 +02:00
Robbert van der Helm
9d45cbf1d9
Use new buffer management for the dummy backend
2023-03-31 19:22:30 +02:00
Robbert van der Helm
ca4569e03a
Use new buffer management in JACK standalones
2023-03-31 18:17:48 +02:00
Robbert van der Helm
8196641d65
Update VST3 wrapper to use new buffer manager
...
This also fixes output events not being sent during a parameter flush.
2023-03-31 17:01:41 +02:00
Robbert van der Helm
30a26e0d9a
Update CLAP wrapper to use the new buffer manager
2023-03-31 16:03:49 +02:00
Robbert van der Helm
83dd585c40
Add a standalone buffer management abstraction
...
The idea is that all backends are refactored to use this. This greatly
reduces the need for backend-specific code when it comes to buffer
management, and thus also bugs. It also overwrites main output channels
that don't have a corresponding input channel with zeroes, which the
current backends don't do.
2023-03-31 16:02:00 +02:00
Robbert van der Helm
2de1fd563b
Tweak cosmic text and module logging settings
...
In release builds the cosmic text messages are now suppressed, and in
debug builds the module is always shown even for error, warning, and
info messages.
2023-03-21 20:31:58 +01:00
Stephane Albanese
77ea503de0
Add a channel getter to the NoteEvent implementation
2023-03-17 13:58:44 +01:00
Robbert van der Helm
15c859a8e6
Add CLAP 1.1.8 features
2023-03-13 15:36:04 +01:00
Robbert van der Helm
7c14010656
Keep track of the current latency in standalones
...
Even though it's not actually used, this avoids spamming the debug
assertion failure when the value doesn't change.
2023-03-12 17:12:59 +01:00
Robbert van der Helm
6ee4dbcf67
Fix doc comment wording
2023-03-12 17:08:36 +01:00
Robbert van der Helm
d380c15f8b
Only expose context_checks module in debug builds
...
This gets rid of some unused warnings.
2023-03-08 15:37:34 +01:00
Robbert van der Helm
17a95e703f
Detect incorrect GuiContext method usage
...
In debug builds.
2023-03-07 18:02:56 +01:00
Robbert van der Helm
d3cb5f2bee
Explicitly mark parameter range conversions inline
...
The compiler already does this, but these should be inlineable.
2023-03-03 22:55:35 +01:00
Robbert van der Helm
ae3356dca8
Request resizes after loading state
...
If the editor is open.
2023-03-03 18:52:57 +01:00
Robbert van der Helm
c294afbf62
Centralize state loading logic
2023-03-03 17:21:09 +01:00
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