Skip to content

Commit

Permalink
Upgraded to latest VST3 SDK
Browse files Browse the repository at this point in the history
- could not rebuild on the currently used version of macOS => using latest Jamba/VST3 SDK (3.7.12)
- this unfortunately triggers removing support for VST2
  • Loading branch information
ypujante committed Nov 25, 2024
1 parent 913b5f8 commit e520078
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 118 deletions.
7 changes: 2 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
cmake_minimum_required(VERSION 3.19)

# build VST 2?
option(JAMBA_ENABLE_VST2 "Use VST2" ON)

# build Audio Unit?
option(JAMBA_ENABLE_AUDIO_UNIT "Enable Audio Unit" ON)

Expand All @@ -20,8 +17,8 @@ include(fetch_jamba.cmake)
include("${JAMBA_ROOT_DIR}/cmake/JambaSetArchitecture.cmake")

set(PLUGIN_MAJOR_VERSION 1)
set(PLUGIN_MINOR_VERSION 5)
set(PLUGIN_PATCH_VERSION 1)
set(PLUGIN_MINOR_VERSION 6)
set(PLUGIN_PATCH_VERSION 0)
set(PLUGIN_VERSION "${PLUGIN_MAJOR_VERSION}.${PLUGIN_MINOR_VERSION}.${PLUGIN_PATCH_VERSION}")

project("vst-sam-spl-64" VERSION "${PLUGIN_VERSION}")
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@ Check the [SAM-SPL 64](https://pongasoft.com/vst/SAM-SPL64.html) documentation f

Release Notes
-------------
### 2024-11-23 - `v1.5.1`
### 2024-11-25 - `v1.6.0`
* Fixed a crash when exporting the sample
* Migrated to Jamba 7.1.1 / VST SDK 3.7.12
* Removed support for VST2

### 2023-04-27 - `v1.5.0`
* Added support for MP3, Flag, Ogg Vorbis (in addition to WAV and AIFF)
Expand Down
65 changes: 33 additions & 32 deletions fetch_jamba.cmake
Original file line number Diff line number Diff line change
@@ -1,42 +1,43 @@
cmake_minimum_required(VERSION 3.12)
cmake_minimum_required(VERSION 3.19)

include(FetchContent)

if(JAMBA_ROOT_DIR)
# instructs FetchContent to not download or update but use the location instead
set(FETCHCONTENT_SOURCE_DIR_JAMBA ${JAMBA_ROOT_DIR})
else()
set(FETCHCONTENT_SOURCE_DIR_JAMBA "")
endif()
set(JAMBA_GIT_REPO "https://github.com/pongasoft/jamba" CACHE STRING "Jamba git repository url")
set(JAMBA_GIT_TAG v7.1.1 CACHE STRING "Jamba git tag")
set(JAMBA_DOWNLOAD_URL "${JAMBA_GIT_REPO}/archive/refs/tags/v7.1.1.zip" CACHE STRING "Jamba download url")
set(JAMBA_DOWNLOAD_URL_HASH "SHA256=16cadf1040e84007db6469a062675d0ba66e5e46d0b11cad46859b10109fc96a" CACHE STRING "Jamba download url hash")

set(JAMBA_GIT_REPO "https://github.com/pongasoft/jamba" CACHE STRING "Jamba git repository url" FORCE)
set(JAMBA_GIT_TAG v6.2.1 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"
if(JAMBA_ROOT_DIR)
message(STATUS "Using jamba from local ${JAMBA_ROOT_DIR}")
FetchContent_Populate(jamba
QUIET
SOURCE_DIR "${JAMBA_ROOT_DIR}"
BINARY_DIR "${CMAKE_BINARY_DIR}/jamba-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)

FetchContent_GetProperties(jamba)

if(NOT jamba_POPULATED)

if(FETCHCONTENT_SOURCE_DIR_JAMBA)
message(STATUS "Using jamba from local ${FETCHCONTENT_SOURCE_DIR_JAMBA}")
)
else()
if(JAMBA_DOWNLOAD_URL STREQUAL "" OR JAMBA_DOWNLOAD_URL_HASH STREQUAL "")
message(STATUS "Fetching jamba from ${JAMBA_GIT_REPO}/tree/${JAMBA_GIT_TAG}")
FetchContent_Populate(jamba
QUIET
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"
)
else()
message(STATUS "Fetching jamba ${JAMBA_GIT_REPO}/tree/${JAMBA_GIT_TAG}")
message(STATUS "Fetching jamba from ${JAMBA_DOWNLOAD_URL}")
FetchContent_Populate(jamba
QUIET
URL "${JAMBA_DOWNLOAD_URL}"
URL_HASH "${JAMBA_DOWNLOAD_URL_HASH}"
DOWNLOAD_EXTRACT_TIMESTAMP true
SOURCE_DIR "${CMAKE_BINARY_DIR}/jamba"
BINARY_DIR "${CMAKE_BINARY_DIR}/jamba-build"
)
endif()

FetchContent_Populate(jamba)

endif()

set(JAMBA_ROOT_DIR ${jamba_SOURCE_DIR})

40 changes: 13 additions & 27 deletions libsndfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,27 @@ cmake_minimum_required(VERSION 3.12)

include(FetchContent)

if(LIBSNDFILE_ROOT_DIR)
# instructs FetchContent to not download or update but use the location instead
set(FETCHCONTENT_SOURCE_DIR_LIBSNDFILE ${LIBSNDFILE_ROOT_DIR})
else()
set(FETCHCONTENT_SOURCE_DIR_LIBSNDFILE "")
endif()

set(LIBSNDFILE_GIT_REPO "https://github.com/erikd/libsndfile" CACHE STRING "libsndfile git repository url" FORCE)
set(LIBSNDFILE_GIT_TAG c11deaa04ec84161996824061f6d705970972e2e CACHE STRING "libsndfile git tag" FORCE)

FetchContent_Declare(libsndfile
if(LIBSNDFILE_ROOT_DIR)
message(STATUS "Using libsndfile from local ${LIBSNDFILE_ROOT_DIR}")
FetchContent_Populate(libsndfile
QUIET
SOURCE_DIR "${LIBSNDFILE_ROOT_DIR}"
BINARY_DIR "${CMAKE_BINARY_DIR}/libsndfile-build"
)
else()
message(STATUS "Fetching libsndfile from ${LIBSNDFILE_GIT_REPO}/tree/${LIBSNDFILE_GIT_TAG}")
FetchContent_Populate(libsndfile
QUIET
GIT_REPOSITORY ${LIBSNDFILE_GIT_REPO}
GIT_TAG ${LIBSNDFILE_GIT_TAG}
GIT_CONFIG advice.detachedHead=false
# GIT_SHALLOW true
# GIT_SHALLOW true
SOURCE_DIR "${CMAKE_BINARY_DIR}/libsndfile"
BINARY_DIR "${CMAKE_BINARY_DIR}/libsndfile-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)

FetchContent_GetProperties(libsndfile)

if(NOT libsndfile_POPULATED)

if(FETCHCONTENT_SOURCE_DIR_LIBSNDFILE)
message(STATUS "Using libsndfile from local ${FETCHCONTENT_SOURCE_DIR_LIBSNDFILE}")
else()
message(STATUS "Fetching libsndfile ${LIBSNDFILE_GIT_REPO}/tree/${LIBSNDFILE_GIT_TAG}")
endif()

FetchContent_Populate(libsndfile)

)
endif()

set(LIBSNDFILE_ROOT_DIR ${libsndfile_SOURCE_DIR})
Expand Down
50 changes: 18 additions & 32 deletions r8brain-free-src.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,29 @@ cmake_minimum_required(VERSION 3.12)

include(FetchContent)

if(R8BRAIN-FREE-SRC_ROOT_DIR)
# instructs FetchContent to not download or update but use the location instead
set(FETCHCONTENT_SOURCE_DIR_R8BRAIN-FREE-SRC ${R8BRAIN-FREE-SRC_ROOT_DIR})
else()
set(FETCHCONTENT_SOURCE_DIR_R8BRAIN-FREE-SRC "")
endif()

set(R8BRAIN-FREE-SRC_GIT_REPO "https://github.com/avaneev/r8brain-free-src" CACHE STRING "r8brain-free-src git repository url" FORCE)
set(R8BRAIN-FREE-SRC_GIT_TAG 6453d7756c1449afda66cc98a9b406006900fc13 CACHE STRING "r8brain-free-src git tag" FORCE)

FetchContent_Declare(r8brain-free-src
GIT_REPOSITORY ${R8BRAIN-FREE-SRC_GIT_REPO}
GIT_TAG ${R8BRAIN-FREE-SRC_GIT_TAG}
GIT_CONFIG advice.detachedHead=false
GIT_SHALLOW false
SOURCE_DIR "${CMAKE_BINARY_DIR}/r8brain-free-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/r8brain-free-src-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)

FetchContent_GetProperties(r8brain-free-src)

if(NOT r8brain-free-src_POPULATED)

if(FETCHCONTENT_SOURCE_DIR_R8BRAIN-FREE-SRC)
message(STATUS "Using r8brain-free-src from local ${FETCHCONTENT_SOURCE_DIR_R8BRAIN-FREE-SRC}")
else()
message(STATUS "Fetching r8brain-free-src ${R8BRAIN-FREE-SRC_GIT_REPO}/tree/${R8BRAIN-FREE-SRC_GIT_TAG}")
endif()

FetchContent_Populate(r8brain-free-src)

if(R8BRAIN-FREE-SRC_ROOT_DIR)
message(STATUS "Using r8brain-free-src from local ${R8BRAIN-FREE-SRC_ROOT_DIR}")
FetchContent_Populate(r8brain-free-src
QUIET
SOURCE_DIR "${R8BRAIN-FREE-SRC_ROOT_DIR}"
BINARY_DIR "${CMAKE_BINARY_DIR}/r8brain-free-src-build"
)
else()
message(STATUS "Fetching r8brain-free-src ${R8BRAIN-FREE-SRC_GIT_REPO}/tree/${R8BRAIN-FREE-SRC_GIT_TAG}")
FetchContent_Populate(r8brain-free-src
GIT_REPOSITORY ${R8BRAIN-FREE-SRC_GIT_REPO}
GIT_TAG ${R8BRAIN-FREE-SRC_GIT_TAG}
GIT_CONFIG advice.detachedHead=false
GIT_SHALLOW false
SOURCE_DIR "${CMAKE_BINARY_DIR}/r8brain-free-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/r8brain-free-src-build"
)
endif()


# No CMakeLists.txt included => creating one
file(WRITE "${r8brain-free-src_SOURCE_DIR}/CMakeLists.txt"
[=[
Expand Down
21 changes: 0 additions & 21 deletions src/cpp/SampleSplitter_VST2.cpp

This file was deleted.

0 comments on commit e520078

Please sign in to comment.