diff --git a/.gitmodules b/.gitmodules index 2342664..965f7d0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,3 +13,7 @@ [submodule "modules/MTS-ESP"] path = modules/MTS-ESP url = https://github.com/ODDSound/MTS-ESP.git +[submodule "modules/clap-juce-extensions"] + path = modules/clap-juce-extensions + url = https://github.com/free-audio/clap-juce-extensions.git + branch = main diff --git a/CMakeLists.txt b/CMakeLists.txt index 14eac0b..52f0a96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,6 +71,7 @@ set (JUCE_BUILD_EXTRAS OFF) set (JUCE_BUILD_EXAMPLES OFF) add_subdirectory (modules/juce) +add_subdirectory (modules/clap-juce-extensions EXCLUDE_FROM_ALL) set_property (DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/modules/juce" APPEND PROPERTY LABELS JUCE) @@ -126,6 +127,10 @@ juce_add_plugin (${PLUGIN_NAME} AU_SANDBOX_SAFE FALSE LV2URI ${LV2_URI}) +clap_juce_extensions_plugin (TARGET ${PLUGIN_NAME} + CLAP_ID "${BUNDLE_ID}" + CLAP_FEATURES instrument synthesizer) + file (GLOB_RECURSE source_files CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/plugin/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/plugin/*.c diff --git a/ci/build.sh b/ci/build.sh index c6c5221..9494a77 100755 --- a/ci/build.sh +++ b/ci/build.sh @@ -54,16 +54,19 @@ if [ "$(uname)" == "Darwin" ]; then mkdir -p "$ROOT/ci/bin/au" mkdir -p "$ROOT/ci/bin/vst" mkdir -p "$ROOT/ci/bin/vst3" + mkdir -p "$ROOT/ci/bin/clap" cp -R "$ROOT/Builds/xcode/${PLUGIN}_artefacts/Release/AU/$PLUGIN.component" "$ROOT/ci/bin/au" cp -R "$ROOT/Builds/xcode/${PLUGIN}_artefacts/Release/VST/$PLUGIN.vst" "$ROOT/ci/bin/vst" cp -R "$ROOT/Builds/xcode/${PLUGIN}_artefacts/Release/VST3/$PLUGIN.vst3" "$ROOT/ci/bin/vst3" + cp -R "$ROOT/Builds/xcode/${PLUGIN}_artefacts/Release/CLAP/$PLUGIN.clap" "$ROOT/ci/bin/clap" cd "$ROOT/ci/bin" if [ -n "$APPLICATION" ]; then codesign -s "$DEV_APP_ID" -v vst/$PLUGIN.vst --options=runtime --timestamp --force codesign -s "$DEV_APP_ID" -v vst3/$PLUGIN.vst3 --options=runtime --timestamp --force codesign -s "$DEV_APP_ID" -v au/$PLUGIN.component --options=runtime --timestamp --force + codesign -s "$DEV_APP_ID" -v clap/$PLUGIN.clap --options=runtime --timestamp --force else echo "Not signing" fi @@ -72,18 +75,19 @@ if [ "$(uname)" == "Darwin" ]; then cd "$ROOT/ci/bin" if [[ -n "$APPLE_USER" ]]; then - zip -r ${PLUGIN}_Mac.zip vst/$PLUGIN.vst vst3/$PLUGIN.vst3 au/$PLUGIN.component + zip -r ${PLUGIN}_Mac.zip vst/$PLUGIN.vst vst3/$PLUGIN.vst3 au/$PLUGIN.component clap/$PLUGIN.clap xcrun notarytool submit --verbose --apple-id "$APPLE_USER" --password "$APPLE_PASS" --team-id "3FS7DJDG38" --wait --timeout 30m ${PLUGIN}_Mac.zip rm ${PLUGIN}_Mac.zip xcrun stapler staple vst/$PLUGIN.vst xcrun stapler staple vst3/$PLUGIN.vst3 xcrun stapler staple au/$PLUGIN.component + xcrun stapler staple clap/$PLUGIN.clap else echo "Not notarizing" fi - zip -r ${PLUGIN}_Mac.zip vst/$PLUGIN.vst vst3/$PLUGIN.vst3 au/$PLUGIN.component + zip -r ${PLUGIN}_Mac.zip vst/$PLUGIN.vst vst3/$PLUGIN.vst3 au/$PLUGIN.component clap/$PLUGIN.clap if [ "$BRANCH" = "release" ]; then curl -F "files=@${PLUGIN}_Mac.zip" "https://socalabs.com/files/set.php?key=$APIKEY" @@ -98,10 +102,12 @@ elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then mkdir -p "$ROOT/ci/bin/lv2" mkdir -p "$ROOT/ci/bin/vst" mkdir -p "$ROOT/ci/bin/vst3" + mkdir -p "$ROOT/ci/bin/clap" cp -R "$ROOT/Builds/ninja-gcc/${PLUGIN}_artefacts/Release/LV2/$PLUGIN.lv2" "$ROOT/ci/bin/lv2" cp -R "$ROOT/Builds/ninja-gcc/${PLUGIN}_artefacts/Release/VST/lib$PLUGIN.so" "$ROOT/ci/bin/vst/$PLUGIN.so" cp -R "$ROOT/Builds/ninja-gcc/${PLUGIN}_artefacts/Release/VST3/$PLUGIN.vst3" "$ROOT/ci/bin/vst3" + cp -R "$ROOT/Builds/ninja-gcc/${PLUGIN}_artefacts/Release/CLAP/$PLUGIN.clap" "$ROOT/ci/bin/clap" cd "$ROOT/ci/bin" @@ -109,10 +115,11 @@ elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then strip vst/$PLUGIN.so strip vst3/$PLUGIN.vst3/Contents/x86_64-linux/$PLUGIN.so strip lv2/$PLUGIN.lv2/lib$PLUGIN.so + strip clap/$PLUGIN.clap/$PLUGIN.so # Upload cd "$ROOT/ci/bin" - zip -r ${PLUGIN}_Linux.zip vst/$PLUGIN.so vst3/$PLUGIN.vst3 lv2/$PLUGIN.lv2 + zip -r ${PLUGIN}_Linux.zip vst/$PLUGIN.so vst3/$PLUGIN.vst3 lv2/$PLUGIN.lv2 clap/$PLUGIN.clap if [ "$BRANCH" = "release" ]; then curl -F "files=@${PLUGIN}_Linux.zip" "https://socalabs.com/files/set.php?key=$APIKEY" @@ -126,12 +133,14 @@ elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ]; then mkdir -p "$ROOT/ci/bin/vst" mkdir -p "$ROOT/ci/bin/vst3" + mkdir -p "$ROOT/ci/bin/clap" cp -R "$ROOT/Builds/vs/${PLUGIN}_artefacts/Release/VST/$PLUGIN.dll" "$ROOT/ci/bin/vst" cp -R "$ROOT/Builds/vs/${PLUGIN}_artefacts/Release/VST3/$PLUGIN.vst3" "$ROOT/ci/bin/vst3" + cp -R "$ROOT/Builds/vs/${PLUGIN}_artefacts/Release/CLAP/$PLUGIN.clap" "$ROOT/ci/bin/clap" cd "$ROOT/ci/bin" - 7z a ${PLUGIN}_Win.zip vst/$PLUGIN.dll vst3/$PLUGIN.vst3 + 7z a ${PLUGIN}_Win.zip vst/$PLUGIN.dll vst3/$PLUGIN.vst3 clap/$PLUGIN.clap if [ "$BRANCH" = "release" ]; then curl -F "files=@${PLUGIN}_Win.zip" "https://socalabs.com/files/set.php?key=$APIKEY" diff --git a/modules/clap-juce-extensions b/modules/clap-juce-extensions new file mode 160000 index 0000000..e44a9e5 --- /dev/null +++ b/modules/clap-juce-extensions @@ -0,0 +1 @@ +Subproject commit e44a9e53ea8d22e2fbe2f366921d494534bb2b52