-
-
Notifications
You must be signed in to change notification settings - Fork 12
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
2 changed files
with
62 additions
and
53 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 |
---|---|---|
@@ -1,92 +1,98 @@ | ||
/* SPDX-License-Identifier: GPL-3.0-or-later */ | ||
|
||
#include <@AVND_MAIN_FILE@> | ||
|
||
#include <avnd/binding/vst3/audio_effect.hpp> | ||
#include <avnd/binding/vst3/configure.hpp> | ||
|
||
#include <avnd/common/export.hpp> | ||
|
||
// clang-format off | ||
#include <@AVND_MAIN_FILE@> | ||
|
||
bool InitModule () | ||
{ | ||
return true; | ||
} | ||
|
||
bool DeinitModule () | ||
{ | ||
return true; | ||
} | ||
|
||
extern "C" | ||
AVND_EXPORTED_SYMBOL Steinberg::IPluginFactory* GetPluginFactory() | ||
// Needed everywhere | ||
bool InitModule() { return true; } | ||
bool DeinitModule() { return true; } | ||
#if __APPLE__ | ||
extern "C" AVND_EXPORTED_SYMBOL bool BundleEntry() { return true; } | ||
extern "C" AVND_EXPORTED_SYMBOL bool BundleExit() { return true; } | ||
extern "C" AVND_EXPORTED_SYMBOL bool bundleEntry() { return true; } | ||
extern "C" AVND_EXPORTED_SYMBOL bool bundleExit() { return true; } | ||
#elif _WIN32 | ||
extern "C" AVND_EXPORTED_SYMBOL bool InitDll() { return true; } | ||
extern "C" AVND_EXPORTED_SYMBOL bool ExitDll() { return true; } | ||
#elif __linux__ | ||
extern "C" AVND_EXPORTED_SYMBOL bool ModuleEntry() { return true; } | ||
extern "C" AVND_EXPORTED_SYMBOL bool ModuleExit() { return true; } | ||
#endif | ||
|
||
extern "C" AVND_EXPORTED_SYMBOL Steinberg::IPluginFactory* GetPluginFactory() | ||
{ | ||
using type = decltype(avnd::configure<stv3::config, @AVND_MAIN_CLASS@ >())::type; | ||
using type = decltype(avnd::configure<stv3::config, @AVND_MAIN_CLASS@>())::type; | ||
// return new stv3::factory<type>{}; | ||
|
||
using component_t = stv3::Component<type>; | ||
using controller_t = stv3::Controller<type>; | ||
static stv3::factory<type, component_t, controller_t> fact; | ||
return &fact; | ||
} | ||
|
||
namespace Steinberg { | ||
namespace Vst { | ||
// clang-format on | ||
namespace Steinberg | ||
{ | ||
namespace Vst | ||
{ | ||
|
||
//----VST 3.0-------------------------------- | ||
DEF_CLASS_IID (IComponent) | ||
DEF_CLASS_IID (IAudioProcessor) | ||
DEF_CLASS_IID (IUnitData) | ||
DEF_CLASS_IID (IProgramListData) | ||
DEF_CLASS_IID(IComponent) | ||
DEF_CLASS_IID(IAudioProcessor) | ||
DEF_CLASS_IID(IUnitData) | ||
DEF_CLASS_IID(IProgramListData) | ||
|
||
DEF_CLASS_IID (IEditController) | ||
DEF_CLASS_IID (IUnitInfo) | ||
DEF_CLASS_IID(IEditController) | ||
DEF_CLASS_IID(IUnitInfo) | ||
|
||
DEF_CLASS_IID (IConnectionPoint) | ||
DEF_CLASS_IID(IConnectionPoint) | ||
|
||
DEF_CLASS_IID (IComponentHandler) | ||
DEF_CLASS_IID (IUnitHandler) | ||
DEF_CLASS_IID(IComponentHandler) | ||
DEF_CLASS_IID(IUnitHandler) | ||
|
||
DEF_CLASS_IID (IParamValueQueue) | ||
DEF_CLASS_IID (IParameterChanges) | ||
DEF_CLASS_IID(IParamValueQueue) | ||
DEF_CLASS_IID(IParameterChanges) | ||
|
||
DEF_CLASS_IID (IEventList) | ||
DEF_CLASS_IID (IMessage) | ||
DEF_CLASS_IID(IEventList) | ||
DEF_CLASS_IID(IMessage) | ||
|
||
DEF_CLASS_IID (IHostApplication) | ||
DEF_CLASS_IID (IAttributeList) | ||
DEF_CLASS_IID(IHostApplication) | ||
DEF_CLASS_IID(IAttributeList) | ||
|
||
//----VST 3.0.1-------------------------------- | ||
DEF_CLASS_IID (IMidiMapping) | ||
DEF_CLASS_IID(IMidiMapping) | ||
|
||
//----VST 3.0.2-------------------------------- | ||
|
||
//----VST 3.1---------------------------------- | ||
DEF_CLASS_IID (IComponentHandler2) | ||
DEF_CLASS_IID (IEditController2) | ||
DEF_CLASS_IID (IAudioPresentationLatency) | ||
DEF_CLASS_IID (IVst3ToVst2Wrapper) | ||
DEF_CLASS_IID (IVst3ToAUWrapper) | ||
DEF_CLASS_IID(IComponentHandler2) | ||
DEF_CLASS_IID(IEditController2) | ||
DEF_CLASS_IID(IAudioPresentationLatency) | ||
DEF_CLASS_IID(IVst3ToVst2Wrapper) | ||
DEF_CLASS_IID(IVst3ToAUWrapper) | ||
|
||
//----VST 3.5---------------------------------- | ||
DEF_CLASS_IID (INoteExpressionController) | ||
DEF_CLASS_IID (IKeyswitchController) | ||
DEF_CLASS_IID (IEditControllerHostEditing) | ||
DEF_CLASS_IID(INoteExpressionController) | ||
DEF_CLASS_IID(IKeyswitchController) | ||
DEF_CLASS_IID(IEditControllerHostEditing) | ||
|
||
//----VST 3.6---------------------------------- | ||
DEF_CLASS_IID (IStreamAttributes) | ||
DEF_CLASS_IID(IStreamAttributes) | ||
|
||
//----VST 3.6.5-------------------------------- | ||
DEF_CLASS_IID (IUnitHandler2) | ||
DEF_CLASS_IID(IUnitHandler2) | ||
|
||
//----VST 3.6.8-------------------------------- | ||
DEF_CLASS_IID (IComponentHandlerBusActivation) | ||
DEF_CLASS_IID (IVst3ToAAXWrapper) | ||
|
||
DEF_CLASS_IID (IVst3WrapperMPESupport) | ||
DEF_CLASS_IID(IComponentHandlerBusActivation) | ||
DEF_CLASS_IID(IVst3ToAAXWrapper) | ||
|
||
DEF_CLASS_IID(IVst3WrapperMPESupport) | ||
|
||
//----VST 3.7----------------------------------- | ||
DEF_CLASS_IID (IProcessContextRequirements) | ||
DEF_CLASS_IID (IProgress) | ||
}} | ||
DEF_CLASS_IID(IProcessContextRequirements) | ||
DEF_CLASS_IID(IProgress) | ||
} | ||
} |