mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-25 02:04:23 +00:00
Initial commit of VST3 hosting.
This commit is contained in:
parent
39f41a977b
commit
63cb062d35
20 changed files with 2681 additions and 37 deletions
|
|
@ -30,6 +30,7 @@
|
|||
namespace
|
||||
{
|
||||
Value shouldBuildVST (Project& project) { return project.getProjectValue ("buildVST"); }
|
||||
Value shouldBuildVST3 (Project& project) { return project.getProjectValue ("buildVST3"); }
|
||||
Value shouldBuildAU (Project& project) { return project.getProjectValue ("buildAU"); }
|
||||
Value shouldBuildRTAS (Project& project) { return project.getProjectValue ("buildRTAS"); }
|
||||
Value shouldBuildAAX (Project& project) { return project.getProjectValue ("buildAAX"); }
|
||||
|
|
@ -120,6 +121,7 @@ namespace
|
|||
StringPairArray flags;
|
||||
//flags.set ("JUCE_MODAL_LOOPS_PERMITTED", "0");
|
||||
flags.set ("JucePlugin_Build_VST", valueToBool (shouldBuildVST (project)));
|
||||
flags.set ("JucePlugin_Build_VST3", valueToBool (shouldBuildVST3 (project)));
|
||||
flags.set ("JucePlugin_Build_AU", valueToBool (shouldBuildAU (project)));
|
||||
flags.set ("JucePlugin_Build_RTAS", valueToBool (shouldBuildRTAS (project)));
|
||||
flags.set ("JucePlugin_Build_AAX", valueToBool (shouldBuildAAX (project)));
|
||||
|
|
@ -201,41 +203,47 @@ namespace
|
|||
//==============================================================================
|
||||
namespace VSTHelpers
|
||||
{
|
||||
static Value getVSTFolder (ProjectExporter& exporter) { return exporter.getSetting (Ids::vstFolder); }
|
||||
|
||||
static void addVSTFolderToPath (ProjectExporter& exporter, StringArray& searchPaths)
|
||||
static Value getVSTFolder (ProjectExporter& exporter, bool isVST3)
|
||||
{
|
||||
const String vstFolder (getVSTFolder (exporter).toString());
|
||||
return exporter.getSetting (isVST3 ? Ids::vst3Folder
|
||||
: Ids::vstFolder);
|
||||
}
|
||||
|
||||
static void addVSTFolderToPath (ProjectExporter& exporter, bool isVST3)
|
||||
{
|
||||
const String vstFolder (getVSTFolder (exporter, isVST3).toString());
|
||||
|
||||
if (vstFolder.isNotEmpty())
|
||||
{
|
||||
RelativePath path (exporter.rebaseFromProjectFolderToBuildTarget (RelativePath (vstFolder, RelativePath::projectFolder)));
|
||||
|
||||
if (exporter.isVisualStudio())
|
||||
searchPaths.add (path.toWindowsStyle());
|
||||
exporter.extraSearchPaths.add (path.toWindowsStyle());
|
||||
else if (exporter.isLinux() || exporter.isXcode())
|
||||
searchPaths.insert (0, path.toUnixStyle());
|
||||
exporter.extraSearchPaths.insert (0, path.toUnixStyle());
|
||||
}
|
||||
}
|
||||
|
||||
static void createVSTPathEditor (ProjectExporter& exporter, PropertyListBuilder& props)
|
||||
static void createVSTPathEditor (ProjectExporter& exporter, PropertyListBuilder& props, bool isVST3)
|
||||
{
|
||||
props.add (new TextPropertyComponent (getVSTFolder (exporter), "VST Folder", 1024, false),
|
||||
"If you're building a VST, this must be the folder containing the VST SDK. This should be an absolute path.");
|
||||
const String vstFormat (isVST3 ? "VST3" : "VST");
|
||||
|
||||
props.add (new TextPropertyComponent (getVSTFolder (exporter, isVST3), vstFormat + " Folder", 1024, false),
|
||||
"If you're building a " + vstFormat + ", this must be the folder containing the " + vstFormat + " SDK. This should be an absolute path.");
|
||||
}
|
||||
|
||||
static void fixMissingVSTValues (ProjectExporter& exporter)
|
||||
static void fixMissingVSTValues (ProjectExporter& exporter, bool isVST3)
|
||||
{
|
||||
if (getVSTFolder(exporter).toString().isEmpty())
|
||||
getVSTFolder(exporter) = (exporter.isWindows() ? "c:\\SDKs\\vstsdk2.4"
|
||||
: "~/SDKs/vstsdk2.4");
|
||||
if (getVSTFolder (exporter, isVST3).toString().isEmpty())
|
||||
getVSTFolder (exporter, isVST3) = exporter.isWindows() ? (isVST3 ? "c:\\SDKs\\VST3 SDK" : "c:\\SDKs\\vstsdk2.4")
|
||||
: (isVST3 ? "~/SDKs/VST3 SDK" : "~/SDKs/vstsdk2.4");
|
||||
|
||||
fixMissingXcodePostBuildScript (exporter);
|
||||
}
|
||||
|
||||
static inline void prepareExporter (ProjectExporter& exporter, ProjectSaver& projectSaver)
|
||||
static inline void prepareExporter (ProjectExporter& exporter, ProjectSaver& projectSaver, bool isVST3)
|
||||
{
|
||||
fixMissingVSTValues (exporter);
|
||||
fixMissingVSTValues (exporter, isVST3);
|
||||
writePluginCharacteristicsFile (projectSaver);
|
||||
|
||||
exporter.makefileTargetSuffix = ".so";
|
||||
|
|
@ -246,7 +254,7 @@ namespace VSTHelpers
|
|||
RelativePath juceWrapperFolder (exporter.getProject().getGeneratedCodeFolder(),
|
||||
exporter.getTargetFolder(), RelativePath::buildTargetFolder);
|
||||
|
||||
addVSTFolderToPath (exporter, exporter.extraSearchPaths);
|
||||
addVSTFolderToPath (exporter, isVST3);
|
||||
|
||||
if (exporter.isWindows())
|
||||
exporter.extraSearchPaths.add (juceWrapperFolder.toWindowsStyle());
|
||||
|
|
@ -254,10 +262,10 @@ namespace VSTHelpers
|
|||
exporter.extraSearchPaths.add (juceWrapperFolder.toUnixStyle());
|
||||
}
|
||||
|
||||
static inline void createPropertyEditors (ProjectExporter& exporter, PropertyListBuilder& props)
|
||||
static inline void createPropertyEditors (ProjectExporter& exporter, PropertyListBuilder& props, bool isVST3)
|
||||
{
|
||||
fixMissingVSTValues (exporter);
|
||||
createVSTPathEditor (exporter, props);
|
||||
fixMissingVSTValues (exporter, isVST3);
|
||||
createVSTPathEditor (exporter, props, isVST3);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -230,6 +230,7 @@ LibraryModule::LibraryModule (const ModuleDescription& d)
|
|||
|
||||
bool LibraryModule::isAUPluginHost (const Project& project) const { return getID() == "juce_audio_processors" && project.isConfigFlagEnabled ("JUCE_PLUGINHOST_AU"); }
|
||||
bool LibraryModule::isVSTPluginHost (const Project& project) const { return getID() == "juce_audio_processors" && project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST"); }
|
||||
bool LibraryModule::isVST3PluginHost (const Project& project) const { return getID() == "juce_audio_processors" && project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST3"); }
|
||||
|
||||
File LibraryModule::getModuleHeaderFile (const File& folder) const
|
||||
{
|
||||
|
|
@ -348,8 +349,8 @@ void LibraryModule::prepareExporter (ProjectExporter& exporter, ProjectSaver& pr
|
|||
addBrowsableCode (exporter, projectSaver, compiled, moduleInfo.getFolder());
|
||||
}
|
||||
|
||||
if (isVSTPluginHost (project))
|
||||
VSTHelpers::addVSTFolderToPath (exporter, exporter.extraSearchPaths);
|
||||
if (isVSTPluginHost (project)) VSTHelpers::addVSTFolderToPath (exporter, false);
|
||||
if (isVST3PluginHost (project)) VSTHelpers::addVSTFolderToPath (exporter, true);
|
||||
|
||||
if (exporter.isXcode())
|
||||
{
|
||||
|
|
@ -378,7 +379,8 @@ void LibraryModule::prepareExporter (ProjectExporter& exporter, ProjectSaver& pr
|
|||
|
||||
if (moduleInfo.isPluginClient())
|
||||
{
|
||||
if (shouldBuildVST (project).getValue()) VSTHelpers::prepareExporter (exporter, projectSaver);
|
||||
if (shouldBuildVST (project).getValue()) VSTHelpers::prepareExporter (exporter, projectSaver, false);
|
||||
if (shouldBuildVST3 (project).getValue()) VSTHelpers::prepareExporter (exporter, projectSaver, true);
|
||||
if (shouldBuildAU (project).getValue()) AUHelpers::prepareExporter (exporter, projectSaver);
|
||||
if (shouldBuildAAX (project).getValue()) AAXHelpers::prepareExporter (exporter, projectSaver);
|
||||
if (shouldBuildRTAS (project).getValue()) RTASHelpers::prepareExporter (exporter, projectSaver);
|
||||
|
|
@ -389,11 +391,16 @@ void LibraryModule::createPropertyEditors (ProjectExporter& exporter, PropertyLi
|
|||
{
|
||||
if (isVSTPluginHost (exporter.getProject())
|
||||
&& ! (moduleInfo.isPluginClient() && shouldBuildVST (exporter.getProject()).getValue()))
|
||||
VSTHelpers::createVSTPathEditor (exporter, props);
|
||||
VSTHelpers::createVSTPathEditor (exporter, props, false);
|
||||
|
||||
if (isVST3PluginHost (exporter.getProject())
|
||||
&& ! (moduleInfo.isPluginClient() && shouldBuildVST3 (exporter.getProject()).getValue()))
|
||||
VSTHelpers::createVSTPathEditor (exporter, props, true);
|
||||
|
||||
if (moduleInfo.isPluginClient())
|
||||
{
|
||||
if (shouldBuildVST (exporter.getProject()).getValue()) VSTHelpers::createPropertyEditors (exporter, props);
|
||||
if (shouldBuildVST (exporter.getProject()).getValue()) VSTHelpers::createPropertyEditors (exporter, props, false);
|
||||
if (shouldBuildVST3 (exporter.getProject()).getValue()) VSTHelpers::createPropertyEditors (exporter, props, true);
|
||||
if (shouldBuildRTAS (exporter.getProject()).getValue()) RTASHelpers::createPropertyEditors (exporter, props);
|
||||
if (shouldBuildAAX (exporter.getProject()).getValue()) AAXHelpers::createPropertyEditors (exporter, props);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,6 +112,7 @@ private:
|
|||
|
||||
bool isAUPluginHost (const Project&) const;
|
||||
bool isVSTPluginHost (const Project&) const;
|
||||
bool isVST3PluginHost (const Project&) const;
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ namespace Ids
|
|||
DECLARE_ID (targetFolder);
|
||||
DECLARE_ID (intermediatesPath);
|
||||
DECLARE_ID (vstFolder);
|
||||
DECLARE_ID (vst3Folder);
|
||||
DECLARE_ID (rtasFolder);
|
||||
DECLARE_ID (auFolder);
|
||||
DECLARE_ID (flags);
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@
|
|||
06F651E38334660DCFCD6D2D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
0703B6BD13EE29BD0422263D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
070440AAAFFBE88D39492FC4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
070E3EFE91BE8407EE1EBD8C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
070F39D84506BCDF7C5CBA26 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
071FC447F1DEE261E6D442B2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
073544D5D22C9975CC308E48 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -913,6 +914,7 @@
|
|||
F5A1D2AFCFA4E5563C3D494D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
F5A261506BD95F58790AD021 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
F6546500AA3A49A3BB76F825 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
F6AE333028FC864D4653A7B5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
F6CA6BC81FCC918A9BA798CC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
F74005802C3B92DB086A069A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
F7454AD16EE05969CCF5FD7C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode2.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -1159,6 +1161,8 @@
|
|||
A9B46A5FF98D7B9DF8598C12,
|
||||
C19323831CE86566D60C725E,
|
||||
9A6686BC6FC38F6D1917D7C7,
|
||||
F6AE333028FC864D4653A7B5,
|
||||
070E3EFE91BE8407EE1EBD8C,
|
||||
A9C466FBA4FCF6484BCF86A2,
|
||||
6501BB1AAFD5B3DC4A783F85,
|
||||
CC04A3CE3003C0A0AB35A7AF ); name = "format_types"; sourceTree = "<group>"; };
|
||||
|
|
|
|||
|
|
@ -975,6 +975,17 @@
|
|||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.cpp">
|
||||
<FileConfiguration Name="Debug|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration Name="Release|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">
|
||||
<FileConfiguration Name="Debug|Win32"
|
||||
|
|
|
|||
|
|
@ -975,6 +975,17 @@
|
|||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.cpp">
|
||||
<FileConfiguration Name="Debug|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration Name="Release|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">
|
||||
<FileConfiguration Name="Debug|Win32"
|
||||
|
|
|
|||
|
|
@ -100,6 +100,10 @@
|
|||
#define JUCE_PLUGINHOST_VST 0
|
||||
#endif
|
||||
|
||||
#ifndef JUCE_PLUGINHOST_VST3
|
||||
//#define JUCE_PLUGINHOST_VST3
|
||||
#endif
|
||||
|
||||
#ifndef JUCE_PLUGINHOST_AU
|
||||
#define JUCE_PLUGINHOST_AU 0
|
||||
#endif
|
||||
|
|
@ -171,6 +175,9 @@
|
|||
#ifndef JucePlugin_Build_VST
|
||||
#define JucePlugin_Build_VST 1
|
||||
#endif
|
||||
#ifndef JucePlugin_Build_VST3
|
||||
#define JucePlugin_Build_VST3 0
|
||||
#endif
|
||||
#ifndef JucePlugin_Build_AU
|
||||
#define JucePlugin_Build_AU 1
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -628,6 +628,7 @@
|
|||
ABB92009051C3CDBA14CDA24 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
|
||||
AC3115EF08961FE738E897E6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
ACC266EC4CC8CCD368FA9E7D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
ACE3FF969AC408A50E9A6A4C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
ACEFDEF38DAB391EA33B0266 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
AD3B0EEC6220F38CC01E03A0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
AD84F6A526784CB531FB2455 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -644,6 +645,7 @@
|
|||
B1068476E683AADD3CD8AD55 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
B13108F6CE0124C355234332 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
|
||||
B1C6B9E4B9FDC17AA298E541 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GraphEditorPanel.cpp; path = ../../Source/GraphEditorPanel.cpp; sourceTree = "SOURCE_ROOT"; };
|
||||
B1CA1F3AE7555C4FB4CE52D2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
B1D5ED2A628748002723A9B4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
B275A29B2147F6A8ADF16084 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
B27CEFF5B55B38F2BEB141D1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -751,7 +753,6 @@
|
|||
CF0F1D933CE2A89A9D05FF38 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
CF27DFD59466D38E34428405 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
CF299925A6A365E288DC206E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D06DA3FA113EAB0CCF8D7A64 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D0A714338F6B7A47BA1F8F45 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D104AE78E68E1C382F5F1A81 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
|
||||
D313CF37B25D7FD313C4F336 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
|
||||
|
|
@ -768,8 +769,8 @@
|
|||
D7433453EBB3700D2805FF42 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D795067D4EFB5A34BC383250 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D79E29A54AE62E03A533F436 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D7C1255A555A016BA0D98228 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D7D1FFD98DABD765479240E6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D8101C0D25DF708FB2E446E5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D8A3F086596562E081EB0F39 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D8B7DCDFD32613B13AC54008 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D8C28108DE7AD0208D790606 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -792,8 +793,9 @@
|
|||
CAEA69EBB9B2A4C60A991E80 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CBE270C197A66B22EEE54D9C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CF67033CFC21C0060B538042 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D06DA3FA113EAB0CCF8D7A64 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D52F4E0C637B4685217CBEB4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D7C1255A555A016BA0D98228 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D8101C0D25DF708FB2E446E5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D9207F324519739FC25FFBDE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
DA918320EF4057DF54FF8909 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
DAF7C72A4348C33364BB654C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -1100,6 +1102,8 @@
|
|||
397E6AC0BA27761D41FF7E5B,
|
||||
C2F0321856C5812A685B349D,
|
||||
0CF846BB5ABA7ACA6ED15DAF,
|
||||
ACE3FF969AC408A50E9A6A4C,
|
||||
B1CA1F3AE7555C4FB4CE52D2,
|
||||
10EE0138720A51EBAD46FFCC,
|
||||
A53F1F6AAA9F18823C239E6C,
|
||||
C270737E2B85C6D98E145525 ); name = "format_types"; sourceTree = "<group>"; };
|
||||
|
|
@ -2001,7 +2005,7 @@
|
|||
D1C4804CD275CB57A5C89A2D,
|
||||
D85C0D11EE4F6C73B9EB5BCD ); name = Source; sourceTree = "<group>"; };
|
||||
92E529F622AC4282800634D3 = { isa = XCBuildConfiguration; buildSettings = {
|
||||
HEADER_SEARCH_PATHS = ("~/SDKs/vstsdk2.4", ../../JuceLibraryCode, ../../../../modules, "$(inherited)");
|
||||
HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "~/SDKs/vstsdk2.4", ../../JuceLibraryCode, ../../../../modules, "$(inherited)");
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
|
|
@ -2021,7 +2025,7 @@
|
|||
"JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; };
|
||||
20F59BC9E9ACBDF56007CE03 = { isa = XCBuildConfiguration; buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||
HEADER_SEARCH_PATHS = ("~/SDKs/vstsdk2.4", ../../JuceLibraryCode, ../../../../modules, "$(inherited)");
|
||||
HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "~/SDKs/vstsdk2.4", ../../JuceLibraryCode, ../../../../modules, "$(inherited)");
|
||||
GCC_OPTIMIZATION_LEVEL = s;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\vstsdk2.4;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\vstsdk2.4;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
|
|
@ -333,6 +333,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -1296,6 +1299,7 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\scanning\juce_KnownPluginList.h"/>
|
||||
|
|
|
|||
|
|
@ -526,6 +526,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.cpp">
|
||||
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.cpp">
|
||||
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">
|
||||
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -1725,6 +1728,9 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h">
|
||||
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">
|
||||
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h">
|
||||
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -102,6 +102,10 @@
|
|||
#define JUCE_PLUGINHOST_VST 1
|
||||
#endif
|
||||
|
||||
#ifndef JUCE_PLUGINHOST_VST3
|
||||
#define JUCE_PLUGINHOST_VST3 1
|
||||
#endif
|
||||
|
||||
#ifndef JUCE_PLUGINHOST_AU
|
||||
#define JUCE_PLUGINHOST_AU 1
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
includeBinaryInAppConfig="1">
|
||||
<EXPORTFORMATS>
|
||||
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" rtasFolder="~/SDKs/PT_80_SDK"
|
||||
objCExtraSuffix="M73TRi">
|
||||
objCExtraSuffix="M73TRi" vst3Folder="~/SDKs/VST3 SDK">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="Plugin Host"
|
||||
osxSDK="default" osxCompatibility="default" osxArchitecture="default"/>
|
||||
|
|
@ -38,7 +38,8 @@
|
|||
<MODULEPATH id="juce_audio_basics" path="../../modules"/>
|
||||
</MODULEPATHS>
|
||||
</XCODE_MAC>
|
||||
<VS2010 targetFolder="Builds/VisualStudio2010" vstFolder="c:\SDKs\vstsdk2.4">
|
||||
<VS2010 targetFolder="Builds/VisualStudio2010" vstFolder="c:\SDKs\vstsdk2.4"
|
||||
vst3Folder="c:\SDKs\VST3 SDK">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
|
||||
isDebug="1" optimisation="1" targetName="Plugin Host"/>
|
||||
|
|
@ -110,7 +111,8 @@
|
|||
<JUCEOPTIONS JUCE_WASAPI="enabled" JUCE_DIRECTSOUND="enabled" JUCE_ALSA="enabled"
|
||||
JUCE_QUICKTIME="disabled" JUCE_USE_FLAC="disabled" JUCE_USE_OGGVORBIS="disabled"
|
||||
JUCE_USE_CDBURNER="disabled" JUCE_USE_CDREADER="disabled" JUCE_USE_CAMERA="disabled"
|
||||
JUCE_PLUGINHOST_VST="enabled" JUCE_PLUGINHOST_AU="enabled" JUCE_WEB_BROWSER="disabled"/>
|
||||
JUCE_PLUGINHOST_VST="enabled" JUCE_PLUGINHOST_AU="enabled" JUCE_WEB_BROWSER="disabled"
|
||||
JUCE_PLUGINHOST_VST3="enabled"/>
|
||||
<MODULES>
|
||||
<MODULE id="juce_audio_basics" showAllCode="1"/>
|
||||
<MODULE id="juce_audio_devices" showAllCode="1"/>
|
||||
|
|
|
|||
|
|
@ -908,6 +908,17 @@
|
|||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.cpp">
|
||||
<FileConfiguration Name="Debug|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration Name="Release|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>
|
||||
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">
|
||||
<FileConfiguration Name="Debug|Win32"
|
||||
|
|
|
|||
|
|
@ -102,6 +102,10 @@
|
|||
//#define JUCE_PLUGINHOST_VST
|
||||
#endif
|
||||
|
||||
#ifndef JUCE_PLUGINHOST_VST3
|
||||
//#define JUCE_PLUGINHOST_VST3
|
||||
#endif
|
||||
|
||||
#ifndef JUCE_PLUGINHOST_AU
|
||||
//#define JUCE_PLUGINHOST_AU
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -36,6 +36,10 @@ void AudioPluginFormatManager::addDefaultFormats()
|
|||
jassert (dynamic_cast <VSTPluginFormat*> (formats[i]) == nullptr);
|
||||
#endif
|
||||
|
||||
#if JUCE_PLUGINHOST_VST3
|
||||
jassert (dynamic_cast <VST3PluginFormat*> (formats[i]) == nullptr);
|
||||
#endif
|
||||
|
||||
#if JUCE_PLUGINHOST_AU && JUCE_MAC
|
||||
jassert (dynamic_cast <AudioUnitPluginFormat*> (formats[i]) == nullptr);
|
||||
#endif
|
||||
|
|
@ -54,6 +58,10 @@ void AudioPluginFormatManager::addDefaultFormats()
|
|||
formats.add (new VSTPluginFormat());
|
||||
#endif
|
||||
|
||||
#if JUCE_PLUGINHOST_VST3
|
||||
formats.add (new VST3PluginFormat());
|
||||
#endif
|
||||
|
||||
#if JUCE_PLUGINHOST_LADSPA && JUCE_LINUX
|
||||
formats.add (new LADSPAPluginFormat());
|
||||
#endif
|
||||
|
|
|
|||
2463
modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp
Normal file
2463
modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2013 - Raw Material Software Ltd.
|
||||
|
||||
Permission is granted to use this software under the terms of either:
|
||||
a) the GPL v2 (or any later version)
|
||||
b) the Affero GPL v3
|
||||
|
||||
Details of these licenses can be found at: www.gnu.org/licenses
|
||||
|
||||
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
To release a closed-source product which uses JUCE, commercial licenses are
|
||||
available: visit www.juce.com for more information.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
#ifndef JUCE_VST3PLUGINFORMAT_H_INCLUDED
|
||||
#define JUCE_VST3PLUGINFORMAT_H_INCLUDED
|
||||
|
||||
#if JUCE_PLUGINHOST_VST3
|
||||
/**
|
||||
Implements a plugin format for VST3s.
|
||||
*/
|
||||
class JUCE_API VST3PluginFormat : public AudioPluginFormat
|
||||
{
|
||||
public:
|
||||
/** Constructor */
|
||||
VST3PluginFormat();
|
||||
|
||||
/** Destructor */
|
||||
~VST3PluginFormat();
|
||||
|
||||
//==============================================================================
|
||||
/** @internal */
|
||||
String getName() const override { return "VST3"; }
|
||||
/** @internal */
|
||||
void findAllTypesForFile (OwnedArray<PluginDescription>& results, const String& fileOrIdentifier) override;
|
||||
/** @internal */
|
||||
AudioPluginInstance* createInstanceFromDescription (const PluginDescription& description, double, int) override;
|
||||
/** @internal */
|
||||
bool fileMightContainThisPluginType (const String& fileOrIdentifier) override;
|
||||
/** @internal */
|
||||
String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override;
|
||||
/** @internal */
|
||||
bool pluginNeedsRescanning (const PluginDescription& description) override;
|
||||
/** @internal */
|
||||
StringArray searchPathsForPlugins (const FileSearchPath& searchPath, bool recursive) override;
|
||||
/** @internal */
|
||||
bool doesPluginStillExist (const PluginDescription& description) override;
|
||||
/** @internal */
|
||||
FileSearchPath getDefaultLocationsToSearch() override;
|
||||
/** @internal */
|
||||
bool canScanForPlugins() const override { return true; }
|
||||
|
||||
private:
|
||||
//==============================================================================
|
||||
void recursiveFileSearch (StringArray&, const File&, bool recursive);
|
||||
|
||||
//==============================================================================
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (VST3PluginFormat)
|
||||
};
|
||||
|
||||
#endif //JUCE_PLUGINHOST_VST3
|
||||
#endif //JUCE_VST3PLUGINFORMAT_H_INCLUDED
|
||||
|
|
@ -71,6 +71,10 @@ static inline bool arrayContainsPlugin (const OwnedArray<PluginDescription>& lis
|
|||
return false;
|
||||
}
|
||||
|
||||
#if JUCE_CLANG
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
#endif
|
||||
|
||||
#include "format/juce_AudioPluginFormat.cpp"
|
||||
#include "format/juce_AudioPluginFormatManager.cpp"
|
||||
#include "processors/juce_AudioProcessor.cpp"
|
||||
|
|
@ -80,6 +84,7 @@ static inline bool arrayContainsPlugin (const OwnedArray<PluginDescription>& lis
|
|||
#include "processors/juce_PluginDescription.cpp"
|
||||
#include "format_types/juce_LADSPAPluginFormat.cpp"
|
||||
#include "format_types/juce_VSTPluginFormat.cpp"
|
||||
#include "format_types/juce_VST3PluginFormat.cpp"
|
||||
#include "format_types/juce_AudioUnitPluginFormat.mm"
|
||||
#include "scanning/juce_KnownPluginList.cpp"
|
||||
#include "scanning/juce_PluginDirectoryScanner.cpp"
|
||||
|
|
|
|||
|
|
@ -34,22 +34,32 @@
|
|||
Enables the VST audio plugin hosting classes. This requires the Steinberg VST SDK to be
|
||||
installed on your machine.
|
||||
|
||||
@see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU
|
||||
@see VSTPluginFormat, VST3PluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU, JUCE_PLUGINHOST_VST3
|
||||
*/
|
||||
#ifndef JUCE_PLUGINHOST_VST
|
||||
#define JUCE_PLUGINHOST_VST 0
|
||||
#endif
|
||||
|
||||
/** Config: JUCE_PLUGINHOST_VST3
|
||||
Enables the VST3 audio plugin hosting classes. This requires the Steinberg VST3 SDK to be
|
||||
installed on your machine.
|
||||
|
||||
@see VSTPluginFormat, VVST3PluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST, JUCE_PLUGINHOST_AU
|
||||
*/
|
||||
#ifndef JUCE_PLUGINHOST_VST3
|
||||
#define JUCE_PLUGINHOST_VST3 0
|
||||
#endif
|
||||
|
||||
/** Config: JUCE_PLUGINHOST_AU
|
||||
Enables the AudioUnit plugin hosting classes. This is Mac-only, of course.
|
||||
|
||||
@see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST
|
||||
@see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST, JUCE_PLUGINHOST_VST3
|
||||
*/
|
||||
#ifndef JUCE_PLUGINHOST_AU
|
||||
#define JUCE_PLUGINHOST_AU 0
|
||||
#endif
|
||||
|
||||
#if ! (JUCE_PLUGINHOST_AU || JUCE_PLUGINHOST_VST)
|
||||
#if ! (JUCE_PLUGINHOST_AU || JUCE_PLUGINHOST_VST || JUCE_PLUGINHOST_VST3)
|
||||
// #error "You need to set either the JUCE_PLUGINHOST_AU anr/or JUCE_PLUGINHOST_VST flags if you're using this module!"
|
||||
#endif
|
||||
|
||||
|
|
@ -78,6 +88,7 @@ class AudioProcessor;
|
|||
#include "format_types/juce_LADSPAPluginFormat.h"
|
||||
#include "format_types/juce_VSTMidiEventList.h"
|
||||
#include "format_types/juce_VSTPluginFormat.h"
|
||||
#include "format_types/juce_VST3PluginFormat.h"
|
||||
#include "scanning/juce_PluginDirectoryScanner.h"
|
||||
#include "scanning/juce_PluginListComponent.h"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue