-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
192 changed files
with
3,738 additions
and
1,377 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
build/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
cmake_minimum_required(VERSION 3.14.0) | ||
|
||
option(SMTG_ENABLE_VST3_PLUGIN_EXAMPLES "Enable VST 3 Plug-in Examples" OFF) | ||
option(SMTG_ENABLE_VST3_HOSTING_EXAMPLES "Enable VST 3 Hosting Examples" OFF) | ||
|
||
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13 CACHE STRING "") | ||
|
||
set(vst3sdk_SOURCE_DIR "../../") | ||
if(NOT vst3sdk_SOURCE_DIR) | ||
message(FATAL_ERROR "Path to VST3 SDK is empty!") | ||
endif() | ||
|
||
project(VST3_AU_PlugIn | ||
# This is your plug-in version number. Change it here only. | ||
# Version number symbols usable in C++ can be found in | ||
# source/version.h and ${PROJECT_BINARY_DIR}/projectversion.h. | ||
VERSION 1.2.1.8 | ||
DESCRIPTION "VST3_AU_PlugIn VST 3 Plug-in" | ||
) | ||
|
||
# -- AudioUnitSDK -- | ||
include(FetchContent) | ||
FetchContent_Declare( | ||
AudioUnitSDK | ||
GIT_REPOSITORY https://github.com/apple/AudioUnitSDK.git | ||
GIT_TAG HEAD | ||
) | ||
FetchContent_MakeAvailable(AudioUnitSDK) | ||
FetchContent_GetProperties( | ||
AudioUnitSDK | ||
SOURCE_DIR SMTG_AUDIOUNIT_SDK_PATH | ||
) | ||
# ------------------- | ||
|
||
set(SMTG_VSTGUI_ROOT "${vst3sdk_SOURCE_DIR}") | ||
|
||
add_subdirectory(${vst3sdk_SOURCE_DIR} ${PROJECT_BINARY_DIR}/vst3sdk) | ||
smtg_enable_vst3_sdk() | ||
|
||
smtg_add_vst3plugin(VST3_AU_PlugIn | ||
source/version.h | ||
source/cids.h | ||
source/processor.h | ||
source/processor.cpp | ||
source/controller.h | ||
source/controller.cpp | ||
source/entry.cpp | ||
) | ||
|
||
#- VSTGUI Wanted ---- | ||
if(SMTG_ENABLE_VSTGUI_SUPPORT) | ||
target_sources(VST3_AU_PlugIn | ||
PRIVATE | ||
resource/editor.uidesc | ||
) | ||
target_link_libraries(VST3_AU_PlugIn | ||
PRIVATE | ||
vstgui_support | ||
) | ||
smtg_target_add_plugin_resources(VST3_AU_PlugIn | ||
RESOURCES | ||
"resource/editor.uidesc" | ||
) | ||
endif(SMTG_ENABLE_VSTGUI_SUPPORT) | ||
# ------------------- | ||
|
||
smtg_target_add_plugin_snapshots (VST3_AU_PlugIn | ||
RESOURCES | ||
resource/301DF339AFA3533FB5053B1B41367137_snapshot.png | ||
resource/301DF339AFA3533FB5053B1B41367137_snapshot_2.0x.png | ||
) | ||
|
||
target_link_libraries(VST3_AU_PlugIn | ||
PRIVATE | ||
sdk | ||
) | ||
|
||
smtg_target_configure_version_file(VST3_AU_PlugIn) | ||
|
||
if(SMTG_MAC) | ||
smtg_target_set_bundle(VST3_AU_PlugIn | ||
BUNDLE_IDENTIFIER com.steinberg.vst3sdk.audiounit-tutorial | ||
COMPANY_NAME "Steinberg Media Technologies" | ||
) | ||
smtg_target_set_debug_executable(VST3_AU_PlugIn | ||
"/Applications/VST3PluginTestHost.app" | ||
"--pluginfolder;$(BUILT_PRODUCTS_DIR)" | ||
) | ||
elseif(SMTG_WIN) | ||
target_sources(VST3_AU_PlugIn PRIVATE | ||
resource/win32resource.rc | ||
) | ||
if(MSVC) | ||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT VST3_AU_PlugIn) | ||
|
||
smtg_target_set_debug_executable(VST3_AU_PlugIn | ||
"$(ProgramW6432)/Steinberg/VST3PluginTestHost/VST3PluginTestHost.exe" | ||
"--pluginfolder \"$(OutDir)/\"" | ||
) | ||
endif() | ||
endif(SMTG_MAC) | ||
|
||
# -- Add the AUv2 target | ||
if (SMTG_MAC AND XCODE AND SMTG_ENABLE_AUV2_BUILDS) | ||
list(APPEND CMAKE_MODULE_PATH "${vst3sdk_SOURCE_DIR}/cmake/modules") | ||
include(SMTG_AddVST3AuV2) | ||
smtg_target_add_auv2(VST3_AU_PlugIn_AU | ||
BUNDLE_NAME audiounit_tutorial | ||
BUNDLE_IDENTIFIER com.steinberg.vst3sdk.audiounit_tutorial.audiounit | ||
INFO_PLIST_TEMPLATE ${CMAKE_CURRENT_SOURCE_DIR}/resource/au-info.plist | ||
VST3_PLUGIN_TARGET VST3_AU_PlugIn) | ||
smtg_target_set_debug_executable(VST3_AU_PlugIn_AU "/Applications/Reaper.app") | ||
endif(SMTG_MAC AND XCODE AND SMTG_ENABLE_AUV2_BUILDS) | ||
|
Binary file added
BIN
+7.42 KB
...rials/audiounit-tutorial/resource/301DF339AFA3533FB5053B1B41367137_snapshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+21.2 KB
.../audiounit-tutorial/resource/301DF339AFA3533FB5053B1B41367137_snapshot_2.0x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
<plist version="1.0"> | ||
<dict> | ||
<key>CFBundleDevelopmentRegion</key> | ||
<string>English</string> | ||
<key>CFBundleExecutable</key> | ||
<string>$(EXECUTABLE_NAME)</string> | ||
<key>CFBundleIdentifier</key> | ||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> | ||
<key>CFBundleName</key> | ||
<string>$(PRODUCT_NAME)</string> | ||
<key>CFBundleInfoDictionaryVersion</key> | ||
<string>6.0</string> | ||
<key>CFBundlePackageType</key> | ||
<string>BNDL</string> | ||
<key>CFBundleSignature</key> | ||
<string>????</string> | ||
<key>CFBundleVersion</key> | ||
<string>1.0</string> | ||
<key>CSResourcesFileMapped</key> | ||
<string>yes</string> | ||
<key>AudioComponents</key> | ||
<array> | ||
<dict> | ||
<key>factoryFunction</key> | ||
<string>AUWrapperFactory</string> | ||
<key>description</key> | ||
<string>AudioUnit Tutorial</string> | ||
<key>manufacturer</key> | ||
<string>Stgb</string> | ||
<key>name</key> | ||
<string>Steinberg: AudioUnit Tutorial</string> | ||
<key>subtype</key> | ||
<string>0002</string> | ||
<key>type</key> | ||
<string>aufx</string> | ||
<key>version</key> | ||
<integer>1</integer> | ||
</dict> | ||
</array> | ||
<key>AudioUnit SupportedNumChannels</key> | ||
<array> | ||
<dict> | ||
<key>Outputs</key> | ||
<string>2</string> | ||
<key>Inputs</key> | ||
<string>2</string> | ||
</dict> | ||
<dict> | ||
<key>Outputs</key> | ||
<string>2</string> | ||
<key>Inputs</key> | ||
<string>1</string> | ||
</dict> | ||
<dict> | ||
<key>Outputs</key> | ||
<string>1</string> | ||
<key>Inputs</key> | ||
<string>1</string> | ||
</dict> | ||
</array> | ||
</dict> | ||
</plist> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<vstgui-ui-description version="1"> | ||
<fonts> | ||
</fonts> | ||
<colors> | ||
</colors> | ||
<template background-color="~ BlackCColor" background-color-draw-style="filled and stroked" class="CViewContainer" mouse-enabled="true" name="view" opacity="1" origin="0, 0" size="300, 300" transparent="false" wants-focus="false"/> | ||
<bitmaps/> | ||
</vstgui-ui-description> |
44 changes: 44 additions & 0 deletions
44
.vst3_tutorials/audiounit-tutorial/resource/win32resource.rc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#include <windows.h> | ||
#include "../source/version.h" | ||
|
||
#define APSTUDIO_READONLY_SYMBOLS | ||
|
||
///////////////////////////////////////////////////////////////////////////// | ||
// Version | ||
///////////////////////////////////////////////////////////////////////////// | ||
VS_VERSION_INFO VERSIONINFO | ||
FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT | ||
PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT | ||
FILEFLAGSMASK 0x3fL | ||
#ifdef _DEBUG | ||
FILEFLAGS 0x1L | ||
#else | ||
FILEFLAGS 0x0L | ||
#endif | ||
FILEOS 0x40004L | ||
FILETYPE 0x1L | ||
FILESUBTYPE 0x0L | ||
BEGIN | ||
BLOCK "StringFileInfo" | ||
BEGIN | ||
BLOCK "040004e4" | ||
BEGIN | ||
VALUE "FileVersion", FULL_VERSION_STR"\0" | ||
VALUE "ProductVersion", FULL_VERSION_STR"\0" | ||
VALUE "OriginalFilename", stringOriginalFilename"\0" | ||
VALUE "FileDescription", stringFileDescription"\0" | ||
VALUE "InternalName", stringFileDescription"\0" | ||
VALUE "ProductName", stringFileDescription"\0" | ||
VALUE "CompanyName", stringCompanyName"\0" | ||
VALUE "LegalCopyright", stringLegalCopyright"\0" | ||
VALUE "LegalTrademarks", stringLegalTrademarks"\0" | ||
//VALUE "PrivateBuild", " \0" | ||
//VALUE "SpecialBuild", " \0" | ||
//VALUE "Comments", " \0" | ||
END | ||
END | ||
BLOCK "VarFileInfo" | ||
BEGIN | ||
VALUE "Translation", 0x400, 1252 | ||
END | ||
END |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
//------------------------------------------------------------------------ | ||
// Copyright(c) 2024 Steinberg Media Technologies. | ||
//------------------------------------------------------------------------ | ||
|
||
#pragma once | ||
|
||
#include "pluginterfaces/base/funknown.h" | ||
#include "pluginterfaces/vst/vsttypes.h" | ||
|
||
namespace Steinberg::Vst { | ||
//------------------------------------------------------------------------ | ||
static const Steinberg::FUID kVST3AUPlugInProcessorUID (0x301DF339, 0xAFA3533F, 0xB5053B1B, 0x41367137); | ||
static const Steinberg::FUID kVST3AUPlugInControllerUID (0x473E512F, 0x68875B49, 0xB2EEFB2D, 0x886C33C6); | ||
|
||
#define VST3AUPlugInVST3Category "Fx" | ||
|
||
//------------------------------------------------------------------------ | ||
} // namespace Steinberg::Vst |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
//------------------------------------------------------------------------ | ||
// Copyright(c) 2024 Steinberg Media Technologies. | ||
//------------------------------------------------------------------------ | ||
|
||
#include "controller.h" | ||
#include "cids.h" | ||
#include "vstgui/plugin-bindings/vst3editor.h" | ||
|
||
using namespace Steinberg; | ||
|
||
namespace Steinberg::Vst { | ||
|
||
//------------------------------------------------------------------------ | ||
// VST3AUPlugInController Implementation | ||
//------------------------------------------------------------------------ | ||
tresult PLUGIN_API VST3AUPlugInController::initialize (FUnknown* context) | ||
{ | ||
// Here the Plug-in will be instantiated | ||
|
||
//---do not forget to call parent ------ | ||
tresult result = EditControllerEx1::initialize (context); | ||
if (result != kResultOk) | ||
{ | ||
return result; | ||
} | ||
|
||
// Here you could register some parameters | ||
|
||
return result; | ||
} | ||
|
||
//------------------------------------------------------------------------ | ||
tresult PLUGIN_API VST3AUPlugInController::terminate () | ||
{ | ||
// Here the Plug-in will be de-instantiated, last possibility to remove some memory! | ||
|
||
//---do not forget to call parent ------ | ||
return EditControllerEx1::terminate (); | ||
} | ||
|
||
//------------------------------------------------------------------------ | ||
tresult PLUGIN_API VST3AUPlugInController::setComponentState (IBStream* state) | ||
{ | ||
// Here you get the state of the component (Processor part) | ||
if (!state) | ||
return kResultFalse; | ||
|
||
return kResultOk; | ||
} | ||
|
||
//------------------------------------------------------------------------ | ||
tresult PLUGIN_API VST3AUPlugInController::setState (IBStream* state) | ||
{ | ||
// Here you get the state of the controller | ||
|
||
return kResultTrue; | ||
} | ||
|
||
//------------------------------------------------------------------------ | ||
tresult PLUGIN_API VST3AUPlugInController::getState (IBStream* state) | ||
{ | ||
// Here you are asked to deliver the state of the controller (if needed) | ||
// Note: the real state of your plug-in is saved in the processor | ||
|
||
return kResultTrue; | ||
} | ||
|
||
//------------------------------------------------------------------------ | ||
IPlugView* PLUGIN_API VST3AUPlugInController::createView (FIDString name) | ||
{ | ||
// Here the Host wants to open your editor (if you have one) | ||
if (FIDStringsEqual (name, Vst::ViewType::kEditor)) | ||
{ | ||
// create your editor here and return a IPlugView ptr of it | ||
auto* view = new VSTGUI::VST3Editor (this, "view", "editor.uidesc"); | ||
return view; | ||
} | ||
return nullptr; | ||
} | ||
|
||
//------------------------------------------------------------------------ | ||
} // namespace Steinberg::Vst |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
//------------------------------------------------------------------------ | ||
// Copyright(c) 2024 Steinberg Media Technologies. | ||
//------------------------------------------------------------------------ | ||
|
||
#pragma once | ||
|
||
#include "public.sdk/source/vst/vsteditcontroller.h" | ||
|
||
namespace Steinberg::Vst { | ||
|
||
//------------------------------------------------------------------------ | ||
// VST3AUPlugInController | ||
//------------------------------------------------------------------------ | ||
class VST3AUPlugInController : public Steinberg::Vst::EditControllerEx1 | ||
{ | ||
public: | ||
//------------------------------------------------------------------------ | ||
VST3AUPlugInController () = default; | ||
~VST3AUPlugInController () SMTG_OVERRIDE = default; | ||
|
||
// Create function | ||
static Steinberg::FUnknown* createInstance (void* /*context*/) | ||
{ | ||
return (Steinberg::Vst::IEditController*)new VST3AUPlugInController; | ||
} | ||
|
||
//--- from IPluginBase ----------------------------------------------- | ||
Steinberg::tresult PLUGIN_API initialize (Steinberg::FUnknown* context) SMTG_OVERRIDE; | ||
Steinberg::tresult PLUGIN_API terminate () SMTG_OVERRIDE; | ||
|
||
//--- from EditController -------------------------------------------- | ||
Steinberg::tresult PLUGIN_API setComponentState (Steinberg::IBStream* state) SMTG_OVERRIDE; | ||
Steinberg::IPlugView* PLUGIN_API createView (Steinberg::FIDString name) SMTG_OVERRIDE; | ||
Steinberg::tresult PLUGIN_API setState (Steinberg::IBStream* state) SMTG_OVERRIDE; | ||
Steinberg::tresult PLUGIN_API getState (Steinberg::IBStream* state) SMTG_OVERRIDE; | ||
|
||
//---Interface--------- | ||
DEFINE_INTERFACES | ||
// Here you can add more supported VST3 interfaces | ||
// DEF_INTERFACE (Vst::IXXX) | ||
END_DEFINE_INTERFACES (EditController) | ||
DELEGATE_REFCOUNT (EditController) | ||
|
||
//------------------------------------------------------------------------ | ||
protected: | ||
}; | ||
|
||
//------------------------------------------------------------------------ | ||
} // namespace Steinberg::Vst |
Oops, something went wrong.