Initial release
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.25.0)
|
||||
|
||||
if(NOT SMTG_AAX_SDK_PATH OR NOT SMTG_ENABLE_VSTGUI_SUPPORT)
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(smtg-vst3-hostchecker-aax
|
||||
VERSION ${vstsdk_VERSION}.0
|
||||
DESCRIPTION "Steinberg VST 3 hostchecker AAX example"
|
||||
)
|
||||
|
||||
include(SMTG_AddAAXLibrary)
|
||||
|
||||
smtg_add_aaxplugin(host-checker-aax
|
||||
../hostchecker/resource/hostchecker.uidesc
|
||||
../hostchecker/source/cids.h
|
||||
../hostchecker/source/editorsizecontroller.cpp
|
||||
../hostchecker/source/editorsizecontroller.h
|
||||
../hostchecker/source/eventlistcheck.cpp
|
||||
../hostchecker/source/eventlistcheck.h
|
||||
../hostchecker/source/eventlogdatabrowsersource.cpp
|
||||
../hostchecker/source/eventlogdatabrowsersource.h
|
||||
../hostchecker/source/eventlogger.cpp
|
||||
../hostchecker/source/eventlogger.h
|
||||
../hostchecker/source/factory.cpp
|
||||
../hostchecker/source/hostcheck.cpp
|
||||
../hostchecker/source/hostcheck.h
|
||||
../hostchecker/source/hostcheckercontroller.cpp
|
||||
../hostchecker/source/hostcheckercontroller.h
|
||||
../hostchecker/source/hostcheckerprocessor.cpp
|
||||
../hostchecker/source/hostcheckerprocessor.h
|
||||
../hostchecker/source/logevents.h
|
||||
../hostchecker/source/parameterchangescheck.cpp
|
||||
../hostchecker/source/parameterchangescheck.h
|
||||
../hostchecker/source/processcontextcheck.cpp
|
||||
../hostchecker/source/processcontextcheck.h
|
||||
../hostchecker/source/processsetupcheck.cpp
|
||||
../hostchecker/source/processsetupcheck.h
|
||||
../hostchecker/source/version.h
|
||||
source/hostchecker_aax.cpp
|
||||
)
|
||||
|
||||
target_include_directories(host-checker-aax
|
||||
PUBLIC
|
||||
${SDK_ROOT}/public.sdk/samples/vst/hostchecker/source
|
||||
)
|
||||
|
||||
target_link_libraries(host-checker-aax
|
||||
PRIVATE
|
||||
vstgui_support
|
||||
aax_wrapper
|
||||
)
|
||||
|
||||
smtg_target_add_plugin_resources(host-checker-aax
|
||||
RESOURCES
|
||||
../hostchecker/resource/hostchecker.uidesc
|
||||
../hostchecker/resource/bypass.png
|
||||
../hostchecker/resource/knob.png
|
||||
)
|
||||
|
||||
smtg_target_setup_as_vst3_example(host-checker-aax)
|
||||
@@ -0,0 +1,18 @@
|
||||
# VST 3 Host Checker AAX
|
||||
|
||||
## Introduction
|
||||
|
||||
This plug-in is the AAX version of the *VST 3 Host Checker* plug-in. It tracks all incoming function calls, monitors calling sequences and performs various other tests.
|
||||
|
||||
> See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html?highlight=host%20checker#hostchecker).
|
||||
|
||||
## Getting Started
|
||||
|
||||
This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project.
|
||||
|
||||
> See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git
|
||||
|
||||
## Getting Help
|
||||
|
||||
* Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)**
|
||||
* Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)**
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
#include <windows.h>
|
||||
#include "../source/version.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
knob.png PNG "../../hostchecker/resource/knob.png"
|
||||
bypass.png PNG "../../hostchecker/resource/bypass.png"
|
||||
|
||||
hostchecker.uidesc DATA "../../hostchecker/resource/hostchecker.uidesc"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// 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
|
||||
VALUE "ProductVersion", FULL_VERSION_STR
|
||||
VALUE "OriginalFilename", stringOriginalFilename
|
||||
VALUE "FileDescription", stringFileDescription
|
||||
VALUE "InternalName", stringFileDescription
|
||||
VALUE "ProductName", stringFileDescription
|
||||
VALUE "CompanyName", stringCompanyName
|
||||
VALUE "LegalCopyright", stringLegalCopyright
|
||||
VALUE "LegalTrademarks", stringLegalTrademarks
|
||||
//VALUE "PrivateBuild", " \0"
|
||||
//VALUE "SpecialBuild", " \0"
|
||||
//VALUE "Comments", " \0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x400, 1252
|
||||
END
|
||||
END
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
//------------------------------------------------------------------------
|
||||
// Project : VST SDK
|
||||
//
|
||||
// Category : Examples
|
||||
// Filename : public.sdk/samples/vst/hostchecker/source/hostchecker_aax.cpp
|
||||
// Created by : Steinberg, 04/2019
|
||||
// Description : HostChecker AAX Example for VST SDK 3
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
// This file is part of a Steinberg SDK. It is subject to the license terms
|
||||
// in the LICENSE file found in the top-level directory of this distribution
|
||||
// and at www.steinberg.net/sdklicenses.
|
||||
// No part of the SDK, including this file, may be copied, modified, propagated,
|
||||
// or distributed except according to the terms contained in the LICENSE file.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include "public.sdk/source/vst/aaxwrapper/aaxwrapper_description.h"
|
||||
|
||||
#include "cids.h"
|
||||
#include "hostcheckercontroller.h"
|
||||
#include "pluginterfaces/base/futils.h"
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
#if 0 // for additional outputs
|
||||
AAX_Aux_Desc effAux_stereo[] =
|
||||
{
|
||||
// name, channel count
|
||||
{ "AGain AUX2", 2 },
|
||||
{ nullptr }
|
||||
};
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
#if 1 // MIDI inputs for instruments or Fx with MIDI input
|
||||
AAX_MIDI_Desc effMIDI[] =
|
||||
{
|
||||
// port name, channel mask
|
||||
{ "HostChecker MIDI", 0xffff },
|
||||
{ nullptr }
|
||||
};
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
// Input/Output meters
|
||||
/*
|
||||
AAX_Meter_Desc effMeters[] =
|
||||
{
|
||||
// not used { "Input", CCONST ('A', 'G', 'I', 'n'), 0 / *AAX_eMeterOrientation_Default* /, 0 / *AAX_eMeterType_Input* / },
|
||||
{ "Output", kVuPPMId, 0 / *AAX_eMeterOrientation_Default* /, 1 / *AAX_eMeterType_Output* / },
|
||||
{ nullptr }
|
||||
};
|
||||
*/
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
AAX_Plugin_Desc effPlugins[] = {
|
||||
// effect-ID, name,
|
||||
// Native ID, AudioSuite ID,
|
||||
// InChannels, OutChannels, InSideChain channels,
|
||||
// MIDI, Aux,
|
||||
// Meters
|
||||
// Latency
|
||||
// note: IDs must be unique across plugins
|
||||
|
||||
// Mono variant
|
||||
{"com.steinberg.hostchecker.mono",
|
||||
"HostChecker",
|
||||
CCONST ('H', 'C', 'h', '1'),
|
||||
CCONST ('H', 'C', 'H', '1'),
|
||||
1, /*mInputChannels*/
|
||||
1, /*mOutputChannels*/
|
||||
1, /*mSideChainInputChannels*/
|
||||
effMIDI, /*effMIDI*/
|
||||
nullptr, /*effAux*/
|
||||
nullptr, /*effMeters*/
|
||||
0 /*Latency*/
|
||||
},
|
||||
|
||||
// Stereo variant
|
||||
{"com.steinberg.hostchecker.stereo",
|
||||
"HostChecker",
|
||||
CCONST ('H', 'C', 'h', '2'),
|
||||
CCONST ('H', 'C', 'H', '2'),
|
||||
2, /*mInputChannels*/
|
||||
2, /*mOutputChannels*/
|
||||
2, /*mSideChainInputChannels*/
|
||||
effMIDI, /*effMIDI*/
|
||||
nullptr, /*effAux*/
|
||||
nullptr, /*effMeters*/
|
||||
0 /*Latency*/
|
||||
},
|
||||
|
||||
{nullptr}
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
AAX_Effect_Desc effDesc = {
|
||||
"Steinberg", // manufacturer
|
||||
"HostChecker", // product
|
||||
CCONST ('S', 'M', 'T', 'G'), // manufacturer ID
|
||||
CCONST ('H', 'C', 'H', 'E'), // product ID
|
||||
PlugVST3Category, // VST category (define cids.h)
|
||||
{0}, // VST3 class ID (set later)
|
||||
1, // version
|
||||
nullptr, // no pagetable file "hostchecker.xml",
|
||||
effPlugins,
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
// this drag's in all the craft from the AAX library
|
||||
int* forceLinkAAXWrapper = &AAXWrapper_linkAnchor;
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
AAX_Effect_Desc* AAXWrapper_GetDescription ()
|
||||
{
|
||||
// cannot initialize in global descriptor, and it might be link order dependent
|
||||
memcpy (effDesc.mVST3PluginID, (const char*)Steinberg::Vst::HostCheckerProcessorUID,
|
||||
sizeof (effDesc.mVST3PluginID));
|
||||
return &effDesc;
|
||||
}
|
||||
Reference in New Issue
Block a user