Browse Source

Fix for plugin host build on mac, and minor tidy-up of some plugin hosting classes.

tags/2021-05-28
Julian Storer 13 years ago
parent
commit
da7e8603f7
15 changed files with 909 additions and 811 deletions
  1. +6
    -0
      extras/audio plugin host/Builds/Linux/Makefile
  2. +34
    -0
      extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj
  3. +73
    -0
      extras/audio plugin host/Builds/VisualStudio2005/Plugin Host.vcproj
  4. +73
    -0
      extras/audio plugin host/Builds/VisualStudio2008/Plugin Host.vcproj
  5. +1
    -0
      extras/audio plugin host/JuceLibraryCode/AppConfig.h
  6. +1
    -0
      extras/audio plugin host/JuceLibraryCode/JuceHeader.h
  7. +1
    -0
      extras/audio plugin host/Plugin Host.jucer
  8. +4
    -0
      modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h
  9. +675
    -786
      modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm
  10. +23
    -20
      modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
  11. +1
    -0
      modules/juce_audio_processors/juce_audio_processors.cpp
  12. +0
    -1
      modules/juce_audio_processors/juce_audio_processors.h
  13. +3
    -0
      modules/juce_core/memory/juce_ScopedPointer.h
  14. +2
    -1
      modules/juce_core/threads/juce_ChildProcess.h
  15. +12
    -3
      modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h

+ 6
- 0
extras/audio plugin host/Builds/Linux/Makefile View File

@@ -52,6 +52,7 @@ OBJECTS := \
$(OBJDIR)/juce_audio_devices_c1c9ba9c.o \
$(OBJDIR)/juce_audio_formats_f04b043c.o \
$(OBJDIR)/juce_audio_processors_eb9ae116.o \
$(OBJDIR)/juce_audio_utils_cf18005c.o \
$(OBJDIR)/juce_core_1ee54a40.o \
$(OBJDIR)/juce_cryptography_3b1f489a.o \
$(OBJDIR)/juce_data_structures_84790dfc.o \
@@ -122,6 +123,11 @@ $(OBJDIR)/juce_audio_processors_eb9ae116.o: ../../../../modules/juce_audio_proce
@echo "Compiling juce_audio_processors.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/juce_audio_utils_cf18005c.o: ../../../../modules/juce_audio_utils/juce_audio_utils.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling juce_audio_utils.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling juce_core.cpp"


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

@@ -29,6 +29,7 @@
1A3570C1D9F1C88CAE22B698 = { isa = PBXBuildFile; fileRef = 92CC7B8AC38CD9F5BEF43666; };
5602FF0F7838581B2D99B4EA = { isa = PBXBuildFile; fileRef = 773371ADF72AB3796F33054D; };
30395D7AF826EA20D77DFF96 = { isa = PBXBuildFile; fileRef = F1CA86D63B1E2470C12F134B; };
D9435112F128E06525EF1909 = { isa = PBXBuildFile; fileRef = 969BFC50EB3E613B65AF5A59; };
4F126CEDAE549FDC8BEAC734 = { isa = PBXBuildFile; fileRef = 138F64F6CD26039F2824DF88; };
4DCD1AB489E25AA9001E2887 = { isa = PBXBuildFile; fileRef = 0BD07D10FA9DB6A31BDDA110; };
0EF0DBE154D79A3B5B341C05 = { isa = PBXBuildFile; fileRef = CD3B532A7941FC08F0041C99; };
@@ -199,6 +200,18 @@
8F952D10AFA65886DCA5113A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; };
8559C2A3AA5BC3B651BE93A2 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
116F30059E9F220AEB0A4F5F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; };
97C0EA37F0B02153E15E1C41 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
643C04E0DE980DC9082AAFD6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; };
902F5C6108568323330CB156 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; };
E18DAB028771DD5C4D774FBA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; };
2F1C7C7A72CB8EB9DD053222 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; };
EF124DB556DEBDE34108D004 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; };
8574FF3271A1FE38D902A78E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
642FF07968CF83A4F29E621E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; };
A687A1E1AFB511BAE4284092 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
F1C0402E64C072BCC455F89F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; };
36D7A8F32E636D7CBDF6E4AA = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
11FC0E47DA7877F05A55BE66 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; };
A76C490D0BDA01B1BB061AA6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; };
01BBF6C9E6B77362403D9701 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; };
43C72AF1F7362D4C4BCA665E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
@@ -826,6 +839,7 @@
92CC7B8AC38CD9F5BEF43666 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
773371ADF72AB3796F33054D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
F1CA86D63B1E2470C12F134B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
969BFC50EB3E613B65AF5A59 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; };
138F64F6CD26039F2824DF88 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
0BD07D10FA9DB6A31BDDA110 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; };
CD3B532A7941FC08F0041C99 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
@@ -1020,6 +1034,23 @@
515196A62CD7B09925F43814,
8559C2A3AA5BC3B651BE93A2,
116F30059E9F220AEB0A4F5F ); name = "juce_audio_processors"; sourceTree = "<group>"; };
DCDD9CCF04E6C5A13C22C3B5 = { isa = PBXGroup; children = (
97C0EA37F0B02153E15E1C41,
643C04E0DE980DC9082AAFD6,
902F5C6108568323330CB156,
E18DAB028771DD5C4D774FBA,
2F1C7C7A72CB8EB9DD053222,
EF124DB556DEBDE34108D004,
8574FF3271A1FE38D902A78E,
642FF07968CF83A4F29E621E ); name = gui; sourceTree = "<group>"; };
1F56896CA0A3C36F4669EACB = { isa = PBXGroup; children = (
A687A1E1AFB511BAE4284092,
F1C0402E64C072BCC455F89F ); name = players; sourceTree = "<group>"; };
8A127EE612399B57B82B4CC1 = { isa = PBXGroup; children = (
DCDD9CCF04E6C5A13C22C3B5,
1F56896CA0A3C36F4669EACB,
36D7A8F32E636D7CBDF6E4AA,
11FC0E47DA7877F05A55BE66 ); name = "juce_audio_utils"; sourceTree = "<group>"; };
B88597C76BE25871C34D79FE = { isa = PBXGroup; children = (
A76C490D0BDA01B1BB061AA6,
01BBF6C9E6B77362403D9701,
@@ -1784,6 +1815,7 @@
05F110AAB3B630BA3BD1A433,
A76991807D8E35581C923B97,
A561F27522DE9111A5C51D16,
8A127EE612399B57B82B4CC1,
5C3AFE6B5BC0AB880F07F334,
6DE28C538A518C3CFE8304D8,
31E056CB0123A28567B7DFBB,
@@ -1799,6 +1831,7 @@
92CC7B8AC38CD9F5BEF43666,
773371ADF72AB3796F33054D,
F1CA86D63B1E2470C12F134B,
969BFC50EB3E613B65AF5A59,
138F64F6CD26039F2824DF88,
0BD07D10FA9DB6A31BDDA110,
CD3B532A7941FC08F0041C99,
@@ -1914,6 +1947,7 @@
1A3570C1D9F1C88CAE22B698,
5602FF0F7838581B2D99B4EA,
30395D7AF826EA20D77DFF96,
D9435112F128E06525EF1909,
4F126CEDAE549FDC8BEAC734,
4DCD1AB489E25AA9001E2887,
0EF0DBE154D79A3B5B341C05,


+ 73
- 0
extras/audio plugin host/Builds/VisualStudio2005/Plugin Host.vcproj View File

@@ -920,6 +920,78 @@
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>
</Filter>
<Filter Name="juce_audio_utils">
<Filter Name="gui">
<File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.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_utils\gui\juce_AudioDeviceSelectorComponent.h"/>
<File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.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_utils\gui\juce_AudioThumbnail.h"/>
<File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.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_utils\gui\juce_AudioThumbnailCache.h"/>
<File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.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_utils\gui\juce_MidiKeyboardComponent.h"/>
</Filter>
<Filter Name="players">
<File RelativePath="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.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_utils\players\juce_AudioProcessorPlayer.h"/>
</Filter>
<File RelativePath="..\..\..\..\modules\juce_audio_utils\juce_module_info">
<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_utils\juce_audio_utils.h"/>
</Filter>
<Filter Name="juce_core">
<Filter Name="text">
<File RelativePath="..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">
@@ -4188,6 +4260,7 @@
<File RelativePath="..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_core\juce_core.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_cryptography\juce_cryptography.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp"/>


+ 73
- 0
extras/audio plugin host/Builds/VisualStudio2008/Plugin Host.vcproj View File

@@ -920,6 +920,78 @@
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>
</Filter>
<Filter Name="juce_audio_utils">
<Filter Name="gui">
<File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.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_utils\gui\juce_AudioDeviceSelectorComponent.h"/>
<File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.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_utils\gui\juce_AudioThumbnail.h"/>
<File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.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_utils\gui\juce_AudioThumbnailCache.h"/>
<File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.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_utils\gui\juce_MidiKeyboardComponent.h"/>
</Filter>
<Filter Name="players">
<File RelativePath="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.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_utils\players\juce_AudioProcessorPlayer.h"/>
</Filter>
<File RelativePath="..\..\..\..\modules\juce_audio_utils\juce_module_info">
<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_utils\juce_audio_utils.h"/>
</Filter>
<Filter Name="juce_core">
<Filter Name="text">
<File RelativePath="..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">
@@ -4188,6 +4260,7 @@
<File RelativePath="..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_core\juce_core.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_cryptography\juce_cryptography.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp"/>


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

@@ -18,6 +18,7 @@
#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1
#define JUCE_MODULE_AVAILABLE_juce_audio_processors 1
#define JUCE_MODULE_AVAILABLE_juce_audio_utils 1
#define JUCE_MODULE_AVAILABLE_juce_core 1
#define JUCE_MODULE_AVAILABLE_juce_cryptography 1
#define JUCE_MODULE_AVAILABLE_juce_data_structures 1


+ 1
- 0
extras/audio plugin host/JuceLibraryCode/JuceHeader.h View File

@@ -18,6 +18,7 @@
#include "modules/juce_audio_devices/juce_audio_devices.h"
#include "modules/juce_audio_formats/juce_audio_formats.h"
#include "modules/juce_audio_processors/juce_audio_processors.h"
#include "modules/juce_audio_utils/juce_audio_utils.h"
#include "modules/juce_core/juce_core.h"
#include "modules/juce_cryptography/juce_cryptography.h"
#include "modules/juce_data_structures/juce_data_structures.h"


+ 1
- 0
extras/audio plugin host/Plugin Host.jucer View File

@@ -65,5 +65,6 @@
<MODULE id="juce_audio_devices" showAllCode="1"/>
<MODULE id="juce_audio_formats" showAllCode="1"/>
<MODULE id="juce_audio_processors" showAllCode="1"/>
<MODULE id="juce_audio_utils" showAllCode="1"/>
</MODULES>
</JUCERPROJECT>

+ 4
- 0
modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h View File

@@ -55,6 +55,10 @@
#include <Cocoa/Cocoa.h>
#if JUCE_SUPPORT_CARBON
#define Point CarbonDummyPointName
#define Component CarbonDummyCompName
#include <Carbon/Carbon.h>
#undef Point
#undef Component
#endif
#endif

+ 675
- 786
modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm
File diff suppressed because it is too large
View File


+ 23
- 20
modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp View File

@@ -802,8 +802,8 @@ private:
bool saveToFXBFile (MemoryBlock& dest, bool isFXB, int maxSizeMB);
int getVersionNumber() const noexcept { return effect != nullptr ? effect->version : 0; }
const String getVersion() const;
const String getCategory() const;
String getVersion() const;
String getCategory() const;
void setPower (const bool on);
@@ -1138,7 +1138,7 @@ public:
pluginWindow = None;
pluginProc = None;
#else
addAndMakeVisible (innerWrapper = new InnerWrapperComponent (this));
addAndMakeVisible (innerWrapper = new InnerWrapperComponent (*this));
#endif
activeVSTWindows.add (this);
@@ -1752,15 +1752,15 @@ private:
#endif
#if JUCE_MAC
#if ! JUCE_SUPPORT_CARBON
#error "To build VSTs, you need to enable the JUCE_SUPPORT_CARBON flag in your config!"
#endif
//==============================================================================
#if ! JUCE_SUPPORT_CARBON
#error "To build VSTs, you need to enable the JUCE_SUPPORT_CARBON flag in your config!"
#endif
class InnerWrapperComponent : public CarbonViewWrapperComponent
{
public:
InnerWrapperComponent (VSTPluginWindow* const owner_)
InnerWrapperComponent (VSTPluginWindow& owner_)
: owner (owner_),
alreadyInside (false)
{
@@ -1773,24 +1773,24 @@ private:
HIViewRef attachView (WindowRef windowRef, HIViewRef rootView)
{
owner->openPluginWindow (windowRef);
owner.openPluginWindow (windowRef);
return 0;
}
void removeView (HIViewRef)
{
if (owner->isOpen)
if (owner.isOpen)
{
owner->isOpen = false;
owner->dispatch (effEditClose, 0, 0, 0, 0);
owner->dispatch (effEditSleep, 0, 0, 0, 0);
owner.isOpen = false;
owner.dispatch (effEditClose, 0, 0, 0, 0);
owner.dispatch (effEditSleep, 0, 0, 0, 0);
}
}
bool getEmbeddedViewSize (int& w, int& h)
{
ERect* rect = nullptr;
owner->dispatch (effEditGetRect, 0, 0, &rect, 0);
owner.dispatch (effEditGetRect, 0, 0, &rect, 0);
w = rect->right - rect->left;
h = rect->bottom - rect->top;
return true;
@@ -1802,7 +1802,7 @@ private:
{
alreadyInside = true;
getTopLevelComponent()->toFront (true);
owner->dispatch (effEditMouse, x, y, 0, 0);
owner.dispatch (effEditMouse, x, y, 0, 0);
alreadyInside = false;
}
else
@@ -1824,13 +1824,15 @@ private:
r.top = pos.getY();
r.bottom = r.top + getHeight();
owner->dispatch (effEditDraw, 0, 0, &r, 0);
owner.dispatch (effEditDraw, 0, 0, &r, 0);
}
}
private:
VSTPluginWindow* const owner;
VSTPluginWindow& owner;
bool alreadyInside;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InnerWrapperComponent);
};
friend class InnerWrapperComponent;
@@ -1838,7 +1840,8 @@ private:
void resized()
{
innerWrapper->setSize (getWidth(), getHeight());
if (innerWrapper != nullptr)
innerWrapper->setSize (getWidth(), getHeight());
}
#endif
@@ -2357,7 +2360,7 @@ static VstIntPtr VSTCALLBACK audioMaster (AEffect* effect, VstInt32 opcode, VstI
}
//==============================================================================
const String VSTPluginInstance::getVersion() const
String VSTPluginInstance::getVersion() const
{
unsigned int v = dispatch (effGetVendorVersion, 0, 0, 0, 0);
@@ -2401,7 +2404,7 @@ int VSTPluginInstance::getUID() const
return uid;
}
const String VSTPluginInstance::getCategory() const
String VSTPluginInstance::getCategory() const
{
const char* result = nullptr;


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

@@ -39,6 +39,7 @@
#define JUCE_DONT_DEFINE_MACROS 1
#include "../juce_core/native/juce_BasicNativeHeaders.h"
#include "juce_audio_processors.h"
#include "../juce_gui_extra/juce_gui_extra.h"
//==============================================================================
#if JUCE_MAC


+ 0
- 1
modules/juce_audio_processors/juce_audio_processors.h View File

@@ -28,7 +28,6 @@
#include "../juce_gui_basics/juce_gui_basics.h"
#include "../juce_audio_basics/juce_audio_basics.h"
//#include "../juce_audio_devices/juce_audio_devices.h"
//=============================================================================


+ 3
- 0
modules/juce_core/memory/juce_ScopedPointer.h View File

@@ -141,6 +141,9 @@ public:
/** Returns the object that this ScopedPointer refers to. */
inline operator ObjectType*() const noexcept { return object; }
/** Returns the object that this ScopedPointer refers to. */
inline ObjectType* get() const noexcept { return object; }
/** Returns the object that this ScopedPointer refers to. */
inline ObjectType& operator*() const noexcept { return *object; }


+ 2
- 1
modules/juce_core/threads/juce_ChildProcess.h View File

@@ -34,9 +34,10 @@
This class lets you launch an executable, and read its output. You can also
use it to check whether the child process has finished.
*/
class ChildProcess
class JUCE_API ChildProcess
{
public:
//==============================================================================
/** Creates a process object.
To actually launch the process, use start().
*/


+ 12
- 3
modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h View File

@@ -90,10 +90,9 @@ public:
return;
carbonWindow = [[NSWindow alloc] initWithWindowRef: wrapperWindow];
NSWindow* ownerWindow = [((NSView*) getWindowHandle()) window];
[ownerWindow addChildWindow: carbonWindow
ordered: NSWindowAbove];
[getOwnerWindow() addChildWindow: carbonWindow
ordered: NSWindowAbove];
embeddedView = attachView (wrapperWindow, HIViewGetRoot (wrapperWindow));
@@ -130,6 +129,14 @@ public:
if (wrapperWindow != 0)
{
NSWindow* ownerWindow = getOwnerWindow();
if ([[ownerWindow childWindows] count] > 0)
{
[ownerWindow removeChildWindow: carbonWindow];
[carbonWindow close];
}
RemoveEventHandler (eventHandlerRef);
DisposeWindow (wrapperWindow);
wrapperWindow = 0;
@@ -275,6 +282,8 @@ protected:
Time creationTime;
EventHandlerRef eventHandlerRef;
NSWindow* getOwnerWindow() const { return [((NSView*) getWindowHandle()) window]; }
};
#endif // __JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_JUCEHEADER__

Loading…
Cancel
Save