Robbert van der Helm
ee900f74c2
Support auxiliary inputs and outputs for CLAP
...
This does not yet work for VST3. You'll always get empty slices there.
2022-05-27 02:30:57 +02:00
Robbert van der Helm
b2e6bd5515
Create a separate InitContext
...
Only a couple of these functions would be needed during initialization.
In the next couple commits ProcessContext will get a way to access
auxiliary IO, so this really had to be separated.
2022-05-27 01:17:15 +02:00
Robbert van der Helm
c555aff768
Fix plugin names in readmes
...
Closes #7 .
2022-05-26 13:32:30 +02:00
Robbert van der Helm
7eee0b032e
Report at least a channel output bus for VST3
...
Bitwig just doesn't call the process function if plugins have no audio
IO.
2022-05-26 12:37:31 +02:00
Robbert van der Helm
7fce56d863
Actually add the SOS morse code to Safety Limiter
2022-05-26 01:07:19 +02:00
Robbert van der Helm
df30662071
Add an equal power fade to Safety Limiter
2022-05-26 00:47:41 +02:00
Robbert van der Helm
9ab5af0027
Add a fadeout start to Safety Limiter
2022-05-25 00:59:46 +02:00
Robbert van der Helm
3e5393b236
Make the Safety Limiter threshold automatable
...
Bitwig doesn't like it if it isn't automatable.
2022-05-25 00:44:01 +02:00
Robbert van der Helm
c07942cfc3
Reset Safety Limiter properly
2022-05-25 00:43:19 +02:00
Robbert van der Helm
3ba2a0807b
Make Safety Limiter danker
2022-05-25 00:38:02 +02:00
Robbert van der Helm
96dc409a0f
Add a sine wave to Safety Limiter
...
This needs to be upgraded to full Morse status
2022-05-25 00:35:30 +02:00
Robbert van der Helm
ccb8422a9c
Add a morse-less version of Safety Limiter
2022-05-25 00:18:43 +02:00
Robbert van der Helm
c95af5f83e
Don't engage Safety Limiter while bouncing
2022-05-25 00:06:32 +02:00
Robbert van der Helm
a3fc65e91c
Add boilerplate for Safety Limiter
2022-05-24 23:57:18 +02:00
Robbert van der Helm
1f0094c920
Link plugin downloads in readme
2022-05-24 23:56:21 +02:00
Robbert van der Helm
535ae1260e
Remove now unnecessary explicit dyn casts
...
Rust-analyzer used to not infer this, seems like now it does.
2022-05-24 23:55:48 +02:00
Robbert van der Helm
ed9ee2c188
Add missing .git suffixes for GitHub VCS deps
2022-05-24 15:24:33 +02:00
Robbert van der Helm
4c54716cc2
Remove unnecessary pub specifier
2022-05-24 14:26:13 +02:00
Robbert van der Helm
487ff3d566
Don't let the sine test tone plugin sleep
2022-05-24 13:17:40 +02:00
Robbert van der Helm
f4f54029eb
Add a deactivation callback
...
This is the equivalent of initialize()
2022-05-24 13:05:06 +02:00
Robbert van der Helm
596b04af0a
Add preliminary support for auxiliary IO
...
The missing parts are allocating buffers for these busses, copying data
to those buffers, and adding methods to the ProcessContext to interact
with these inputs and outputs.
2022-05-23 17:13:49 +02:00
Robbert van der Helm
ad661c857c
Expose CLAP note ports extension for output-only
2022-05-22 23:16:49 +02:00
Robbert van der Helm
2a58b771f3
Remove old todo
2022-05-22 23:05:18 +02:00
Robbert van der Helm
d42fd41007
Buffers for zero channel plugins are always valid
2022-05-22 22:48:55 +02:00
Robbert van der Helm
74f555ebab
Disable stripping symbols in profile builds
...
Doesn't really work otherwise now does it?
2022-05-22 20:28:25 +02:00
Robbert van der Helm
3650311db8
Support custom Cargo profiles in xtask bundle
2022-05-22 20:22:39 +02:00
Robbert van der Helm
f3ead4caca
Add a profiling Cargo profile
...
This is a release build with debug symbols.
2022-05-22 20:17:21 +02:00
Robbert van der Helm
937842d2c5
Suggest copying {Bus,Buffer}Config as needed
2022-05-22 13:39:19 +02:00
Robbert van der Helm
783dc2245e
Store the processing mode in BufferConfig
...
Instead of having a function on ProcessContext.
2022-05-22 13:33:38 +02:00
Robbert van der Helm
ee3b0bf8e6
Store the minimum buffer size in BufferConfig
2022-05-22 13:21:39 +02:00
Robbert van der Helm
e1d4be2a03
Change NON_AUTOMATABLE semantics and add HIDDEN
...
This now lets you have parameters that cannot be automated but that are
still changeable through the generic UI.
2022-05-22 12:37:30 +02:00
Robbert van der Helm
985db44503
Allow marking CLAP plugins as hard realtime
2022-05-22 01:01:59 +02:00
Robbert van der Helm
2ac013df64
Fix warnings
2022-05-22 00:59:04 +02:00
Robbert van der Helm
665108721a
Add a way to fetch the current processing mode
2022-05-22 00:58:53 +02:00
Robbert van der Helm
9601c9c0c1
Fix modulating non-smoothed parameters
...
And also get rid of duplicate code here.
2022-05-20 16:12:48 +02:00
Robbert van der Helm
0459405ced
Remove STFT example readme
...
This hasn't been using fftw for a while now so it's no longer relevant.
2022-05-20 03:23:57 +02:00
Robbert van der Helm
4587c1405f
Move VST3 buffer initialization
...
This was left over from the last commit.
2022-05-18 19:41:43 +02:00
Robbert van der Helm
024307872a
Move VST3 initialization to set_active()
...
Because the host may still change the channel layouts at this point.
2022-05-18 19:29:48 +02:00
Robbert van der Helm
3233174292
Add missing parts of the disclaimer
...
Courtesy of The Simpsons.
2022-05-14 00:53:09 +02:00
Robbert van der Helm
8239169aaf
Add some pointers for getting started to the docs
2022-05-13 15:08:05 +02:00
Robbert van der Helm
bbb73c557d
Enable the standalone feature in the docs
2022-05-13 15:05:18 +02:00
Robbert van der Helm
6fc0b2e148
Call Plugin::initialize() for runtime preset load
...
It's the plugin's responsibility to not do any realtime unsafe work here
if they support runtime preset loading.
2022-05-13 14:46:25 +02:00
Robbert van der Helm
e8764e7327
Use double precision for exponential step sizes
...
Otherwise you will get issues with rounding errors if someone ever tries
to have smoothing times over a second or so.
2022-05-12 13:50:45 +02:00
Robbert van der Helm
6a40cc9916
Remove debug print
2022-05-12 13:44:22 +02:00
Robbert van der Helm
f3d02f6210
Fix updated exponential smoothing
2022-05-12 13:44:01 +02:00
Robbert van der Helm
1fea9f94df
Deduplicate the smoother implementation
...
By introducing a new trait for conversion to and from floating point
numbers.
2022-05-12 13:34:02 +02:00
Robbert van der Helm
dc5dfb06c6
Reach 99.99% of target for exponential smoothing
...
Instead of 99.97%. Both numbers are not based on anything, but this
calculation makes more sense.
2022-05-12 13:21:32 +02:00
Robbert van der Helm
28c7ea4843
Rename ExponentialIIR -> Exponential
...
The suffix was added to denote that this could do some funny things
because of the snapping to the target value, but in practice that
snapping distance will likely be so tiny that it is likely not
noticeable.
2022-05-12 02:22:12 +02:00
Robbert van der Helm
222036b335
Get rid of unnecessary loop in ExponentialIIR
2022-05-12 01:56:16 +02:00
Robbert van der Helm
116d245149
Add an exponential smoothing style
...
Based on a one-pole IIR low pass filter that reaches 99.97% of the
target value in the designated time before snapping to that value. This
will be less efficient than the linear FIR smoothing style.
2022-05-12 01:35:01 +02:00