Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
paulfd committed Jul 23, 2020
2 parents a1fdfa2 + 2cb4562 commit 65580be
Show file tree
Hide file tree
Showing 308 changed files with 27,324 additions and 8,348 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ compile_commands.json
clients/sfizz_jack
clients/sfzprint

/vst/download/

# gh-pages unstaged files:
_api/
_site/
Expand All @@ -32,3 +34,5 @@ node_modules/
*.lock
*.sublime-*
*.code-*
.kak.tags.namecache
.clangd
7 changes: 4 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
[submodule "external/abseil-cpp"]
path = external/abseil-cpp
url = https://github.com/abseil/abseil-cpp
branch = lts_2020_02_25
branch = lts_2020_02_25
shallow = true
[submodule "vst/external/VST_SDK/VST3_SDK/base"]
path = vst/external/VST_SDK/VST3_SDK/base
url = https://github.com/steinbergmedia/vst3_base.git
shallow = true
[submodule "vst/external/VST_SDK/VST3_SDK/pluginterfaces"]
path = vst/external/VST_SDK/VST3_SDK/pluginterfaces
url = https://github.com/steinbergmedia/vst3_pluginterfaces.git
url = https://github.com/sfztools/vst3_pluginterfaces.git
shallow = true
[submodule "vst/external/VST_SDK/VST3_SDK/public.sdk"]
path = vst/external/VST_SDK/VST3_SDK/public.sdk
url = https://github.com/steinbergmedia/vst3_public_sdk.git
url = https://github.com/sfztools/vst3_public_sdk.git
shallow = true
[submodule "vst/external/VST_SDK/VST3_SDK/vstgui4"]
path = vst/external/VST_SDK/VST3_SDK/vstgui4
Expand Down
25 changes: 9 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ language: cpp
os: linux
dist: bionic

cache:
directories:
- vst/download/

jobs:
include:
- name: "clang-tidy checks"
Expand All @@ -27,7 +31,7 @@ jobs:
script: .travis/script_test.sh

- name: "Linux arm64 tests"
arch: amd64
arch: arm64
addons:
apt:
packages:
Expand Down Expand Up @@ -129,7 +133,7 @@ jobs:
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}"
install: .travis/install_osx.sh
script: .travis/script_osx.sh
after_success: .travis/prepare_tarball.sh
after_success: .travis/prepare_osx.sh

- name: "MOD devices arm"
stage: "Build"
Expand Down Expand Up @@ -174,23 +178,12 @@ after_failure:
- bash ${TRAVIS_BUILD_DIR}/.travis/discord_webhook.sh failure

deploy:
provider: releases
skip_cleanup: true
file: "${INSTALL_DIR}.tar.gz"
edge: true
provider: releases
file: "${INSTALL_DIR}.tar.gz"
token:
secure: jBIMWMPva8OazC8Wnqc2vqATa3exjvGDGvejEu6fgwt/BMDkgJCsJ7gS3ITpYFuO0HoHtLGfTVrFcZIE+agGVRdRGRni5xZRp5Vuf9hvLf8hCTaxkS/HYoliYYPp9FLY6J4yq9mp/R/QyGrwgssQEjhYlI2GL4+lJzt750AcmYibnQo2AMe5SSOp3q8KdLBG1vca1o1BZWBhW/S7l2hA1aJ7y1ytwm0ETIdrTZHxgfz7bqdqQcw/Ytqjm1rgzty6iQKX3B/InaZNB6CqXy6FoGLf771lery8nWJbjTjKYD4QK2NelExldyp1vrdHGvknWguFk+8vlQ16Dt0+R7Byr/LOPRLTCf/T+IehMQGtVA9/gjrkH8LqHy9oVFB+33p11gGu3h6hvg7yB6z3sSck0u4FHjrlpNd5XmmCsKQVQ9vI1cPPkVkbMHIewc7uOu+bD6cmotFj1vJ9UYesvN6n4siyCiPOIhgV9++bjcyiLqX3DWP5UWyZ9/VT8bz5VcxUdJnEYtdNPx4x5pRW4081VUjIf2EmHhQTrjb1iz6FAGwNU/fpefA8x+bBxXP9MkFFgU0tbCDKw2y6o0GOXX82mZr/IB0/DIBg7UllTzCBKTuiJQV1prFPlZLc6V22H5ozAXHgu3E+qNjvHoMsoYjGssX3+AYHwu8isBINo/gGo6Y=
on:
repo: "sfztools/sfizz"
tags: true
condition: ${TRAVIS_TAG} =~ ^v?[0-9]

notifications:
irc:
channels:
- "ircs://chat.freenode.net:7070/#sfztools"

template:
- "[%{repository_name}:%{branch}] Build #%{build_number}: %{message}"
- "%{author} : %{commit_subject}"
- "Commit URL : https://github.com/%{repository_slug}/commit/%{commit}"
- "Build Details : %{build_url}"
2 changes: 1 addition & 1 deletion .travis/install_mingw.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
set -ex
. .travis/docker_container.sh

buildenv_as_root pacman -Sqy --noconfirm
buildenv_as_root pacman -Sqyu --noconfirm
buildenv_as_root pacman -Sq --noconfirm base-devel wget mingw-w64-cmake mingw-w64-gcc mingw-w64-pkg-config mingw-w64-libsndfile
buildenv i686-w64-mingw32-gcc -v && buildenv i686-w64-mingw32-g++ -v && buildenv i686-w64-mingw32-cmake --version
2 changes: 2 additions & 0 deletions .travis/install_osx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ set -ex
sudo ln -s /usr/local /opt/local
brew update
brew upgrade cmake
brew install python || brew link --overwrite python
brew install jack
brew install dylibbundler
12 changes: 0 additions & 12 deletions .travis/patches/vstsdk-3.6.14-mingw-atomic-add.diff

This file was deleted.

39 changes: 39 additions & 0 deletions .travis/prepare_osx.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/bin/bash

set -ex

test -z "$CONTAINER"

if ! [ -z "$CONTAINER" ]; then
. .travis/docker_container.sh
else
. .travis/no_container.sh
fi

cd build
buildenv make DESTDIR=${PWD}/${INSTALL_DIR} install

# Bundle LV2 dependencies
cd "${INSTALL_DIR}"/Library/Audio/Plug-Ins/LV2
dylibbundler -od -b -x sfizz.lv2/sfizz.so -d sfizz.lv2/libs/ -p @loader_path/libs/
cd "${TRAVIS_BUILD_DIR}/build"

# Bundle VST3 dependencies
cd "${INSTALL_DIR}"/Library/Audio/Plug-Ins/VST3
dylibbundler -od -b -x sfizz.vst3/Contents/MacOS/sfizz -d sfizz.vst3/Contents/libs/ -p @loader_path/../libs/
cd "${TRAVIS_BUILD_DIR}/build"

# Bundle AU dependencies
cd "${INSTALL_DIR}"/Library/Audio/Plug-Ins/Components
dylibbundler -od -b -x sfizz.component/Contents/Resources/plugin.vst3/Contents/MacOS/sfizz -d sfizz.component/Contents/Resources/plugin.vst3/Contents/libs/ -p @loader_path/../libs/
cd "${TRAVIS_BUILD_DIR}/build"

#
tar -zcvf "${INSTALL_DIR}.tar.gz" ${INSTALL_DIR}

# Only release a tarball if there is a tag
if [[ ${TRAVIS_TAG} != "" ]]; then
mv "${INSTALL_DIR}.tar.gz" ${TRAVIS_BUILD_DIR}
fi

cd "${TRAVIS_BUILD_DIR}"
12 changes: 6 additions & 6 deletions .travis/prepare_tarball.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ else
. .travis/no_container.sh
fi

# Do not prepare a tarball without a tag
if [[ ${TRAVIS_TAG} == "" ]]; then
exit 0
fi

cd build
buildenv make DESTDIR=${PWD}/${INSTALL_DIR} install
tar -zcvf "${INSTALL_DIR}.tar.gz" ${INSTALL_DIR}
mv "${INSTALL_DIR}.tar.gz" ${TRAVIS_BUILD_DIR}

# Only release a tarball if there is a tag
if [[ ${TRAVIS_TAG} != "" ]]; then
mv "${INSTALL_DIR}.tar.gz" ${TRAVIS_BUILD_DIR}
fi

cd ..
2 changes: 0 additions & 2 deletions .travis/script_mingw.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ if [[ ${CROSS_COMPILE} == "mingw32" ]]; then
-DSFIZZ_STATIC_LIBSNDFILE=ON \
-DCMAKE_CXX_STANDARD=17 \
..
buildenv patch -p1 -i "$(pwd)"/../.travis/patches/vstsdk-3.6.14-mingw-atomic-add.diff -d ../vst/external/VST_SDK
buildenv make -j$(nproc)
elif [[ ${CROSS_COMPILE} == "mingw64" ]]; then
buildenv x86_64-w64-mingw32-cmake -DCMAKE_BUILD_TYPE=Release \
Expand All @@ -22,6 +21,5 @@ elif [[ ${CROSS_COMPILE} == "mingw64" ]]; then
-DSFIZZ_STATIC_LIBSNDFILE=ON \
-DCMAKE_CXX_STANDARD=17 \
..
buildenv patch -p1 -i "$(pwd)"/../.travis/patches/vstsdk-3.6.14-mingw-atomic-add.diff -d ../vst/external/VST_SDK
buildenv make -j$(nproc)
fi
6 changes: 5 additions & 1 deletion .travis/script_osx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,12 @@ set -ex
mkdir -p build/${INSTALL_DIR} && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DSFIZZ_VST=ON \
-DSFIZZ_AU=ON \
-DSFIZZ_TESTS=OFF \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_CXX_STANDARD=14 \
-DLV2PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins/LV2 \
-DVSTPLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins/VST3 \
-DAUPLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins/Components \
..
make -j$(sysctl -n hw.ncpu)
# Xcode not currently supported, see https://gitlab.kitware.com/cmake/cmake/issues/18088
Expand Down
4 changes: 3 additions & 1 deletion .travis/update_dox.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ set -x # No fail, we need to go back to the original branch at the end

mkdir build && cd build && cmake -DSFIZZ_JACK=OFF -DSFIZZ_SHARED=OFF -DSFIZZ_LV2=OFF .. && cd ..
doxygen Doxyfile
./doxygen/scripts/generate_api_index.sh
git fetch --depth=1 https://github.com/${TRAVIS_REPO_SLUG}.git refs/heads/gh-pages:refs/remotes/origin/gh-pages
git checkout origin/gh-pages
git checkout -b gh-pages
mv _api api/${TRAVIS_TAG}
git add api/${TRAVIS_TAG} && git commit -m "Release ${TRAVIS_TAG} (Travis build: ${TRAVIS_BUILD_NUMBER})"
mv api_index.md api/index.md
git add api && git commit -m "Release ${TRAVIS_TAG} (Travis build: ${TRAVIS_BUILD_NUMBER})"
git remote add origin-pages https://${GITHUB_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git > /dev/null 2>&1
git push --quiet --set-upstream origin-pages gh-pages
git checkout ${TRAVIS_BRANCH}
1 change: 1 addition & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ Contributors to `sfizz`, in chronologic order:
- Alexander Mitchell (2020)
- Michael Willis (2020)
- Jean-Pierre Cimalando (2020)
- Tobiasz "unfa" Karoń (2020)
14 changes: 10 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@ else()
endif()
endif()

project (sfizz VERSION 0.3.2 LANGUAGES CXX C)
project (sfizz VERSION 0.4.0 LANGUAGES CXX C)
set (PROJECT_DESCRIPTION "A library to load SFZ description files and use them to render music.")

# External configuration CMake scripts
set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include (BuildType)
include (SfizzConfig)

# Build Options
Expand All @@ -26,14 +27,17 @@ endif()

option (ENABLE_LTO "Enable Link Time Optimization [default: ON]" ON)
option (SFIZZ_JACK "Enable JACK stand-alone build [default: ON]" ON)
option (SFIZZ_RENDER "Enable renderer of SMF files [default: ON]" ON)
option (SFIZZ_LV2 "Enable LV2 plug-in build [default: ON]" ON)
option (SFIZZ_VST "Enable VST plug-in build [default: OFF]" OFF)
option (SFIZZ_AU "Enable AU plug-in build [default: OFF]" OFF)
option (SFIZZ_BENCHMARKS "Enable benchmarks build [default: OFF]" OFF)
option (SFIZZ_TESTS "Enable tests build [default: OFF]" OFF)
option (SFIZZ_DEVTOOLS "Enable developer tools build [default: OFF]" OFF)
option (SFIZZ_SHARED "Enable shared library build [default: ON]" ON)
option (SFIZZ_USE_VCPKG "Assume that sfizz is build using vcpkg [default: OFF]" OFF)
option (SFIZZ_STATIC_LIBSNDFILE "Link libsndfile statically [default: OFF]" OFF)
option (SFIZZ_RELEASE_ASSERTS "Forced assertions in release builds [default: OFF]" OFF)

# Don't use IPO in non Release builds
include (CheckIPO)
Expand All @@ -45,16 +49,18 @@ add_subdirectory (external/abseil-cpp EXCLUDE_FROM_ALL)
add_subdirectory (src)

# Optional targets
if (SFIZZ_JACK)
add_subdirectory (clients)
endif()
add_subdirectory (clients)

if (SFIZZ_LV2)
add_subdirectory (lv2)
endif()

if (SFIZZ_VST)
add_subdirectory (vst)
else()
if (SFIZZ_AU)
message(WARNING "Audio Unit requires VST to be enabled")
endif()
endif()

if (SFIZZ_BENCHMARKS)
Expand Down
Loading

0 comments on commit 65580be

Please sign in to comment.