1
0
Fork 0
Commit graph

294 commits

Author SHA1 Message Date
Robbert van der Helm e5edbac2b4 Add comments for potential parameter quirks 2022-03-01 02:15:23 +01:00
Robbert van der Helm 5f1ebca6e6 Implement clap_plugin_params::get_value() 2022-03-01 02:00:12 +01:00
Robbert van der Helm ae3c00d069 Implement CLAP parmater info 2022-03-01 01:54:04 +01:00
Robbert van der Helm 0fd80330bb Move parameter step count to ParamPtr 2022-03-01 01:53:48 +01:00
Robbert van der Helm 1c4a5bc4da Add stubs for the CLAP params extension 2022-03-01 01:27:01 +01:00
Robbert van der Helm a268d71eee Add a note on snapping normalized values 2022-03-01 01:02:00 +01:00
Robbert van der Helm 08d63f0e73 Fix typo 2022-03-01 00:06:22 +01:00
Robbert van der Helm ae212962a3 Add a todo for nested params objects 2022-02-28 22:16:46 +01:00
Robbert van der Helm af77d45877 Add a Send+Sync wrapper for CLAP object pointers
We'll need this for the extensions.
2022-02-28 20:39:15 +01:00
Robbert van der Helm 12075b1a24 Rename main CLAP plugin wrapper struct to Wrapper 2022-02-28 20:25:49 +01:00
Robbert van der Helm 2750b2a6ad Implement the event loop for CLAP
It cannot yet handle any tasks though.
2022-02-28 20:05:48 +01:00
Robbert van der Helm 4ad972ea23 Add stubs for a CLAP ProcessContext implementation
And the `clap_plugin::active()` function.
2022-02-28 19:45:41 +01:00
Robbert van der Helm 41663a404a Change VST3 wrapper trait bounds to Vst3Plugin
To be consistent with the CLAP wrapper
2022-02-28 19:21:14 +01:00
Robbert van der Helm 6d1e581c26 Partially implement clap_plugin 2022-02-28 19:16:03 +01:00
Robbert van der Helm 0511053b3b Add stubs for the clap_plugin methods 2022-02-28 18:55:33 +01:00
Robbert van der Helm 2e6faaa324 Move plugin descriptor to its own module
Because we also need this in the clap_plugin implementation.
2022-02-28 18:44:03 +01:00
Robbert van der Helm 32a640acf7 Create a clap_plugin instance stub 2022-02-28 18:27:57 +01:00
Robbert van der Helm 0b0876e4a5 Remove entry point debug prints 2022-02-28 18:17:01 +01:00
Robbert van der Helm 560d5fd78f Build the CLAP plugin descriptor
This requires a _lot_ of CStrings.
2022-02-28 17:46:20 +01:00
Robbert van der Helm e718bbd0a4 Capitalize the FACTORY lazy static
To stop the linters from complaining.
2022-02-28 17:30:21 +01:00
Robbert van der Helm a26ddbb45e Change CLAP_KEYWORDS to CLAP_FEATURES
This name was changed in CLAP 0.19, but in 0.18 it's still called
features.
2022-02-28 17:29:53 +01:00
Robbert van der Helm 1151a80769 Add the other CLAP metadata fields 2022-02-28 17:18:11 +01:00
Robbert van der Helm c7f1c46f18 Add a reverse DNS ID field to ClapPlugin 2022-02-28 17:04:47 +01:00
Robbert van der Helm 089f1589bf Add the remaining CLAP factory stubs 2022-02-28 16:53:31 +01:00
Robbert van der Helm 31e2480458 Begin clap objects with vtables for pointer casts 2022-02-28 16:50:37 +01:00
Robbert van der Helm 17b51c8920 Remove function pointer transmutes 2022-02-28 16:46:06 +01:00
Robbert van der Helm 0609f89df6 Create a factory stub from the entry point macro
From this point on we should no longer need any of these ugly macros.
2022-02-28 16:31:49 +01:00
Robbert van der Helm 51d7532b87 Add some more use path safety for the clap export 2022-02-28 15:48:26 +01:00
Robbert van der Helm 56c1545196 Add a basic nih_export_clap!() macro
This does not do anything useful yet.
2022-02-28 14:45:31 +01:00
Robbert van der Helm d5d90e3e61 Add a ClapPlugin trait
Just like the Vst3Plugin trait
2022-02-28 14:45:07 +01:00
Robbert van der Helm b209c9caf3 Move the event loop to its own module
Now that the context module is becoming larger and larger.
2022-02-28 12:57:01 +01:00
Robbert van der Helm 0675feb54b Keep a reference to WrapperView in WrapperInner 2022-02-27 00:51:41 +01:00
Robbert van der Helm 8ddad4e893 Store the IPlugFrame instance 2022-02-27 00:51:41 +01:00
Robbert van der Helm 95f0183d27 Add VST3 smart pointers for regular objects 2022-02-27 00:51:41 +01:00
Robbert van der Helm dcca3f8bf4 Fix events not working in release builds 2022-02-15 23:11:50 +01:00
Robbert van der Helm 6fbec6393d Include the Linux event loop module on macOS 2022-02-15 21:31:02 +01:00
Robbert van der Helm b7904126ac Allow the Linux event loop on macOS 2022-02-15 21:25:55 +01:00
Robbert van der Helm 5d9f268d4c Don't doctest the enum example 2022-02-14 16:21:34 +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 4f0e2b70b5 Rework EnumParam to be a whole lot less sketchy
Now it no longer needs to do any unsound type punning. The internal
parameter that the wrapper has access to has been completely type
erased, and only the outer parameter knows about enum T. This also gets
rid of strum and replaces it with a custom trait.
2022-02-14 15:34:46 +01:00
Robbert van der Helm 0e930668f2 Move EnumParam to its own module 2022-02-14 14:35:57 +01:00
Robbert van der Helm 5a26756765 Move BoolParam to its own module 2022-02-14 14:27:40 +01:00
Robbert van der Helm 287576d064 Fix rustdoc hyperlinks 2022-02-14 14:22:57 +01:00
Robbert van der Helm 70da6209fc Move PlainParam to its own module 2022-02-14 14:19:46 +01:00
Robbert van der Helm cf0fb039b0 Add todo about enum value serialization 2022-02-14 02:29:08 +01:00
Robbert van der Helm 847887db9d Allow custom names for enum variants 2022-02-14 02:26:11 +01:00
Robbert van der Helm 0c1f105910 Fix string to value for enum parameters 2022-02-14 02:10:12 +01:00
Robbert van der Helm 39e8dfc83c Add somewhat shady enum parameters 2022-02-14 02:04:17 +01:00
Robbert van der Helm d878fd692a Prefix all marker fields with underscores 2022-02-13 22:58:51 +01:00
Robbert van der Helm fd3f4c2c48 Allow skipping steps in the smoothers
I'll need this for Diopser since it's going to have a parameter to
control the automation's granularity.
2022-02-13 18:33:05 +01:00