diff --git a/CHANGELOG.md b/CHANGELOG.md index 2995f8d7..e1447b31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,10 +14,17 @@ state is to list breaking changes. ### Changed +- The CLAP version has been updated to 1.1.8. - The prelude module now also re-exports the following: - The `PluginApi` num. - The `Transport` struct. +### Fixed + +- The upgrade to CLAP 1.1.8 caused NIH-plug to switch from the draft version of + the voice info extension to the final version, fixing voice stacking with + recent versions of Bitwig. + ## [2023-04-05] ### Breaking changes diff --git a/Cargo.lock b/Cargo.lock index ab41e0a0..0295a96a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -640,8 +640,7 @@ dependencies = [ [[package]] name = "clap-sys" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27f4e06657d33d5d194db1155cef359c359483a4170362bf4e105146dd0109e3" +source = "git+https://github.com/robbert-vdh/clap-sys.git?branch=feature/cstr-macro#523a5f8a8dd021ec99e7d6e0c0ebe7741a3da9d4" [[package]] name = "clap_derive" diff --git a/Cargo.toml b/Cargo.toml index dbea8ef3..904da1a3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,8 @@ atomic_refcell = "0.1" backtrace = "0.3.65" bitflags = "1.3" cfg-if = "1.0" -clap-sys = "0.3" +# This supports CLAP 1.1.8 +clap-sys = { git = "https://github.com/robbert-vdh/clap-sys.git", branch = "feature/cstr-macro" } crossbeam = "0.8" lazy_static = "1.4" log = { version = "0.4", features = ["std", "release_max_level_info"] } diff --git a/src/wrapper/clap.rs b/src/wrapper/clap.rs index 94454331..eb83294c 100644 --- a/src/wrapper/clap.rs +++ b/src/wrapper/clap.rs @@ -10,7 +10,7 @@ mod wrapper; /// Re-export for the wrapper. pub use self::factory::Factory; pub use clap_sys::entry::clap_plugin_entry; -pub use clap_sys::plugin_factory::CLAP_PLUGIN_FACTORY_ID; +pub use clap_sys::factory::plugin_factory::CLAP_PLUGIN_FACTORY_ID; pub use clap_sys::version::CLAP_VERSION; pub use lazy_static::lazy_static; diff --git a/src/wrapper/clap/factory.rs b/src/wrapper/clap/factory.rs index 528d906f..105e5331 100644 --- a/src/wrapper/clap/factory.rs +++ b/src/wrapper/clap/factory.rs @@ -1,6 +1,6 @@ +use clap_sys::factory::plugin_factory::clap_plugin_factory; use clap_sys::host::clap_host; use clap_sys::plugin::{clap_plugin, clap_plugin_descriptor}; -use clap_sys::plugin_factory::clap_plugin_factory; use std::ffi::CStr; use std::os::raw::c_char; use std::ptr; diff --git a/src/wrapper/clap/wrapper.rs b/src/wrapper/clap/wrapper.rs index 1436c96a..885757bf 100644 --- a/src/wrapper/clap/wrapper.rs +++ b/src/wrapper/clap/wrapper.rs @@ -22,10 +22,6 @@ use clap_sys::ext::audio_ports::{ use clap_sys::ext::audio_ports_config::{ clap_audio_ports_config, clap_plugin_audio_ports_config, CLAP_EXT_AUDIO_PORTS_CONFIG, }; -use clap_sys::ext::draft::voice_info::{ - clap_host_voice_info, clap_plugin_voice_info, clap_voice_info, CLAP_EXT_VOICE_INFO, - CLAP_VOICE_INFO_SUPPORTS_OVERLAPPING_NOTES, -}; use clap_sys::ext::gui::{ clap_gui_resize_hints, clap_host_gui, clap_plugin_gui, clap_window, CLAP_EXT_GUI, CLAP_WINDOW_API_COCOA, CLAP_WINDOW_API_WIN32, CLAP_WINDOW_API_X11, @@ -48,6 +44,10 @@ use clap_sys::ext::render::{ use clap_sys::ext::state::{clap_plugin_state, CLAP_EXT_STATE}; use clap_sys::ext::tail::{clap_plugin_tail, CLAP_EXT_TAIL}; use clap_sys::ext::thread_check::{clap_host_thread_check, CLAP_EXT_THREAD_CHECK}; +use clap_sys::ext::voice_info::{ + clap_host_voice_info, clap_plugin_voice_info, clap_voice_info, CLAP_EXT_VOICE_INFO, + CLAP_VOICE_INFO_SUPPORTS_OVERLAPPING_NOTES, +}; use clap_sys::fixedpoint::{CLAP_BEATTIME_FACTOR, CLAP_SECTIME_FACTOR}; use clap_sys::host::clap_host; use clap_sys::id::{clap_id, CLAP_INVALID_ID};