Robbert van der Helm
449adb8bfc
Add stable IDs for enum parameters
2022-06-03 22:22:36 +02:00
Robbert van der Helm
6628baf47e
Split up the nih_plug_derive crate into modules
2022-03-16 15:53:35 +01:00
Robbert van der Helm
943149aaee
Qualify the nih_log!() in the proc macro
2022-03-04 12:01:35 +01:00
Robbert van der Helm
4c0b07c578
💥 Move re-exports to a prelude module
...
So you can import everything at once, because you're likely going to
need at least 90% of it anyways.
2022-03-03 23:23:51 +01:00
Robbert van der Helm
f581294d7b
Update rustdoc formatting for links
...
Apparently it showed this text verbatim, and not in monospace.
2022-03-03 23:05:12 +01:00
Robbert van der Helm
e4ca8ba75a
Fix typo in proc macro
2022-03-03 20:48:40 +01:00
Robbert van der Helm
be4bbd4400
Allow nested parameter structs
...
See the Parameters docstring for the caveats.
2022-03-03 20:38:28 +01:00
Robbert van der Helm
ecd1be8965
Add a derive macro for Enum parameters
2022-02-14 16:16:05 +01:00
Robbert van der Helm
d6b358f8ca
Don't require importing Param for derive macro
2022-02-12 19:55:39 +01:00
Robbert van der Helm
befe02cbc1
Error out when fields have duplicate names
2022-02-12 19:36:31 +01:00
Robbert van der Helm
4aa85b43b4
Move parameter implementation details to a module
2022-02-01 21:01:28 +01:00
Robbert van der Helm
6bb83061dd
Rename the params module to param
...
It's a heterogeneous module, and splitting the ranges to their own
module will be a bit weird otherwise.
2022-02-01 20:51:22 +01:00
Robbert van der Helm
fe8f1d27d6
Use a stable ordering for the parameters
...
As the fields are specified on the parameters struct.
2022-01-31 22:20:09 +01:00
Robbert van der Helm
6494d1ed5f
Store persistent fields as plain JSON strings
...
On second thought, this is much better. The resulting file size will be
much smaller because only double quotes need to be escaped. It's also
easier to read at a glance.
2022-01-30 18:23:13 +01:00
Robbert van der Helm
221e424f78
Use thread safe interior mutability for persist
...
Sadly there's not really a safe way to do this otherwise, but if you
really want to have persistence this way and absolutely need it to be
lock-free (because you're going to use it from the GUI thread), then you
can implement your own PersistentField.
2022-01-30 17:07:50 +01:00
Robbert van der Helm
8ac036f6cc
Add an API for persisting arbitrary fields
2022-01-30 16:14:52 +01:00
Robbert van der Helm
6fc4d80483
Change the id attribute to be a key value pair
2022-01-29 20:40:14 +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
5cc9931de6
Not all structs are called Foo
2022-01-25 20:02:58 +01:00
Robbert van der Helm
571dd1f2d4
Implement the Params derive proc macro
2022-01-25 19:55:01 +01:00
Robbert van der Helm
4cd9c6d3d3
Rename packages to snake case
...
I much prefer kebab case, but snake case is better here since Rust would
convert it to snake case when used as an identifier anyways and you also
can't use snake case modules without explicit module path attributes.
2022-01-25 12:35:13 +01:00