Robbert van der Helm
a5abe896ed
Mark the Sine example struct pub
...
For standalone testing. The `Cargo.toml` and `main.rs` changes aren't
committed since these plugins don't really need standalones, but it's
still nice for debugging.
2024-05-05 22:25:35 +02:00
Robbert van der Helm
10aabe3a38
Use default-features instead of default_features
...
The latter is deprecated.
2024-05-04 20:27:44 +02:00
Billy Messenger
0dccb4501f
update egui and egui_baseview
2024-02-22 20:54:58 +01:00
Robbert van der Helm
151a4ec29e
Update gain_gui_vizia for upstream vizia changes
2023-12-30 14:44:40 +01:00
Robbert van der Helm
193ec70b8a
Update resize handle for upstream vizia changes
2023-12-30 14:44:40 +01:00
Robbert van der Helm
b31bafdc4b
Add missing note ports to the SysEx example
2023-06-07 21:18:52 +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
f6041789cd
Use computed sizes for ViziaState
2023-03-07 21:22:15 +01:00
Robbert van der Helm
e3a923ff3b
Avoid restoring window sizes with ViziaState
...
Unless specified otherwise. This avoids some bugs where old, now
incorrect sizes are being recalled.
2023-02-28 18:50:15 +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
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
Robbert van der Helm
fba2c47614
Add a SysEx example plugin
2023-02-01 14:52:01 +01:00
Robbert van der Helm
e3a7e4a931
Allow any audio setup for midi_inverter
2023-02-01 14:39:47 +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
32957c222f
Add a missing category feature to the sine example
2023-01-28 23:23:56 +01:00
Robbert van der Helm
00d840794d
Update gain_gui_vizia for cosmic-text changes
2023-01-12 19:03:02 +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
6e7ee125b6
Sorta fix stock widget usage in gain_gui_egui
...
The parameter changed from storing its value as decibels to storing gain
at some point.
2023-01-10 20:26:31 +01:00
Robbert van der Helm
dfeb8164ca
Fix new Clippy lints
2023-01-06 16:13:01 +01:00
Robbert van der Helm
cb827d18dd
Rename Buffer::len() to Buffer::samples()
...
To reduce ambiguity.
2023-01-05 16:04:38 +01:00
Robbert van der Helm
11d9476a5f
Use db_to_gain_fast() in plugins
2023-01-04 17:05:13 +01:00
Robbert van der Helm
aa7d5195ce
Grab plugin URLs from the Cargo.toml file
2022-11-11 20:26:39 +01:00
Robbert van der Helm
60d4490998
Remove unused stylesheet in gain_gui_vizia
2022-11-11 16:21:47 +01:00
Robbert van der Helm
922a81f654
Drop all mentions of vizia point scale
...
It does use pixels instead of points.
2022-11-11 16:21:30 +01:00
Robbert van der Helm
a7e425581f
Use CARGO_PKG_VERSION for plugin versions
...
Instead of duplicating this. Means that plugin versions only need to be
updated in the Cargo.toml file.
2022-11-11 03:15:05 +01:00
Robbert van der Helm
6f7780bdeb
Don't register any fonts by default for vizia
...
These now need to be registered individually by the plugin. This saves
on binary size.
2022-11-06 14:05:12 +01:00
Robbert van der Helm
89c2b1f84e
Replace create_vizia_editor_without_theme w/ enum
...
This involves a small breaking change. You can now also completely
disable all of Vizia's theming.
2022-11-06 14:04:55 +01:00
Robbert van der Helm
560f97f77d
Use Mutex instead of RwLock for gain example
...
Neither makes a lot of sense here, but RwLock makes even less sense.
2022-11-05 14:19:32 +01:00
Robbert van der Helm
c980576102
Add an AsyncExecutor for editor GUIs
...
This is decoupled form `GuiContext` as that would require invasive
changes all over the place.
2022-10-22 15:05:39 +02:00
Robbert van der Helm
5ea2377c18
Replace AsyncExecutor with simple closure
...
This makes everything much simpler. The task type is now defined
directly on `Plugin`.
2022-10-22 02:01:03 +02:00
Robbert van der Helm
84f834abb6
Add AsyncExecutor support to ProcessContext
2022-10-22 02:01:03 +02:00
Robbert van der Helm
6ffa23971e
Add AsyncExecutor support to InitContext
2022-10-22 00:21:08 +02:00
Robbert van der Helm
297ad2a83e
Add an AsyncExecutor associated type to Plugin
...
This will make it possible to run background tasks in a type safe way.
Sadly, this does mean that every plugin now needs to define the type
alias and constructor function since Rust does not yet support defaults
for associated types.
2022-10-21 23:52:46 +02:00
Robbert van der Helm
eed5a62abb
Add build closure parameter to create_egui_editor
2022-10-20 14:04:08 +02:00
Robbert van der Helm
727d88c4d7
Add ID renaming superpowers to #[nested(...)]
...
This can now be used for most common use cases where you previously had
to do a manual `Params` implementation, like arrays of parameter objects
and duplicate parameter objects.
2022-10-13 01:28:05 +02:00
Simon Leiner
0caef90b1a
Fix typos in comments
2022-09-29 15:13:43 +02:00
Simon Leiner
f4995abf88
Fix typos in documentation
2022-09-29 15:13:43 +02:00
Robbert van der Helm
e4d1ad39ab
Remove old todo
2022-09-22 17:39:22 +02:00
Robbert van der Helm
269c2a51e1
Re-enable assert_process_allocs for gain_gui_egui
2022-09-21 16:25:07 +02:00
Robbert van der Helm
eb11da731d
Enable the standalone for gain_gui_egui
2022-09-21 16:11:17 +02:00
Robbert van der Helm
c566888fa3
💥 Use interior mutability for parameters
...
Instead of the previous technically-unsound approach. While it wouldn't
cause any issues in practice, it did break Rust's guarantees. That was a
design choice after adding support for editors in NIH-plug, but this is
probably the better long term solution.
The downside is that all uses of `param.value` now need to be changed to
`param.value()`.
2022-09-06 21:57:24 +02:00
Robbert van der Helm
cd02ebb839
Use less arbitrary decay weights for the gain GUIs
...
This solves the same problem as #27 but in a cleaner way. The previous
commits refactored the smoothing to make it possible to use the
calculations in plugin code to do the same thing as #27 , but then I
realized that that doesn't make much sense since the time to decay into
complete silence isn't very meaningful for this kind of computation.
2022-09-04 19:09:22 +02:00
Robbert van der Helm
1a706ea1c7
Rename DEFAULT_NUM_INPUTS and DEFAULT_NUM_OUTPUTS
2022-08-19 14:34:21 +02:00
Robbert van der Helm
743d456e0f
Don't build the gain example with zstd enabled
2022-08-18 19:46:51 +02:00
Robbert van der Helm
1bb1cde913
Add optional Zstandard compression for state
...
This can be particularly useful when using the persistent fields feature
to store JSON or other large textual documents.
2022-08-18 13:55:48 +02:00
Robbert van der Helm
c412d3cca6
Remove debug print
2022-08-18 13:45:13 +02:00
Robbert van der Helm
3ffc2f0604
Change single branch match to if let
2022-07-25 16:33:24 +02:00
Robbert van der Helm
fdbff129f8
Use linear gain params in gain examples
...
Using the new skewed coefficient calculation function for gain ranges
from a couple commits ago.
Closes #18 .
2022-07-24 21:21:13 +02:00
Robbert van der Helm
8e2650e43a
Merge pull request #15 from AmaiKinono/typo
...
Fix typos in the gain example
2022-07-18 23:38:03 +02:00
AmaiKinono
00fa9e9703
Fix typos in the gain example
2022-07-17 00:51:01 +08:00