1
0
Fork 0
Commit graph

1828 commits

Author SHA1 Message Date
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
Robbert van der Helm
bd2e0eca0c Add a strlcpy implementation 2022-01-26 19:18:31 +01:00
Robbert van der Helm
fa782ff938 Add a stub plugin factory implementation 2022-01-26 18:14:54 +01:00
Robbert van der Helm
031407754b Add name, vendor, and other constants to plugins 2022-01-26 18:14:13 +01:00
Robbert van der Helm
1a619c474b Use a vst3-sys fork with support for generics 2022-01-26 15:38:43 +01:00
Robbert van der Helm
04ad429e57 Fix gain plugin parameter ranges 2022-01-26 15:11:23 +01:00
Robbert van der Helm
070e68c084 Move nih_plug to the repo's root
Makes more sense to have this be on the same level as the workspace
since technically this crate can be used separately.
2022-01-26 12:52:57 +01:00
Robbert van der Helm
c3f8b8fb8c Re-export the nih_plug_derive macro
No need to have to use this crate separately.
2022-01-26 12:50:30 +01:00
Robbert van der Helm
41a0f234bd Fix rustdoc link to function 2022-01-26 12:43:09 +01:00
Robbert van der Helm
6edba6555e Generate VST3 entry point functions 2022-01-26 12:37:45 +01:00
Robbert van der Helm
a1f0f822ec Add some sort of description to the readme 2022-01-26 12:07:37 +01:00
Robbert van der Helm
e782fda3f6 Remove todo about params derive macro
Since we already have this.
2022-01-26 11:58:18 +01:00
Robbert van der Helm
71a910fa75 Add a gain to decibel conversion function 2022-01-26 11:57:47 +01:00
Robbert van der Helm
5cd14492ea Use the new decibel to gain function 2022-01-26 11:49:32 +01:00
Robbert van der Helm
7fe47dfbbd Add a decibel to gain conversion function 2022-01-26 11:48:40 +01:00
Robbert van der Helm
98e326d390 Implement Plugin::params()
I somehow forgot to add this.
2022-01-26 11:41:07 +01:00
Robbert van der Helm
d8db0e64cf Use the debug assert macros 2022-01-26 11:38:26 +01:00