Robbert van der Helm
6d70e30584
Add send and sync constraints to boxed callbacks
...
Otherwise the Sync constraint on Plugin cannot be satisfied.
2022-01-25 22:46:12 +01:00
Robbert van der Helm
fba92cd333
Require a Default instance on plugins
...
Since that's how they're going to be initialized
2022-01-25 22:38:34 +01:00
Robbert van der Helm
5d0fbcd60d
Clamp parameter values in (un)normalization
...
In case the host or the plugin does something weird.
2022-01-25 22:30:11 +01:00
Robbert van der Helm
d7929920c9
Add rounding to integer ranges
2022-01-25 22:26:38 +01:00
Robbert van der Helm
3c950d98d4
Move implementation details to the module's end
2022-01-25 22:23:57 +01:00
Robbert van der Helm
52f80de5dc
Add a dummy library for testing the macro
2022-01-25 22:18:55 +01:00
Robbert van der Helm
7065e900a7
Make ParamPtr debug printable
2022-01-25 22:18:10 +01:00
Robbert van der Helm
11c4112361
Mention that this won't implement parameter groups
2022-01-25 20:36:43 +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
3f2f932a55
Add a function for getting pointers from params
...
So we don't need to implement this ad-hoc. That would even be impossible
to do correctly inside of the proc macro.
2022-01-25 19:54:27 +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
Robbert van der Helm
6357711783
Add another crate for a proc macro
2022-01-25 12:35:13 +01:00
Robbert van der Helm
736468a510
Move nih-plug to a workspace
2022-01-25 12:23:19 +01:00
Robbert van der Helm
2df0d7453d
Fix library name in copyright headers
2022-01-25 02:19:53 +01:00
Robbert van der Helm
2598e97494
Add the basic plugin API
2022-01-25 02:19:31 +01:00
Robbert van der Helm
e8697d9a74
Redo the parameters without atomics
...
These atomics make things more difficult and they don't solve the main
problem: storing the parameter objects in an easy to use struct while
still allowing hash based access to them from the plugin wrapper. Going
through this new Params trait makes a lot more sense, and with pinning
this should be safe.
2022-01-25 02:17:30 +01:00
Robbert van der Helm
b1415a36da
Rename library to nih-plug
...
Makes more sense that way.
2022-01-24 21:34:08 +01:00
Robbert van der Helm
4f501f539e
Implement the rest of the basic parameter UI
2022-01-24 21:12:02 +01:00
Robbert van der Helm
edf9e96975
Rename Normalize to NormalizebleRange
...
To hopefully make the use of trait a bit clearer. This is where higher
kinded types would have been nice.
2022-01-24 21:00:37 +01:00
Robbert van der Helm
64f7dc8148
Add some of the building blocks for param handling
2022-01-24 21:00:37 +01:00
Robbert van der Helm
d748bd62ff
Initial commit
2022-01-24 21:00:37 +01:00