Skip to content

Quick Start Guide (Integrated)

Paul edited this page Nov 13, 2023 · 3 revisions

This Quick Start is aimed at developers who have a CMake build process which builds a CLAP and want to extend that to build wrappers for that CLAP in other formats. If you create your CLAP using other means, please see our quick start for standalone wrapping

Getting to a wrap in a hurry

Step One: Make the clap-wrapper project available to your CMake

First, Clone clap-wrapper or make it a submodule of your project.

Then add the clap-wrapper tools to your cmake build path with configuration choices. The following will add clap-wrapper and use CPM to download all the required dependencies. Please note if you choose this option it will download the VST3 SDK which may have license considerations for your project.

    set(CLAP_WRAPPER_DOWNLOAD_DEPENDENCIES TRUE CACHE BOOL "Download Dependencies")
    add_subdirectory(clap/clap-wrapper)

Step Two: Add a wrapper target to your cmake

You will have a target which builds a CLAP. From this we can infer most of what we need to build a VST3, AUv2, and standalone, but you still need to add and in some cases configure explicit targets.

set(VST3_TARGET ${PROJECT_NAME}_vst3)
add_library(${VST3_TARGET} MODULE)
target_add_vst3_wrapper(TARGET ${VST3_TARGET}
        OUTPUT_NAME "Your Plugin Name"
        SUPPORTS_ALL_NOTE_EXPRESSIONS TRUE
        )

Step Three: Reload your cmake and build

You can now build your _vst3 target and a working VST3 should results

What Next

The above quick guide misses quite a few items namely

  1. It doesn't create a standalone
  2. It doesn't create an AUv2 on macOS
  3. The VST3 loads the resulting CLAP dynamically; but there are other strategies to make fully self contained plugins

Each of these are in our developer documentation, or will be soon.