1
0
Fork 0
Commit graph

94 commits

Author SHA1 Message Date
Robbert van der Helm
3019f7aea6 Add a way to create VST3 bundles after building 2022-01-29 18:38:09 +01:00
Robbert van der Helm
46cd75ec53 Add an xtask binary target for running tasks 2022-01-29 17:31:51 +01:00
Robbert van der Helm
edab467538 Mention all channel lengths being equal 2022-01-29 16:45:33 +01:00
Robbert van der Helm
47d102f2ba Implement restoring parameter values 2022-01-29 16:42:20 +01:00
Robbert van der Helm
dabd2beca8 Add functions for interacting with plain values 2022-01-29 14:59:59 +01:00
Robbert van der Helm
ebb74a737c Use plain instead of unnormalized in the APIs
It takes more effort than what should be needed to tell normalized and
unnormalized apart at a glance.
2022-01-29 14:54:48 +01:00
Robbert van der Helm
97a88e0db2 Implement saving parameter state
Restoring is next.
2022-01-29 14:20:14 +01:00
Robbert van der Helm
ef021915e5 Move the PlainParam functions to a trait
We can use this for setting parameter values, as a &Param can be turned
into a pointer which can then later be mapped to a parameter ID to
handle outputting parameter values.
2022-01-29 13:39:01 +01:00
Robbert van der Helm
5697183918 Rename from_string to set_from_string
To make it a bit more obvious at a glance that this mutates the
parameter.
2022-01-29 13:32:31 +01:00
Robbert van der Helm
f5f143b4f0 Read updated parmater values from the process data 2022-01-29 01:01:14 +01:00
Robbert van der Helm
59b1132d3b Mark hyperlinks in doc comments 2022-01-28 18:10:28 +01:00
Robbert van der Helm
6b7acb7cb5 Add TODO for wrapping parameter access in a mutex 2022-01-28 17:58:40 +01:00
Robbert van der Helm
e393b3e268 Add a todo for handling incoming parameter changes 2022-01-28 17:58:40 +01:00
Robbert van der Helm
7d0fce2f84 Implement audio processing 2022-01-28 17:58:40 +01:00
Robbert van der Helm
673180fb6b Update vst3-sys dependency
So the VST3 macro works for types with lifetime bounds.
2022-01-28 16:29:09 +01:00
Robbert van der Helm
61d7905148 Add a todo for transport information in process 2022-01-28 15:18:55 +01:00
Robbert van der Helm
c518cc9ede Add a note about licensing 2022-01-28 15:02:55 +01:00
Robbert van der Helm
38bcf33a50 Use the precalculated bypass parameter hash 2022-01-28 14:52:04 +01:00
Robbert van der Helm
3064132821 Improve and simplify token handling in macros
The standard library macros also use a `$($foo:tt)*` for this, so we
should probably too. Since eprinln!() already handles trailing commas we
don't need to do any special handling, and this fixes parsing with
complex expressions as arguments.
2022-01-28 14:47:26 +01:00
Robbert van der Helm
71dc144c73 Add a simple formatters library
We can add common formats here so you don't need to repeat them all the
time.
2022-01-28 14:33:29 +01:00
Robbert van der Helm
6439acad84 Use the correct vendor name 2022-01-28 14:20:16 +01:00
Robbert van der Helm
b14dc7eae9 Avoid duplicate units in VST3 parameter strings 2022-01-28 14:06:51 +01:00
Robbert van der Helm
47f84081dd Use a macro for the null pointer checks 2022-01-28 13:45:17 +01:00
Robbert van der Helm
b9d38f5c39 Implement most of IAudioProcessor
Except for the process function itself.
2022-01-28 13:40:47 +01:00
Robbert van der Helm
a34293fbb4 Silence too_many_arguments Clippy lint in wrapper
Aside from wrapping everything in another struct we can't really do
anything about this since this is all generated by the VST3 macro.
2022-01-28 13:39:44 +01:00
Robbert van der Helm
fa13371c5f Allow trailing commas in debug macros 2022-01-28 13:32:37 +01:00
Robbert van der Helm
a9185dff21 Split finding and processing proc macro attributes
We're going to add another attribute that can't be combined with this
one.
2022-01-28 13:00:36 +01:00
Robbert van der Helm
b91a02baa6 Add a todo and idea for non-parameter persistence 2022-01-28 01:34:36 +01:00
Robbert van der Helm
5e17b2190a Add null pointer checks to the VST3 wrapper 2022-01-27 22:51:49 +01:00
Robbert van der Helm
91e20f1230 Don't internally use param string IDs in wrapper
This avoids a layer of indirection for every parameter lookup using a
hash.
2022-01-27 22:36:46 +01:00
Robbert van der Helm
217b28fdca Move VST3 categories and class ID to a new trait
Makes more sense than having this in either the general plugin trait or
as part of the macro.
2022-01-27 22:13:13 +01:00
Robbert van der Helm
c11abdc77d Add a processing status for handling reverb tails 2022-01-27 21:03:49 +01:00
Robbert van der Helm
b5636ef556 Implement the rest of IEditController 2022-01-27 19:55:24 +01:00
Robbert van der Helm
9ff881b355 Add functions for previewing parameter conversions 2022-01-27 19:43:19 +01:00
Robbert van der Helm
1f0dbdbbec Clean up parameter access conditionals
I forgot this works as an else if
2022-01-27 19:36:36 +01:00
Robbert van der Helm
338abf7367 Implement IEditController::getParamValueByString() 2022-01-27 19:30:42 +01:00
Robbert van der Helm
d357add75a Implement most of the VST3 parameter handling 2022-01-27 00:19:50 +01:00
Robbert van der Helm
ad94b44b93 Add lookup functions between strings and values
For parameters.
2022-01-27 00:15:11 +01:00
Robbert van der Helm
dfbfc657a8 Add a getter for parameter units from poitners 2022-01-26 23:37:41 +01:00
Robbert van der Helm
186a924104 Implement a JUCE-compatible Rabin fingerprint 2022-01-26 23:35:01 +01:00
Robbert van der Helm
22be850d9e Implement IPluginFactory2 and IPluginFactory3 2022-01-26 22:23:44 +01:00
Robbert van der Helm
9046cfbe3a Add a version string constant 2022-01-26 22:20:15 +01:00
Robbert van der Helm
0a67c8e5f4 Correct the VST3 categories string length 2022-01-26 21:40:49 +01:00
Robbert van der Helm
35cf7ffc1d Implement IComponent 2022-01-26 21:12:13 +01:00
Robbert van der Helm
4014d83a9b Allow creating VST3 plugin instances 2022-01-26 21:12:02 +01:00
Robbert van der Helm
a959f7a2ad Add an UTF-16 equivalent for strlcpy() 2022-01-26 21:02:52 +01:00
Robbert van der Helm
2614be26ab Add an unconditional debug assertion failure macro 2022-01-26 20:55:01 +01:00
Robbert van der Helm
19b51df357 Implement IPluginFactory up to creating instances 2022-01-26 20:05:51 +01:00
Robbert van der Helm
a13263051a Add a VST3 categories constant for plugins 2022-01-26 19:49:22 +01:00
Robbert van der Helm
dc6db232ed Pass a CID to the VST3 export macro
Seems much less prone to breakage than generating them, since this way
the programmer has full control.
2022-01-26 19:20:39 +01:00