Browse Source

Initial commit of VST3 hosting.

tags/2021-05-28
jules 11 years ago
parent
commit
63cb062d35
20 changed files with 2680 additions and 36 deletions
  1. +26
    -18
      extras/Introjucer/Source/Project/jucer_AudioPluginModule.h
  2. +12
    -5
      extras/Introjucer/Source/Project/jucer_Module.cpp
  3. +1
    -0
      extras/Introjucer/Source/Project/jucer_Module.h
  4. +1
    -0
      extras/Introjucer/Source/Utility/jucer_PresetIDs.h
  5. +4
    -0
      extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj
  6. +11
    -0
      extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj
  7. +11
    -0
      extras/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj
  8. +7
    -0
      extras/audio plugin demo/JuceLibraryCode/AppConfig.h
  9. +9
    -5
      extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj
  10. +6
    -2
      extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj
  11. +6
    -0
      extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters
  12. +4
    -0
      extras/audio plugin host/JuceLibraryCode/AppConfig.h
  13. +5
    -3
      extras/audio plugin host/Plugin Host.jucer
  14. +11
    -0
      extras/windows dll/Builds/VisualStudio2008/juce_dll.vcproj
  15. +4
    -0
      extras/windows dll/JuceLibraryCode/AppConfig.h
  16. +8
    -0
      modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp
  17. +2463
    -0
      modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp
  18. +72
    -0
      modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h
  19. +5
    -0
      modules/juce_audio_processors/juce_audio_processors.cpp
  20. +14
    -3
      modules/juce_audio_processors/juce_audio_processors.h

+ 26
- 18
extras/Introjucer/Source/Project/jucer_AudioPluginModule.h View File

@@ -30,6 +30,7 @@
namespace namespace
{ {
Value shouldBuildVST (Project& project) { return project.getProjectValue ("buildVST"); } 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 shouldBuildAU (Project& project) { return project.getProjectValue ("buildAU"); }
Value shouldBuildRTAS (Project& project) { return project.getProjectValue ("buildRTAS"); } Value shouldBuildRTAS (Project& project) { return project.getProjectValue ("buildRTAS"); }
Value shouldBuildAAX (Project& project) { return project.getProjectValue ("buildAAX"); } Value shouldBuildAAX (Project& project) { return project.getProjectValue ("buildAAX"); }
@@ -120,6 +121,7 @@ namespace
StringPairArray flags; StringPairArray flags;
//flags.set ("JUCE_MODAL_LOOPS_PERMITTED", "0"); //flags.set ("JUCE_MODAL_LOOPS_PERMITTED", "0");
flags.set ("JucePlugin_Build_VST", valueToBool (shouldBuildVST (project))); 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_AU", valueToBool (shouldBuildAU (project)));
flags.set ("JucePlugin_Build_RTAS", valueToBool (shouldBuildRTAS (project))); flags.set ("JucePlugin_Build_RTAS", valueToBool (shouldBuildRTAS (project)));
flags.set ("JucePlugin_Build_AAX", valueToBool (shouldBuildAAX (project))); flags.set ("JucePlugin_Build_AAX", valueToBool (shouldBuildAAX (project)));
@@ -201,41 +203,47 @@ namespace
//============================================================================== //==============================================================================
namespace VSTHelpers namespace VSTHelpers
{ {
static Value getVSTFolder (ProjectExporter& exporter) { return exporter.getSetting (Ids::vstFolder); }
static Value getVSTFolder (ProjectExporter& exporter, bool isVST3)
{
return exporter.getSetting (isVST3 ? Ids::vst3Folder
: Ids::vstFolder);
}
static void addVSTFolderToPath (ProjectExporter& exporter, StringArray& searchPaths)
static void addVSTFolderToPath (ProjectExporter& exporter, bool isVST3)
{ {
const String vstFolder (getVSTFolder (exporter).toString());
const String vstFolder (getVSTFolder (exporter, isVST3).toString());
if (vstFolder.isNotEmpty()) if (vstFolder.isNotEmpty())
{ {
RelativePath path (exporter.rebaseFromProjectFolderToBuildTarget (RelativePath (vstFolder, RelativePath::projectFolder))); RelativePath path (exporter.rebaseFromProjectFolderToBuildTarget (RelativePath (vstFolder, RelativePath::projectFolder)));
if (exporter.isVisualStudio()) if (exporter.isVisualStudio())
searchPaths.add (path.toWindowsStyle());
exporter.extraSearchPaths.add (path.toWindowsStyle());
else if (exporter.isLinux() || exporter.isXcode()) 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); 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); writePluginCharacteristicsFile (projectSaver);
exporter.makefileTargetSuffix = ".so"; exporter.makefileTargetSuffix = ".so";
@@ -246,7 +254,7 @@ namespace VSTHelpers
RelativePath juceWrapperFolder (exporter.getProject().getGeneratedCodeFolder(), RelativePath juceWrapperFolder (exporter.getProject().getGeneratedCodeFolder(),
exporter.getTargetFolder(), RelativePath::buildTargetFolder); exporter.getTargetFolder(), RelativePath::buildTargetFolder);
addVSTFolderToPath (exporter, exporter.extraSearchPaths);
addVSTFolderToPath (exporter, isVST3);
if (exporter.isWindows()) if (exporter.isWindows())
exporter.extraSearchPaths.add (juceWrapperFolder.toWindowsStyle()); exporter.extraSearchPaths.add (juceWrapperFolder.toWindowsStyle());
@@ -254,10 +262,10 @@ namespace VSTHelpers
exporter.extraSearchPaths.add (juceWrapperFolder.toUnixStyle()); 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);
} }
} }


+ 12
- 5
extras/Introjucer/Source/Project/jucer_Module.cpp View File

@@ -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::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::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 File LibraryModule::getModuleHeaderFile (const File& folder) const
{ {
@@ -348,8 +349,8 @@ void LibraryModule::prepareExporter (ProjectExporter& exporter, ProjectSaver& pr
addBrowsableCode (exporter, projectSaver, compiled, moduleInfo.getFolder()); 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()) if (exporter.isXcode())
{ {
@@ -378,7 +379,8 @@ void LibraryModule::prepareExporter (ProjectExporter& exporter, ProjectSaver& pr
if (moduleInfo.isPluginClient()) 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 (shouldBuildAU (project).getValue()) AUHelpers::prepareExporter (exporter, projectSaver);
if (shouldBuildAAX (project).getValue()) AAXHelpers::prepareExporter (exporter, projectSaver); if (shouldBuildAAX (project).getValue()) AAXHelpers::prepareExporter (exporter, projectSaver);
if (shouldBuildRTAS (project).getValue()) RTASHelpers::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()) if (isVSTPluginHost (exporter.getProject())
&& ! (moduleInfo.isPluginClient() && shouldBuildVST (exporter.getProject()).getValue())) && ! (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 (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 (shouldBuildRTAS (exporter.getProject()).getValue()) RTASHelpers::createPropertyEditors (exporter, props);
if (shouldBuildAAX (exporter.getProject()).getValue()) AAXHelpers::createPropertyEditors (exporter, props); if (shouldBuildAAX (exporter.getProject()).getValue()) AAXHelpers::createPropertyEditors (exporter, props);
} }


+ 1
- 0
extras/Introjucer/Source/Project/jucer_Module.h View File

@@ -112,6 +112,7 @@ private:
bool isAUPluginHost (const Project&) const; bool isAUPluginHost (const Project&) const;
bool isVSTPluginHost (const Project&) const; bool isVSTPluginHost (const Project&) const;
bool isVST3PluginHost (const Project&) const;
}; };
//============================================================================== //==============================================================================


+ 1
- 0
extras/Introjucer/Source/Utility/jucer_PresetIDs.h View File

@@ -50,6 +50,7 @@ namespace Ids
DECLARE_ID (targetFolder); DECLARE_ID (targetFolder);
DECLARE_ID (intermediatesPath); DECLARE_ID (intermediatesPath);
DECLARE_ID (vstFolder); DECLARE_ID (vstFolder);
DECLARE_ID (vst3Folder);
DECLARE_ID (rtasFolder); DECLARE_ID (rtasFolder);
DECLARE_ID (auFolder); DECLARE_ID (auFolder);
DECLARE_ID (flags); DECLARE_ID (flags);


+ 4
- 0
extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj View File

@@ -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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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, A9B46A5FF98D7B9DF8598C12,
C19323831CE86566D60C725E, C19323831CE86566D60C725E,
9A6686BC6FC38F6D1917D7C7, 9A6686BC6FC38F6D1917D7C7,
F6AE333028FC864D4653A7B5,
070E3EFE91BE8407EE1EBD8C,
A9C466FBA4FCF6484BCF86A2, A9C466FBA4FCF6484BCF86A2,
6501BB1AAFD5B3DC4A783F85, 6501BB1AAFD5B3DC4A783F85,
CC04A3CE3003C0A0AB35A7AF ); name = "format_types"; sourceTree = "<group>"; }; CC04A3CE3003C0A0AB35A7AF ); name = "format_types"; sourceTree = "<group>"; };


+ 11
- 0
extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj View File

@@ -975,6 +975,17 @@
</FileConfiguration> </FileConfiguration>
</File> </File>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/> <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_VSTMidiEventList.h"/>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp"> <File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">
<FileConfiguration Name="Debug|Win32" <FileConfiguration Name="Debug|Win32"


+ 11
- 0
extras/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj View File

@@ -975,6 +975,17 @@
</FileConfiguration> </FileConfiguration>
</File> </File>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/> <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_VSTMidiEventList.h"/>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp"> <File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">
<FileConfiguration Name="Debug|Win32" <FileConfiguration Name="Debug|Win32"


+ 7
- 0
extras/audio plugin demo/JuceLibraryCode/AppConfig.h View File

@@ -100,6 +100,10 @@
#define JUCE_PLUGINHOST_VST 0 #define JUCE_PLUGINHOST_VST 0
#endif #endif
#ifndef JUCE_PLUGINHOST_VST3
//#define JUCE_PLUGINHOST_VST3
#endif
#ifndef JUCE_PLUGINHOST_AU #ifndef JUCE_PLUGINHOST_AU
#define JUCE_PLUGINHOST_AU 0 #define JUCE_PLUGINHOST_AU 0
#endif #endif
@@ -171,6 +175,9 @@
#ifndef JucePlugin_Build_VST #ifndef JucePlugin_Build_VST
#define JucePlugin_Build_VST 1 #define JucePlugin_Build_VST 1
#endif #endif
#ifndef JucePlugin_Build_VST3
#define JucePlugin_Build_VST3 0
#endif
#ifndef JucePlugin_Build_AU #ifndef JucePlugin_Build_AU
#define JucePlugin_Build_AU 1 #define JucePlugin_Build_AU 1
#endif #endif


+ 9
- 5
extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj View File

@@ -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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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; }; 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; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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, 397E6AC0BA27761D41FF7E5B,
C2F0321856C5812A685B349D, C2F0321856C5812A685B349D,
0CF846BB5ABA7ACA6ED15DAF, 0CF846BB5ABA7ACA6ED15DAF,
ACE3FF969AC408A50E9A6A4C,
B1CA1F3AE7555C4FB4CE52D2,
10EE0138720A51EBAD46FFCC, 10EE0138720A51EBAD46FFCC,
A53F1F6AAA9F18823C239E6C, A53F1F6AAA9F18823C239E6C,
C270737E2B85C6D98E145525 ); name = "format_types"; sourceTree = "<group>"; }; C270737E2B85C6D98E145525 ); name = "format_types"; sourceTree = "<group>"; };
@@ -2001,7 +2005,7 @@
D1C4804CD275CB57A5C89A2D, D1C4804CD275CB57A5C89A2D,
D85C0D11EE4F6C73B9EB5BCD ); name = Source; sourceTree = "<group>"; }; D85C0D11EE4F6C73B9EB5BCD ); name = Source; sourceTree = "<group>"; };
92E529F622AC4282800634D3 = { isa = XCBuildConfiguration; buildSettings = { 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; GCC_OPTIMIZATION_LEVEL = 0;
INFOPLIST_FILE = Info.plist; INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications"; INSTALL_PATH = "$(HOME)/Applications";
@@ -2021,7 +2025,7 @@
"JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; };
20F59BC9E9ACBDF56007CE03 = { isa = XCBuildConfiguration; buildSettings = { 20F59BC9E9ACBDF56007CE03 = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 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; GCC_OPTIMIZATION_LEVEL = s;
INFOPLIST_FILE = Info.plist; INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications"; INSTALL_PATH = "$(HOME)/Applications";


+ 6
- 2
extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj View File

@@ -53,7 +53,7 @@
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat> <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> <PreprocessorDefinitions>WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo> <RuntimeTypeInfo>true</RuntimeTypeInfo>
@@ -94,7 +94,7 @@
</Midl> </Midl>
<ClCompile> <ClCompile>
<Optimization>MinSpace</Optimization> <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> <PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo> <RuntimeTypeInfo>true</RuntimeTypeInfo>
@@ -333,6 +333,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </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"> <ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@@ -1296,6 +1299,7 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/> <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_AudioUnitPluginFormat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.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_VSTMidiEventList.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\scanning\juce_KnownPluginList.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_processors\scanning\juce_KnownPluginList.h"/>


+ 6
- 0
extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters View File

@@ -526,6 +526,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.cpp">
<Filter>Juce Modules\juce_audio_processors\format_types</Filter> <Filter>Juce Modules\juce_audio_processors\format_types</Filter>
</ClCompile> </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"> <ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">
<Filter>Juce Modules\juce_audio_processors\format_types</Filter> <Filter>Juce Modules\juce_audio_processors\format_types</Filter>
</ClCompile> </ClCompile>
@@ -1725,6 +1728,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h">
<Filter>Juce Modules\juce_audio_processors\format_types</Filter> <Filter>Juce Modules\juce_audio_processors\format_types</Filter>
</ClInclude> </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"> <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h">
<Filter>Juce Modules\juce_audio_processors\format_types</Filter> <Filter>Juce Modules\juce_audio_processors\format_types</Filter>
</ClInclude> </ClInclude>


+ 4
- 0
extras/audio plugin host/JuceLibraryCode/AppConfig.h View File

@@ -102,6 +102,10 @@
#define JUCE_PLUGINHOST_VST 1 #define JUCE_PLUGINHOST_VST 1
#endif #endif
#ifndef JUCE_PLUGINHOST_VST3
#define JUCE_PLUGINHOST_VST3 1
#endif
#ifndef JUCE_PLUGINHOST_AU #ifndef JUCE_PLUGINHOST_AU
#define JUCE_PLUGINHOST_AU 1 #define JUCE_PLUGINHOST_AU 1
#endif #endif


+ 5
- 3
extras/audio plugin host/Plugin Host.jucer View File

@@ -14,7 +14,7 @@
includeBinaryInAppConfig="1"> includeBinaryInAppConfig="1">
<EXPORTFORMATS> <EXPORTFORMATS>
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" rtasFolder="~/SDKs/PT_80_SDK" <XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" rtasFolder="~/SDKs/PT_80_SDK"
objCExtraSuffix="M73TRi">
objCExtraSuffix="M73TRi" vst3Folder="~/SDKs/VST3 SDK">
<CONFIGURATIONS> <CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="Plugin Host" <CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="Plugin Host"
osxSDK="default" osxCompatibility="default" osxArchitecture="default"/> osxSDK="default" osxCompatibility="default" osxArchitecture="default"/>
@@ -38,7 +38,8 @@
<MODULEPATH id="juce_audio_basics" path="../../modules"/> <MODULEPATH id="juce_audio_basics" path="../../modules"/>
</MODULEPATHS> </MODULEPATHS>
</XCODE_MAC> </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> <CONFIGURATIONS>
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit" <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="1" optimisation="1" targetName="Plugin Host"/> isDebug="1" optimisation="1" targetName="Plugin Host"/>
@@ -110,7 +111,8 @@
<JUCEOPTIONS JUCE_WASAPI="enabled" JUCE_DIRECTSOUND="enabled" JUCE_ALSA="enabled" <JUCEOPTIONS JUCE_WASAPI="enabled" JUCE_DIRECTSOUND="enabled" JUCE_ALSA="enabled"
JUCE_QUICKTIME="disabled" JUCE_USE_FLAC="disabled" JUCE_USE_OGGVORBIS="disabled" JUCE_QUICKTIME="disabled" JUCE_USE_FLAC="disabled" JUCE_USE_OGGVORBIS="disabled"
JUCE_USE_CDBURNER="disabled" JUCE_USE_CDREADER="disabled" JUCE_USE_CAMERA="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> <MODULES>
<MODULE id="juce_audio_basics" showAllCode="1"/> <MODULE id="juce_audio_basics" showAllCode="1"/>
<MODULE id="juce_audio_devices" showAllCode="1"/> <MODULE id="juce_audio_devices" showAllCode="1"/>


+ 11
- 0
extras/windows dll/Builds/VisualStudio2008/juce_dll.vcproj View File

@@ -908,6 +908,17 @@
</FileConfiguration> </FileConfiguration>
</File> </File>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/> <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_VSTMidiEventList.h"/>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp"> <File RelativePath="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">
<FileConfiguration Name="Debug|Win32" <FileConfiguration Name="Debug|Win32"


+ 4
- 0
extras/windows dll/JuceLibraryCode/AppConfig.h View File

@@ -102,6 +102,10 @@
//#define JUCE_PLUGINHOST_VST //#define JUCE_PLUGINHOST_VST
#endif #endif
#ifndef JUCE_PLUGINHOST_VST3
//#define JUCE_PLUGINHOST_VST3
#endif
#ifndef JUCE_PLUGINHOST_AU #ifndef JUCE_PLUGINHOST_AU
//#define JUCE_PLUGINHOST_AU //#define JUCE_PLUGINHOST_AU
#endif #endif


+ 8
- 0
modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp View File

@@ -36,6 +36,10 @@ void AudioPluginFormatManager::addDefaultFormats()
jassert (dynamic_cast <VSTPluginFormat*> (formats[i]) == nullptr); jassert (dynamic_cast <VSTPluginFormat*> (formats[i]) == nullptr);
#endif #endif
#if JUCE_PLUGINHOST_VST3
jassert (dynamic_cast <VST3PluginFormat*> (formats[i]) == nullptr);
#endif
#if JUCE_PLUGINHOST_AU && JUCE_MAC #if JUCE_PLUGINHOST_AU && JUCE_MAC
jassert (dynamic_cast <AudioUnitPluginFormat*> (formats[i]) == nullptr); jassert (dynamic_cast <AudioUnitPluginFormat*> (formats[i]) == nullptr);
#endif #endif
@@ -54,6 +58,10 @@ void AudioPluginFormatManager::addDefaultFormats()
formats.add (new VSTPluginFormat()); formats.add (new VSTPluginFormat());
#endif #endif
#if JUCE_PLUGINHOST_VST3
formats.add (new VST3PluginFormat());
#endif
#if JUCE_PLUGINHOST_LADSPA && JUCE_LINUX #if JUCE_PLUGINHOST_LADSPA && JUCE_LINUX
formats.add (new LADSPAPluginFormat()); formats.add (new LADSPAPluginFormat());
#endif #endif


+ 2463
- 0
modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp
File diff suppressed because it is too large
View File


+ 72
- 0
modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h View File

@@ -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

+ 5
- 0
modules/juce_audio_processors/juce_audio_processors.cpp View File

@@ -71,6 +71,10 @@ static inline bool arrayContainsPlugin (const OwnedArray<PluginDescription>& lis
return false; return false;
} }
#if JUCE_CLANG
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
#endif
#include "format/juce_AudioPluginFormat.cpp" #include "format/juce_AudioPluginFormat.cpp"
#include "format/juce_AudioPluginFormatManager.cpp" #include "format/juce_AudioPluginFormatManager.cpp"
#include "processors/juce_AudioProcessor.cpp" #include "processors/juce_AudioProcessor.cpp"
@@ -80,6 +84,7 @@ static inline bool arrayContainsPlugin (const OwnedArray<PluginDescription>& lis
#include "processors/juce_PluginDescription.cpp" #include "processors/juce_PluginDescription.cpp"
#include "format_types/juce_LADSPAPluginFormat.cpp" #include "format_types/juce_LADSPAPluginFormat.cpp"
#include "format_types/juce_VSTPluginFormat.cpp" #include "format_types/juce_VSTPluginFormat.cpp"
#include "format_types/juce_VST3PluginFormat.cpp"
#include "format_types/juce_AudioUnitPluginFormat.mm" #include "format_types/juce_AudioUnitPluginFormat.mm"
#include "scanning/juce_KnownPluginList.cpp" #include "scanning/juce_KnownPluginList.cpp"
#include "scanning/juce_PluginDirectoryScanner.cpp" #include "scanning/juce_PluginDirectoryScanner.cpp"


+ 14
- 3
modules/juce_audio_processors/juce_audio_processors.h View File

@@ -34,22 +34,32 @@
Enables the VST audio plugin hosting classes. This requires the Steinberg VST SDK to be Enables the VST audio plugin hosting classes. This requires the Steinberg VST SDK to be
installed on your machine. 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 #ifndef JUCE_PLUGINHOST_VST
#define JUCE_PLUGINHOST_VST 0 #define JUCE_PLUGINHOST_VST 0
#endif #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 /** Config: JUCE_PLUGINHOST_AU
Enables the AudioUnit plugin hosting classes. This is Mac-only, of course. 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 #ifndef JUCE_PLUGINHOST_AU
#define JUCE_PLUGINHOST_AU 0 #define JUCE_PLUGINHOST_AU 0
#endif #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!" // #error "You need to set either the JUCE_PLUGINHOST_AU anr/or JUCE_PLUGINHOST_VST flags if you're using this module!"
#endif #endif
@@ -78,6 +88,7 @@ class AudioProcessor;
#include "format_types/juce_LADSPAPluginFormat.h" #include "format_types/juce_LADSPAPluginFormat.h"
#include "format_types/juce_VSTMidiEventList.h" #include "format_types/juce_VSTMidiEventList.h"
#include "format_types/juce_VSTPluginFormat.h" #include "format_types/juce_VSTPluginFormat.h"
#include "format_types/juce_VST3PluginFormat.h"
#include "scanning/juce_PluginDirectoryScanner.h" #include "scanning/juce_PluginDirectoryScanner.h"
#include "scanning/juce_PluginListComponent.h" #include "scanning/juce_PluginListComponent.h"


Loading…
Cancel
Save