commit c63e8e53889be56e253dc0bfcd3a80a5ed06c8af
parent f0dc96d5100c0e9c7aac0bf1bf8fbd8c334d11c4
Author: scheffle <scheffle@users.noreply.github.com>
Date: Fri, 10 Nov 2017 10:11:08 +0100
vstsdk368_08_11_2017_build_121
Diffstat:
M | CMakeLists.txt | | | 132 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- |
M | README.md | | | 10 | +++++----- |
2 files changed, 73 insertions(+), 69 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -14,16 +14,27 @@ include(ExportedSymbols)
include(PrefixHeader)
include(PlatformIOS)
-# do not build VST2 by default
+# do not build VST 2 by default
option(SMTG_CREATE_VST2_VERSION "Use VST2" OFF)
+# use by default SMTG_ as prefix for ASSERT,...
+option(SMTG_RENAME_ASSERT "Rename ASSERT to SMTG_ASSERT" ON)
+
#-------------------------------------------------------------------------------
# SDK Project
#-------------------------------------------------------------------------------
set(VST_SDK TRUE)
project(vstsdk)
+if (SMTG_RENAME_ASSERT)
+ add_compile_options(-DSMTG_RENAME_ASSERT=1)
+endif()
+
+#------------
if (LINUX)
+ # Enable Sample audioHost (based on Jack Audio)
+ option(SMTG_ENABLE_USE_OF_JACK "Enable Use of Jack" ON)
+
option(SMTG_ADD_ADDRESS_SANITIZER_CONFIG "Add AddressSanitizer Config (Linux only)" OFF)
if(SMTG_ADD_ADDRESS_SANITIZER_CONFIG)
set(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES};ASan")
@@ -35,8 +46,13 @@ if (LINUX)
set(ASAN_LIBRARY asan)
link_libraries($<$<CONFIG:ASan>:${ASAN_LIBRARY}>)
endif()
+else()
+ # Disable Sample audioHost (based on Jack Audio)
+ # not yet tested on Windows and Mac
+ option(SMTG_ENABLE_USE_OF_JACK "Enable Use of Jack" OFF)
endif()
+#------------
if(UNIX)
if(XCODE)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++14")
@@ -51,20 +67,22 @@ if(UNIX)
link_libraries(stdc++fs pthread dl)
endif()
+#------------
elseif(WIN)
add_definitions(-D_UNICODE)
add_compile_options(/fp:fast)
add_compile_options($<$<CONFIG:Release>:/Oi>) # Enable Intrinsic Functions (Yes)
add_compile_options($<$<CONFIG:Release>:/Ot>) # Favor Size Or Speed (Favor fast code)
- #add_compile_options($<$<CONFIG:Release>:/Ox>) # Optimization (/O2: Maximise Speed /0x: Full Optimization)
add_compile_options($<$<CONFIG:Release>:/GF>) # Enable String Pooling
add_compile_options($<$<CONFIG:Release>:/EHa>) # Enable C++ Exceptions
add_compile_options($<$<CONFIG:Release>:/Oy>) # Omit Frame Pointers
+ #add_compile_options($<$<CONFIG:Release>:/Ox>) # Optimization (/O2: Maximise Speed /0x: Full Optimization)
endif()
+#------------
set(ROOT "${CMAKE_CURRENT_SOURCE_DIR}")
-# here you can define where the VST3 SDK is located
+# here you can define where the VST 3 SDK is located
set(SDK_ROOT "${ROOT}")
# here you can define where the VSTGUI is located
@@ -77,6 +95,8 @@ set(SDK_IDE_PLUGIN_EXAMPLES_FOLDER FOLDER "PlugInExamples")
set(SDK_IDE_HOSTING_EXAMPLES_FOLDER FOLDER "HostingExamples")
#-------------------------------------------------------------------------------
+# CORE AUDIO SDK Location
+#-------------------------------------------------------------------------------
if(MAC AND XCODE)
if(NOT SMTG_COREAUDIO_SDK_PATH)
# Check if the CoreAudio SDK is next to the VST3SDK:
@@ -97,6 +117,36 @@ if(MAC AND XCODE)
endif()
if(SMTG_COREAUDIO_SDK_PATH)
message(STATUS "SMTG_COREAUDIO_SDK_PATH is set to : " ${SMTG_COREAUDIO_SDK_PATH})
+ else()
+ message(STATUS "SMTG_COREAUDIO_SDK_PATH is not set. If you need it, please download the COREAUDIO SDK!")
+ endif()
+endif()
+
+#-------------------------------------------------------------------------------
+# AAX SDK Location
+#-------------------------------------------------------------------------------
+if(MAC OR WIN)
+ if(NOT SMTG_AAX_SDK_PATH)
+ # Check if the AAX SDK is next to the VST3SDK:
+ if(EXISTS "${SDK_ROOT}/../external.avid.aax/Interfaces/AAX.h")
+ set(SMTG_AAX_SDK_PATH "${SDK_ROOT}/../external.avid.aax")
+ else()
+ if(EXISTS "${SDK_ROOT}/external.avid.aax/Interfaces/AAX.h")
+ set(SMTG_AAX_SDK_PATH "${SDK_ROOT}/external.avid.aax")
+ endif()
+ endif()
+ else()
+ if(NOT IS_ABSOLUTE ${SMTG_AAX_SDK_PATH})
+ get_filename_component(SMTG_AAX_SDK_PATH "${SDK_ROOT}/${SMTG_AAX_SDK_PATH}" ABSOLUTE)
+ endif()
+ if(NOT EXISTS "${SMTG_AAX_SDK_PATH}/Interfaces/AAX.h")
+ message(FATAL_ERROR "SMTG_AAX_SDK_PATH is set but does not point to an expected location")
+ endif()
+ endif()
+ if(SMTG_AAX_SDK_PATH)
+ message(STATUS "SMTG_AAX_SDK_PATH is set to : " ${SMTG_AAX_SDK_PATH})
+ else()
+ message(STATUS "SMTG_AAX_SDK_PATH is not set. If you need it, please download the AAX SDK!")
endif()
endif()
@@ -109,26 +159,22 @@ add_subdirectory(public.sdk)
add_subdirectory(public.sdk/source/vst/auwrapper)
add_subdirectory(public.sdk/source/vst/auwrapper/again)
add_subdirectory(public.sdk/source/vst/interappaudio)
-add_subdirectory(public.sdk/samples/vst/again)
-add_subdirectory(public.sdk/samples/vst/adelay)
-add_subdirectory(public.sdk/samples/vst/channelcontext)
-add_subdirectory(public.sdk/samples/vst/hostchecker)
-add_subdirectory(public.sdk/samples/vst/editorhost)
-add_subdirectory(public.sdk/samples/vst/mda-vst3)
-add_subdirectory(public.sdk/samples/vst/note_expression_synth)
-add_subdirectory(public.sdk/samples/vst/note_expression_text)
-add_subdirectory(public.sdk/samples/vst/pitchnames)
-add_subdirectory(public.sdk/samples/vst/prefetchablesupport)
-add_subdirectory(public.sdk/samples/vst/programchange)
-add_subdirectory(public.sdk/samples/vst/validator)
-add_subdirectory(public.sdk/samples/vst/InterAppAudio)
+if(SMTG_AAX_SDK_PATH)
+ add_subdirectory(public.sdk/source/vst/aaxwrapper)
+endif()
-set(VSTGUI_DISABLE_UNITTESTS 1)
-add_subdirectory(vstgui4/vstgui)
+# add VST3 examples (plugins and hosting)
+add_subdirectory(public.sdk/samples/vst)
+add_subdirectory(public.sdk/samples/vst-hosting)
#-------------------------------------------------------------------------------
# VSTGUI Support Library
#-------------------------------------------------------------------------------
+set(VSTGUI_DISABLE_UNITTESTS 1)
+set(VSTGUI_DISABLE_STANDALONE 1)
+set(VSTGUI_DISABLE_STANDALONE_EXAMPLES 1)
+add_subdirectory(vstgui4/vstgui)
+
add_compile_options($<$<CONFIG:Debug>:-DVSTGUI_LIVE_EDITING=1>)
set(VST3_VSTGUI_SOURCES
${VSTGUI_ROOT}/vstgui4/vstgui/plugin-bindings/vst3groupcontroller.cpp
@@ -164,57 +210,15 @@ set_target_properties(sdk PROPERTIES ${SDK_IDE_LIBS_FOLDER})
set_target_properties(base PROPERTIES ${SDK_IDE_LIBS_FOLDER})
set_target_properties(vstgui PROPERTIES ${SDK_IDE_LIBS_FOLDER})
set_target_properties(vstgui_uidescription PROPERTIES ${SDK_IDE_LIBS_FOLDER})
-
-if (TARGET again)
- set_target_properties(again PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
-endif()
-if (TARGET againsimple)
- set_target_properties(againsimple PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
-endif()
-if (TARGET adelay)
- set_target_properties(adelay PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
-endif()
-if (TARGET channelcontext)
- set_target_properties(channelcontext PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
-endif()
-if (TARGET hostchecker)
- set_target_properties(hostchecker PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
+if (TARGET vstgui_standalone)
+ set_target_properties(vstgui_standalone PROPERTIES ${SDK_IDE_LIBS_FOLDER})
endif()
-if (TARGET mda-vst3)
- set_target_properties(mda-vst3 PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
-endif()
-if (TARGET noteexpressionsynth)
- set_target_properties(noteexpressionsynth PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
-endif()
-if (TARGET noteexpressiontext)
- set_target_properties(noteexpressiontext PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
-endif()
-if (TARGET pitchnames)
- set_target_properties(pitchnames PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
-endif()
-if (TARGET prefetchablesupport)
- set_target_properties(prefetchablesupport PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
-endif()
-if (TARGET programchange)
- set_target_properties(programchange PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
+if(SMTG_AAX_SDK_PATH)
+ set_target_properties(aaxwrapper PROPERTIES ${SDK_IDE_LIBS_FOLDER})
endif()
-if (TARGET editorhost)
- set_target_properties(editorhost PROPERTIES ${SDK_IDE_HOSTING_EXAMPLES_FOLDER})
-endif()
-if (TARGET validator)
- set_target_properties(validator PROPERTIES ${SDK_IDE_HOSTING_EXAMPLES_FOLDER})
-endif ()
-
if(MAC AND XCODE)
- if(SMTG_COREAUDIO_SDK_PATH)
- set_target_properties(auwrapper PROPERTIES ${SDK_IDE_LIBS_FOLDER})
- set_target_properties(again_au PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
- endif()
if(IOS_DEVELOPMENT_TEAM)
- set_target_properties(sdk_ios PROPERTIES ${SDK_IDE_LIBS_FOLDER})
set_target_properties(base_ios PROPERTIES ${SDK_IDE_LIBS_FOLDER})
- set_target_properties(interappaudio PROPERTIES ${SDK_IDE_LIBS_FOLDER})
- set_target_properties(noteexpressionsynth_ios PROPERTIES ${SDK_IDE_PLUGIN_EXAMPLES_FOLDER})
endif()
endif()
diff --git a/README.md b/README.md
@@ -1,8 +1,8 @@
-# Welcome to VST SDK 3.6.7
+# Welcome to VST SDK 3.6.8
## The VST SDK package contains:
- The VST 3 API
- VST 3 Implementation Helper Classes
-- AU and VST2 wrappers
+- AAX, AU and VST 2 wrappers
- VST 3 Plug-ins Examples
The full VST 3 SDK is available [here!](https://www.steinberg.net/en/company/developers.html). It contains a VST 3 Plug-in Test Host Application/Validator.
@@ -13,10 +13,10 @@ Supported OS:
- Microsoft Windows 7-10
- Apple OSX 10.7-10.12
- Apple iOS 8-9
-- Linux (Preview)
+- Linux (Beta version)
Supported IDE:
-- Visual Studio 2013/2015
+- Visual Studio 2015/2017
- Xcode 6/7
- Qt Creator
@@ -89,5 +89,5 @@ Some more features implemented specifically for developers include:
- Validator (small command line Test Host) and Plug-in examples code included
---
-## License
+## License & Usage guidelines
More details are found at [www.steinberg.net/sdklicenses_vst3](http://www.steinberg.net/sdklicenses_vst3)
\ No newline at end of file