Skip to content

Commit

Permalink
Merge branch 'develop' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
jpcima committed Oct 15, 2020
2 parents 65580be + aa7c174 commit a6bb8d6
Show file tree
Hide file tree
Showing 293 changed files with 25,879 additions and 5,724 deletions.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.* export-ignore
.*/** export-ignore
appveyor.yml export-ignore
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ clients/sfzprint

/vst/download/

/editor/external/fluentui-system-icons/

# gh-pages unstaged files:
_api/
_site/
Expand Down
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[submodule "external/abseil-cpp"]
path = external/abseil-cpp
url = https://github.com/abseil/abseil-cpp
url = https://github.com/abseil/abseil-cpp.git
branch = lts_2020_02_25
shallow = true
[submodule "vst/external/VST_SDK/VST3_SDK/base"]
Expand All @@ -16,6 +16,6 @@
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
path = editor/external/vstgui4
url = https://github.com/sfztools/vstgui.git
shallow = true
61 changes: 29 additions & 32 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,33 @@ jobs:
install: .travis/download_cmake.sh
script: .travis/script_test.sh

- name: "Windows mingw32"
- name: "macOS"
stage: "Build"
os: osx
osx_image: xcode11.3
addons:
homebrew:
packages:
- cmake
- libsndfile
- jack
- dylibbundler
env:
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}"
script: .travis/script_osx.sh
after_success: .travis/prepare_osx.sh

- name: "MOD devices arm"
env:
- CONTAINER=jpcima/mod-plugin-builder
- CROSS_COMPILE=moddevices-arm
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-moddevices"
before_install: .travis/before_install_moddevices.sh
install: .travis/install_moddevices.sh
script: .travis/script_moddevices.sh
after_success: .travis/prepare_tarball.sh

- name: "Windows mingw32"
env:
- CROSS_COMPILE=mingw32
- CONTAINER=archlinux
Expand Down Expand Up @@ -92,6 +117,7 @@ jobs:
env:
- INSTALL_DIR="sfizz-plugins-${TRAVIS_BRANCH}-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}"
- ENABLE_VST_PLUGIN=OFF
- ENABLE_LV2_UI=OFF
addons:
apt:
packages:
Expand All @@ -107,6 +133,7 @@ jobs:
env:
- INSTALL_DIR="sfizz-plugins-${TRAVIS_BRANCH}-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}"
- ENABLE_VST_PLUGIN=ON
- ENABLE_LV2_UI=ON
addons:
apt:
packages:
Expand All @@ -127,28 +154,9 @@ jobs:
script: .travis/script_plugins.sh
after_success: .travis/prepare_tarball.sh

- name: "macOS"
os: osx
env:
- 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_osx.sh

- name: "MOD devices arm"
stage: "Build"
env:
- CONTAINER=jpcima/mod-plugin-builder
- CROSS_COMPILE=moddevices-arm
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-moddevices"
before_install: .travis/before_install_moddevices.sh
install: .travis/install_moddevices.sh
script: .travis/script_moddevices.sh
after_success: .travis/prepare_tarball.sh

- stage: "Deploy"
name: "Source packaging"
if: (tag IS present) AND (branch = master) AND (type = push)
if: (tag =~ /^v?[0-9]/) AND (type = push)
env:
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-src"
addons:
Expand All @@ -158,17 +166,6 @@ jobs:
install: sudo pip install git-archive-all
script: git-archive-all --prefix="sfizz-${TRAVIS_BRANCH}/" -9 "${INSTALL_DIR}.tar.gz"

- name: "Generate documentation"
if: (tag IS present) AND (branch = master) AND (type = push)
addons:
apt:
packages:
- doxygen
- cmake
- libsndfile-dev
install: skip
script: .travis/update_dox.sh

- name: "Discord Webhook"
install: skip
script: bash ${TRAVIS_BUILD_DIR}/.travis/discord_webhook.sh success
Expand Down
10 changes: 0 additions & 10 deletions .travis/install_osx.sh

This file was deleted.

3 changes: 2 additions & 1 deletion .travis/prepare_osx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ 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/
dylibbundler -od -b -x sfizz.lv2/Contents/Binary/sfizz.so -d sfizz.lv2/Contents/libs/ -p @loader_path/../libs/
dylibbundler -od -b -x sfizz.lv2/Contents/Binary/sfizz_ui.so -d sfizz.lv2/Contents/libs/ -p @loader_path/../libs/
cd "${TRAVIS_BUILD_DIR}/build"

# Bundle VST3 dependencies
Expand Down
2 changes: 1 addition & 1 deletion .travis/script_library.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ cmake -DCMAKE_BUILD_TYPE=Release \
-DSFIZZ_TESTS=OFF \
-DCMAKE_CXX_STANDARD=17 \
..
make -j$(nproc)
make -j2
8 changes: 4 additions & 4 deletions .travis/script_mingw.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@ if [[ ${CROSS_COMPILE} == "mingw32" ]]; then
-DENABLE_LTO=OFF \
-DSFIZZ_JACK=OFF \
-DSFIZZ_VST=ON \
-DSFIZZ_STATIC_LIBSNDFILE=ON \
-DSFIZZ_STATIC_DEPENDENCIES=ON \
-DCMAKE_CXX_STANDARD=17 \
..
buildenv make -j$(nproc)
buildenv make -j2
elif [[ ${CROSS_COMPILE} == "mingw64" ]]; then
buildenv x86_64-w64-mingw32-cmake -DCMAKE_BUILD_TYPE=Release \
-DENABLE_LTO=OFF \
-DSFIZZ_JACK=OFF \
-DSFIZZ_VST=ON \
-DSFIZZ_STATIC_LIBSNDFILE=ON \
-DSFIZZ_STATIC_DEPENDENCIES=ON \
-DCMAKE_CXX_STANDARD=17 \
..
buildenv make -j$(nproc)
buildenv make -j2
fi
4 changes: 2 additions & 2 deletions .travis/script_moddevices.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ mkdir -p build/${INSTALL_DIR} && cd build

buildenv mod-plugin-builder /usr/local/bin/cmake \
-DSFIZZ_SYSTEM_PROCESSOR=armv7-a \
-DCMAKE_BUILD_TYPE=Release -DSFIZZ_JACK=OFF ..
buildenv mod-plugin-builder make -j
-DCMAKE_BUILD_TYPE=Release -DSFIZZ_JACK=OFF -DSFIZZ_LV2_UI=OFF ..
buildenv mod-plugin-builder make -j2
5 changes: 3 additions & 2 deletions .travis/script_plugins.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ mkdir -p build/${INSTALL_DIR} && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DSFIZZ_JACK=OFF \
-DSFIZZ_VST="$ENABLE_VST_PLUGIN" \
-DSFIZZ_LV2_UI="$ENABLE_LV2_UI" \
-DSFIZZ_TESTS=OFF \
-DSFIZZ_SHARED=OFF \
-DSFIZZ_STATIC_LIBSNDFILE=ON \
-DSFIZZ_STATIC_DEPENDENCIES=ON \
-DCMAKE_CXX_STANDARD=17 \
..
make -j$(nproc)
make -j2
4 changes: 2 additions & 2 deletions .travis/script_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ cmake -DCMAKE_BUILD_TYPE=Release \
-DSFIZZ_JACK=OFF \
-DSFIZZ_TESTS=ON \
-DSFIZZ_SHARED=OFF \
-DSFIZZ_STATIC_LIBSNDFILE=OFF \
-DSFIZZ_STATIC_DEPENDENCIES=OFF \
-DSFIZZ_LV2=OFF \
-DCMAKE_CXX_STANDARD=17 \
..
make -j$(nproc) sfizz_tests
make -j2 sfizz_tests
tests/sfizz_tests
17 changes: 0 additions & 17 deletions .travis/update_dox.sh

This file was deleted.

2 changes: 2 additions & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Contributors to `sfizz`, in chronologic order:
- Michael Willis (2020)
- Jean-Pierre Cimalando (2020)
- Tobiasz "unfa" Karoń (2020)
- Kinwie (2020)
- Atsushi Eno (2020)
18 changes: 9 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,37 +8,33 @@ else()
endif()
endif()

project (sfizz VERSION 0.4.0 LANGUAGES CXX C)
project (sfizz VERSION 0.5.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
set (BUILD_TESTING OFF CACHE BOOL "Disable Abseil's tests [default: OFF]")

# On macOS add the needed directories for both library and jack client
if (APPLE)
include_directories (SYSTEM /usr/local/opt/libsndfile/include)
link_directories (/usr/local/opt/libsndfile/lib)
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_LV2_UI "Enable LV2 plug-in user interface [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_STATIC_DEPENDENCIES "Link dependencies statically [default: OFF]" OFF)
option (SFIZZ_RELEASE_ASSERTS "Forced assertions in release builds [default: OFF]" OFF)

include (SfizzConfig)

# Don't use IPO in non Release builds
include (CheckIPO)

Expand All @@ -51,6 +47,10 @@ add_subdirectory (src)
# Optional targets
add_subdirectory (clients)

if ((SFIZZ_LV2 AND SFIZZ_LV2_UI) OR SFIZZ_VST)
add_subdirectory (editor)
endif()

if (SFIZZ_LV2)
add_subdirectory (lv2)
endif()
Expand Down
6 changes: 6 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,10 @@ It is the role of maintainers to best adapt the governance model to the evolutio
3. Maintainers can be invited from regular contributors at any point in time; maintainers wishing to leave the governance of the project may inform the other maintainers.
In both cases, updates to this document reflect the evolution of the governance team and rules.

## License for the GOVERNANCE.md file

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided that this notice
is preserved. This file is offered as-is, without any warranty.

[Open-source Open Collective]: https://opencollective.com/sfztools
7 changes: 1 addition & 6 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,7 @@ BSD 2-Clause License
The code is copyrighted by their respective authors, as indicated by the
source control mechanism.

Contributors include:
- Paul Ferrand (2019-) paul at ferrand dot cc
- Andrea Zanellato (2019-)
- Jean-Pierre Cimalando (2020-)
- Michael Willis (2020-)
- Alexander Mitchell (2020-)
Please refer to AUTHORS.md for the list of contributors.

All rights reserved.

Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
[![Travis Build Status]](https://travis-ci.com/sfztools/sfizz)
[![AppVeyor Build Status]](https://ci.appveyor.com/project/sfztools/sfizz)

SFZ library and LV2 plugin, please check [our website] for more details.
[![Discord Badge Image]](https://discord.gg/3ArE9Mw)

SFZ parser and synth c++ library, providing AU / LV2 / VST3 plugins
and JACK standalone client, please check [our website] for more details.

![Screenshot](screenshot.png)

Expand Down Expand Up @@ -64,3 +67,4 @@ The sfizz library also uses in some subprojects:
[build from source]: https://sfz.tools/sfizz/development/build/
[AppVeyor Build Status]: https://img.shields.io/appveyor/ci/sfztools/sfizz.svg?label=Windows&style=popout&logo=appveyor
[Travis Build Status]: https://img.shields.io/travis/com/sfztools/sfizz.svg?label=Linux&style=popout&logo=travis
[Discord Badge Image]: https://img.shields.io/discord/587748534321807416?label=discord&logo=discord
10 changes: 6 additions & 4 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
version: build-{build}
image: Visual Studio 2017
image: Visual Studio 2019
configuration: Release
platform:
- Win32
Expand All @@ -12,20 +12,22 @@ install:
- cmd: set PATH=C:\Program Files (x86)\Inno Setup 6;%PATH%
- cmd: if %platform%==Win32 set VCPKG_TRIPLET=x86-windows-static
- cmd: if %platform%==x64 set VCPKG_TRIPLET=x64-windows-static
# - cmd: cd c:\tools\vcpkg\
# - cmd: git pull
# - cmd: .\bootstrap-vcpkg.bat
# - cmd: cd %APPVEYOR_BUILD_FOLDER%
- cmd: vcpkg install libsndfile:%VCPKG_TRIPLET%

before_build:
- cmd: git submodule update --init
- cmd: mkdir CMakeBuild
- cmd: cd CMakeBuild
- cmd: cmake .. -G"Visual Studio 15 2017" -A"%platform%" -DSFIZZ_JACK=OFF -DSFIZZ_BENCHMARKS=OFF -DSFIZZ_TESTS=OFF -DSFIZZ_LV2=ON -DSFIZZ_VST=ON -DCMAKE_BUILD_TYPE=Release -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake
- cmd: cmake .. -G"Visual Studio 16 2019" -A"%platform%" -DSFIZZ_JACK=OFF -DSFIZZ_BENCHMARKS=OFF -DSFIZZ_TESTS=OFF -DSFIZZ_LV2=ON -DSFIZZ_VST=ON -DCMAKE_BUILD_TYPE=Release -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake

build_script:
- cmd: cmake --build . --config Release -j

after_build:
- cmd: cp sfizz.lv2/Release/sfizz.dll sfizz.lv2/
- cmd: rm -rf sfizz.lv2/Release
- cmd: if %platform%==Win32 set RELEASE_ARCH=x86
- cmd: if %platform%==x64 set RELEASE_ARCH=x64
- cmd: 7z a sfizz-lv2-%APPVEYOR_REPO_TAG_NAME%-%RELEASE_ARCH%-msvc.zip sfizz.lv2
Expand Down
Loading

0 comments on commit a6bb8d6

Please sign in to comment.