1
0
Fork 0
Commit graph

773 commits

Author SHA1 Message Date
Robbert van der Helm a53fbc11da Add a TODO for audio tail processing 2022-01-25 23:02:13 +01:00
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