From 988a1bc9a220a6e145b8cfb767aeb1f95b50dd8e Mon Sep 17 00:00:00 2001 From: Oli Larkin Date: Thu, 16 May 2024 00:11:08 +0200 Subject: [PATCH 1/3] Update README.md, adding iPlug2 ... to community section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 78c628d6..a790e6bf 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,7 @@ and use to get a basic plugin experience: - [MIP2](https://github.com/skei/MIP2), host and plugins - [Avendish](https://github.com/celtera/avendish), a reflection-based API for media plug-ins in C++ which supports Clap - [NIH-plug](https://github.com/robbert-vdh/nih-plug), an API-agnostic, Rust-based plugin framework aiming to reduce boilerplate without getting in your way +- [iPlug2](https://iplug2.github.io), a liberally licensed C++ audio plug-in framework that supports Clap ## Programming Language Bindings From 6c343c9b893a92c829432d3f911366ec591b736c Mon Sep 17 00:00:00 2001 From: Nature Is Frequency Date: Tue, 6 Feb 2024 14:44:21 +0000 Subject: [PATCH 2/3] Fix: for issue: #390 Add .DS_Store to .gitignore Add .DS_Store to .gitignore (MacOS specific) Fixes: https://github.com/free-audio/clap/issues/390 --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index dc8faa65..ba473737 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,5 @@ cmake-build*/ # A place to store stuff and get it git ignored ignore/* + +.DS_Store From 5c5f18d21198b1c37b11e634fcbb15171c21231c Mon Sep 17 00:00:00 2001 From: Alexandre Bique Date: Mon, 2 Sep 2024 14:46:32 +0200 Subject: [PATCH 3/3] undo: have a single delta for both undo and redo --- include/clap/ext/draft/undo.h | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/include/clap/ext/draft/undo.h b/include/clap/ext/draft/undo.h index 365780e6..4cfa17ff 100644 --- a/include/clap/ext/draft/undo.h +++ b/include/clap/ext/draft/undo.h @@ -76,14 +76,23 @@ typedef struct clap_plugin_undo { bool(CLAP_ABI *can_use_delta_format_version)(const clap_plugin_t *plugin, clap_id format_version); - // Applies synchronously a delta. + // Undo using the delta. // Returns true on success. // // [main-thread] - bool(CLAP_ABI *apply_delta)(const clap_plugin_t *plugin, - clap_id format_version, - const void *delta, - size_t delta_size); + bool(CLAP_ABI *undo)(const clap_plugin_t *plugin, + clap_id format_version, + const void *delta, + size_t delta_size); + + // Redo using the delta. + // Returns true on success. + // + // [main-thread] + bool(CLAP_ABI *redo)(const clap_plugin_t *plugin, + clap_id format_version, + const void *delta, + size_t delta_size); // Sets the undo context. // flags: bitmask of clap_undo_context_flags values @@ -112,7 +121,7 @@ typedef struct clap_host_undo { // // name: mandatory null terminated string describing the change, this is displayed to the user // - // deltas: optional, they are binary blobs used to perform the undo and redo. When not available + // delta: optional, it is a binary blobs used to perform the undo and redo. When not available // the host will save the plugin state and use state->load() to perform undo and redo. // // Note: the provided delta may be used for incremental state saving and crash recovery. The @@ -128,18 +137,16 @@ typedef struct clap_host_undo { // [main-thread] void(CLAP_ABI *change_made)(const clap_host_t *host, const char *name, - const void *redo_delta, - size_t redo_delta_size, - const void *undo_delta, - size_t undo_delta_size); + const void *delta, + size_t delta_size); // Asks the host to perform the next undo step. - // This operation may be asynchronous. + // This operation may be asynchronous and isn't available while the host is within a change. // [main-thread] void(CLAP_ABI *undo)(const clap_host_t *host); // Asks the host to perform the next redo step. - // This operation may be asynchronous. + // This operation may be asynchronous and isn't available while the host is within a change. // [main-thread] void(CLAP_ABI *redo)(const clap_host_t *host);