Robbert van der Helm
a4b251e5ef
Support monophonic modulation for CLAP plugins
...
This avoids the potential for state corruption caused by modulation and
modulation can be displayed differently on the GUI.
2022-05-01 19:05:51 +02:00
Robbert van der Helm
ddbaffc0bb
Add ParamMut method for setting modulation offset
...
This will be used in the CLAP wrapper to handle `CLAP_EVENT_PARAM_MOD`.
2022-05-01 19:03:04 +02:00
Robbert van der Helm
1d3ac1b2af
Move param setting functions to new ParamMut trait
...
This makes things slightly less confusing because these functions should
never be called from user code.
2022-05-01 18:45:35 +02:00
Robbert van der Helm
a17c63bf71
Add parameter getters for unmodulated values
...
This is needed to be able to support modulation events in CLAP. There an
offset gets applied to the parameter's actual current value. That way
GUIs don't have to move around when parameters are being modulated and
save states cannot get influenced by modulation.
2022-05-01 18:30:30 +02:00
Robbert van der Helm
6451555f85
Add missing #[inline] attribute
2022-05-01 17:56:20 +02:00
Robbert van der Helm
2026257561
Get rid of Default implementations on ranges
...
These also don't make any sense anymore and will likely lead to more
problems than they solve.
2022-05-01 17:40:53 +02:00
Robbert van der Helm
d6bdfd7391
Get rid of Default implementations for params
...
These don't make any sense anymore with the builder API.
2022-05-01 17:40:26 +02:00
Robbert van der Helm
cd628e80ee
Store normalized values on the param structs
...
This will be necessary to implement CLAP modulation later.
2022-05-01 17:34:59 +02:00
Robbert van der Helm
54d2a4cd2c
Hide param fields other than value and smoothed
...
Direct initialization was no longer recommended anyways since now you
need to keep the default value in sync. The next couple of commits will
add a normalized value field and two more fields to help with
modulation.
2022-05-01 17:08:08 +02:00
Robbert van der Helm
40b555bfbd
Document how values work in the Param trait
2022-05-01 16:40:18 +02:00
Robbert van der Helm
48d0f87e4c
Mark param value getters as inline
2022-05-01 16:40:16 +02:00
Robbert van der Helm
98876670f8
Re-export debug macros from the debug module
...
This makes it easy to import just the macros without having to use the
oldschool `#[macro_use] extern crate ...;` syntax.
2022-04-30 02:10:54 +02:00
Robbert van der Helm
3d454bfc9c
Don't process audio at all with invalid buffers
...
If the host does some kind of flush this way with num_samples > 0 but
without any outputs or with zero output channels then we should not try
to read from the now invalid pointers from the previous cycle.
2022-04-30 02:00:09 +02:00
Robbert van der Helm
ddc28eef5e
Clarify the VST3 output .take(num_outputs)
2022-04-30 01:52:53 +02:00
Robbert van der Helm
df14674231
Fix terminology in macOS installation readme
2022-04-29 19:13:44 +02:00
Robbert van der Helm
8235f42b1e
Fix links to docs
...
This used to redirect to the correct place, but not anymore.
2022-04-29 18:28:40 +02:00
Robbert van der Helm
41dfa2bf2d
Add OS-specific readme files to plugin archives
2022-04-29 18:18:10 +02:00
Robbert van der Helm
35cb8b488d
Bundle the Loudness War Winner in the artifacts
...
Forgot to add this one.
2022-04-28 19:59:40 +02:00
Robbert van der Helm
58d7dc034c
Fix gain compensation in STFT examples
2022-04-28 17:24:35 +02:00
Robbert van der Helm
e35886c216
Move window function handling out of StftHelper
...
And apply the window function only once at the end of the process
function for the plugins that used it.
2022-04-28 17:20:39 +02:00
Robbert van der Helm
dd770b6bde
Alter Loudness War Winner disclaimer
...
This is from a copy pasta, but I don't want it to get political.
2022-04-27 20:08:38 +02:00
Robbert van der Helm
c4b4cf95d4
Add a copy of the GPL to Loudness War Winner
2022-04-27 20:06:41 +02:00
Robbert van der Helm
81bd380569
Fix typo in Loudness War Winner's readme
2022-04-27 19:43:18 +02:00
Robbert van der Helm
4fb67a720b
Add a todo for fallback DPI scale detection
2022-04-27 19:26:39 +02:00
Robbert van der Helm
ae31e416c2
Don't use baseview system scaling on Windows/Linux
...
Until the UI frameworks make it possible to get the size or scale for
the window, this would cause the window contents to be scaled
incorrectly if the host does not set a scale factor.
2022-04-27 18:33:08 +02:00
Robbert van der Helm
b3d2b79284
Win the loudness war harder with band-pass filters
2022-04-27 17:59:54 +02:00
Robbert van der Helm
b89b4dfbb2
Add a .previous_value() method to the smoothers
2022-04-27 17:43:40 +02:00
Robbert van der Helm
6185909ddf
Also safeguard against zero channel counts in CLAP
2022-04-27 17:06:19 +02:00
Robbert van der Helm
21e28fdca2
Handle hosts providing zero output channels
2022-04-27 16:52:30 +02:00
Robbert van der Helm
afde489bbf
Add a fixme for REAPER's broken bypass handling
2022-04-27 16:45:34 +02:00
Robbert van der Helm
3d8f7afd22
Update lock file after adding backtrace dep
2022-04-27 16:24:29 +02:00
Robbert van der Helm
367cafba26
Log backtraces in panics
2022-04-27 16:23:12 +02:00
Robbert van der Helm
f49189b424
Add a fadeout after winning the loudness war
2022-04-27 16:07:19 +02:00
Robbert van der Helm
b2ac93f255
Win the loudness war
2022-04-27 15:37:17 +02:00
Robbert van der Helm
76e7f67f3a
Add missing backtick
2022-04-27 15:16:52 +02:00
Robbert van der Helm
d413d11694
Use the predefined gain formatters for Crisp
2022-04-27 15:12:31 +02:00
Robbert van der Helm
c8ea1cf316
Work around rust-analyzer problems with baseview
2022-04-27 13:13:49 +02:00
Robbert van der Helm
16ba6cffdc
Deploy the docs to a different repo
...
To avoid adding polluting the GitHub feed with a ton of noise when
watching this one.
2022-04-26 20:20:14 +02:00
Robbert van der Helm
bb3175f68e
Return -> Returns at the start of a docstring
...
The imperative tense doesn't make any sense when the function is a mere
getter and doesn't actually perform a nontrivial task.
2022-04-26 19:39:51 +02:00
Robbert van der Helm
b481274f64
Update Vizia fork to fix Crisp widgets
...
The scroll view would consume all events because of
https://github.com/vizia/vizia/pull/148 .
2022-04-26 16:24:36 +02:00
Robbert van der Helm
abe5a12461
Add a nih_dbg!() macro analog for dbg!()
2022-04-26 15:43:24 +02:00
Robbert van der Helm
482c834450
Update Vizia fork
2022-04-26 14:45:06 +02:00
Robbert van der Helm
dedbfebb71
Add todos about potential duplicate reset calls
2022-04-26 14:15:57 +02:00
Robbert van der Helm
4779991edf
Also move reset() call to process start for CLAP
...
So the behavior is consistent for CLAP and VST3.
2022-04-26 14:14:12 +02:00
Robbert van der Helm
4ac0c40812
Reset last processing status for CLAP on start
...
Just like we're doing in the VST3 wrapper.
2022-04-26 14:10:00 +02:00
Robbert van der Helm
582ab50e58
Move VST3 Plugin::reset() call to set_processing()
...
This lets the host reset buffers the intended way.
2022-04-26 13:42:32 +02:00
Robbert van der Helm
f855a60c57
Fix rustdoc link in Plugin::reset()
2022-04-26 13:37:53 +02:00
Robbert van der Helm
7c5aa9069b
Simplify lifetime bounds
2022-04-24 20:03:30 +02:00
Robbert van der Helm
04c5780e4a
Implement state saving/loading for standalone
2022-04-24 19:46:51 +02:00
Robbert van der Helm
566095802c
Decouple state functions from CLAP/VST3 wrapper
...
This should also be usable with a plain `params` object, since we don't
need hashes in the standalone wrapper.
2022-04-24 19:46:07 +02:00