1
0
Fork 0
Commit graph

1082 commits

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