diff --git a/CMakeLists.txt b/CMakeLists.txt index ac1e70e..b30ecf6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.17) -# build VST 2? -option(JAMBA_ENABLE_VST2 "Use VST2" ON) - # build Audio Unit? option(JAMBA_ENABLE_AUDIO_UNIT "Enable Audio Unit" ON) @@ -30,7 +27,7 @@ set(PLUGIN_MINOR_VERSION 1) set(PLUGIN_PATCH_VERSION 3) set(PLUGIN_VERSION "${PLUGIN_MAJOR_VERSION}.${PLUGIN_MINOR_VERSION}.${PLUGIN_PATCH_VERSION}") -project(vst-ab-switch) +project(vst-ab-switch VERSION "${PLUGIN_VERSION}") # To use local googletest install, uncomment the following line (no download) and modify the path accordingly set(GOOGLETEST_ROOT_DIR "") diff --git a/README.md b/README.md index b5d4f50..7d229e6 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,17 @@ This project is a VST implementation of the [A/B Audio Switch](https://pongasoft This project is connected to the [VST Development Notes](https://www.pongasoft.com/blog/yan/vst/2018/03/12/VST-development-notes) blog post series. +### Unreleased - `master` + +* Upgraded to [Jamba](https://github.com/pongasoft/jamba) 7.1.3 / VST3 SDK 3.7.12 +* Removed support for VST2 + +> [!NOTE] +> This version is not released because there are no new features or bug fixes, and since +> it removes support for VST2, it is not released at the moment. +> `master` has been updated to the latest version of Jamba / VST3 SDK so that it compiles with +> more recent versions of macOS / Windows. + 2021-01-04 - Status for tag `v1.1.3` ------------------------------------ * Use of [jamba](https://github.com/pongasoft/jamba) framework and VST SDK 3.7.0 diff --git a/fetch_jamba.cmake b/fetch_jamba.cmake index 3ba5562..8d57964 100644 --- a/fetch_jamba.cmake +++ b/fetch_jamba.cmake @@ -1,42 +1,41 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.19) include(FetchContent) +set(JAMBA_GIT_REPO "https://github.com/pongasoft/jamba" CACHE STRING "Jamba git repository url") +set(JAMBA_GIT_TAG v7.1.3 CACHE STRING "Jamba git tag") +set(JAMBA_DOWNLOAD_URL "${JAMBA_GIT_REPO}/archive/refs/tags/v7.1.3.zip" CACHE STRING "Jamba download url") +set(JAMBA_DOWNLOAD_URL_HASH "SHA256=c177c031afebf97e3c8ccaf70e9de09a1cfbe4d4503e45106612cceef03f3fe0" CACHE STRING "Jamba download url hash") + if(JAMBA_ROOT_DIR) - # instructs FetchContent to not download or update but use the location instead - set(FETCHCONTENT_SOURCE_DIR_JAMBA ${JAMBA_ROOT_DIR}) + message(STATUS "Using jamba from local ${JAMBA_ROOT_DIR}") + FetchContent_Declare(jamba + SOURCE_DIR "${JAMBA_ROOT_DIR}" + SOURCE_SUBDIR "do_not_make_available" # invalid folder to not execute jamba/CMakeLists.txt + ) else() - set(FETCHCONTENT_SOURCE_DIR_JAMBA "") -endif() - -set(JAMBA_GIT_REPO "https://github.com/pongasoft/jamba" CACHE STRING "Jamba git repository url" FORCE) -set(JAMBA_GIT_TAG v5.1.2 CACHE STRING "Jamba git tag" FORCE) - -FetchContent_Declare(jamba - GIT_REPOSITORY ${JAMBA_GIT_REPO} - GIT_TAG ${JAMBA_GIT_TAG} - GIT_CONFIG advice.detachedHead=false - GIT_SHALLOW true - SOURCE_DIR "${CMAKE_BINARY_DIR}/jamba" - BINARY_DIR "${CMAKE_BINARY_DIR}/jamba-build" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "" - TEST_COMMAND "" + if(JAMBA_DOWNLOAD_URL STREQUAL "" OR JAMBA_DOWNLOAD_URL_HASH STREQUAL "") + message(STATUS "Fetching jamba from ${JAMBA_GIT_REPO}/tree/${JAMBA_GIT_TAG}") + FetchContent_Declare(jamba + GIT_REPOSITORY ${JAMBA_GIT_REPO} + GIT_TAG ${JAMBA_GIT_TAG} + GIT_CONFIG advice.detachedHead=false + GIT_SHALLOW true + SOURCE_DIR "${CMAKE_BINARY_DIR}/jamba" + SOURCE_SUBDIR "do_not_make_available" ) - -FetchContent_GetProperties(jamba) - -if(NOT jamba_POPULATED) - - if(FETCHCONTENT_SOURCE_DIR_JAMBA) - message(STATUS "Using jamba from local ${FETCHCONTENT_SOURCE_DIR_JAMBA}") else() - message(STATUS "Fetching jamba ${JAMBA_GIT_REPO}@${JAMBA_GIT_TAG}") + message(STATUS "Fetching jamba from ${JAMBA_DOWNLOAD_URL}") + FetchContent_Declare(jamba + URL "${JAMBA_DOWNLOAD_URL}" + URL_HASH "${JAMBA_DOWNLOAD_URL_HASH}" + DOWNLOAD_EXTRACT_TIMESTAMP true + SOURCE_DIR "${CMAKE_BINARY_DIR}/jamba" + SOURCE_SUBDIR "do_not_make_available" + ) endif() - - FetchContent_Populate(jamba) - endif() +FetchContent_MakeAvailable(jamba) + set(JAMBA_ROOT_DIR ${jamba_SOURCE_DIR}) diff --git a/mac/Info.plist b/mac/Info.plist index 2e21eda..92bad9e 100644 --- a/mac/Info.plist +++ b/mac/Info.plist @@ -1,28 +1,28 @@ - + NSHumanReadableCopyright - 2018 pongasoft + 2018-2024 pongasoft CFBundleDevelopmentRegion - English - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - org.pongasoft.vst.ABSwitch - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - BNDL + English + CFBundleExecutable + @MACOSX_BUNDLE_EXECUTABLE_NAME@ + CFBundleIconFile + + CFBundleIdentifier + org.pongasoft.vst.ABSwitch + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL CFBundleSignature ???? CFBundleVersion - 1.0 + 1.0 CFBundleShortVersionString 1.0 CSResourcesFileMapped - - + + diff --git a/src/cpp/ABSwitchVST2.cpp b/src/cpp/ABSwitchVST2.cpp deleted file mode 100644 index 03fa3b2..0000000 --- a/src/cpp/ABSwitchVST2.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "public.sdk/source/vst/vst2wrapper/vst2wrapper.h" -#include "ABSwitchCIDs.h" - -//------------------------------------------------------------------------ -::AudioEffect *createEffectInstance(audioMasterCallback audioMaster) -{ - return Steinberg::Vst::Vst2Wrapper::create(GetPluginFactory(), - pongasoft::VST::ABSwitchProcessorUID, - 'jobi', - audioMaster); -} diff --git a/src/cpp/ABSwitchVST3.cpp b/src/cpp/ABSwitchVST3.cpp index 18cc2fc..26a7bbb 100644 --- a/src/cpp/ABSwitchVST3.cpp +++ b/src/cpp/ABSwitchVST3.cpp @@ -16,20 +16,6 @@ using namespace pongasoft::VST; // Module init/exit //------------------------------------------------------------------------ -//------------------------------------------------------------------------ -// called after library was loaded -bool InitModule() -{ - return true; -} - -//------------------------------------------------------------------------ -// called after library is unloaded -bool DeinitModule() -{ - return true; -} - //------------------------------------------------------------------------ // VST3 Plugin Main entry point //------------------------------------------------------------------------