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_devices_c1c9ba9c.o \
$(OBJDIR)/juce_audio_formats_f04b043c.o \ $(OBJDIR)/juce_audio_formats_f04b043c.o \
$(OBJDIR)/juce_audio_processors_eb9ae116.o \ $(OBJDIR)/juce_audio_processors_eb9ae116.o \
$(OBJDIR)/juce_audio_utils_cf18005c.o \
$(OBJDIR)/juce_core_1ee54a40.o \ $(OBJDIR)/juce_core_1ee54a40.o \
$(OBJDIR)/juce_cryptography_3b1f489a.o \ $(OBJDIR)/juce_cryptography_3b1f489a.o \
$(OBJDIR)/juce_data_structures_84790dfc.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" @echo "Compiling juce_audio_processors.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<" @$(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 $(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp
-@mkdir -p $(OBJDIR) -@mkdir -p $(OBJDIR)
@echo "Compiling juce_core.cpp" @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; }; 1A3570C1D9F1C88CAE22B698 = { isa = PBXBuildFile; fileRef = 92CC7B8AC38CD9F5BEF43666; };
5602FF0F7838581B2D99B4EA = { isa = PBXBuildFile; fileRef = 773371ADF72AB3796F33054D; }; 5602FF0F7838581B2D99B4EA = { isa = PBXBuildFile; fileRef = 773371ADF72AB3796F33054D; };
30395D7AF826EA20D77DFF96 = { isa = PBXBuildFile; fileRef = F1CA86D63B1E2470C12F134B; }; 30395D7AF826EA20D77DFF96 = { isa = PBXBuildFile; fileRef = F1CA86D63B1E2470C12F134B; };
D9435112F128E06525EF1909 = { isa = PBXBuildFile; fileRef = 969BFC50EB3E613B65AF5A59; };
4F126CEDAE549FDC8BEAC734 = { isa = PBXBuildFile; fileRef = 138F64F6CD26039F2824DF88; }; 4F126CEDAE549FDC8BEAC734 = { isa = PBXBuildFile; fileRef = 138F64F6CD26039F2824DF88; };
4DCD1AB489E25AA9001E2887 = { isa = PBXBuildFile; fileRef = 0BD07D10FA9DB6A31BDDA110; }; 4DCD1AB489E25AA9001E2887 = { isa = PBXBuildFile; fileRef = 0BD07D10FA9DB6A31BDDA110; };
0EF0DBE154D79A3B5B341C05 = { isa = PBXBuildFile; fileRef = CD3B532A7941FC08F0041C99; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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"; }; 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, 515196A62CD7B09925F43814,
8559C2A3AA5BC3B651BE93A2, 8559C2A3AA5BC3B651BE93A2,
116F30059E9F220AEB0A4F5F ); name = "juce_audio_processors"; sourceTree = "<group>"; }; 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 = ( B88597C76BE25871C34D79FE = { isa = PBXGroup; children = (
A76C490D0BDA01B1BB061AA6, A76C490D0BDA01B1BB061AA6,
01BBF6C9E6B77362403D9701, 01BBF6C9E6B77362403D9701,
@@ -1784,6 +1815,7 @@
05F110AAB3B630BA3BD1A433, 05F110AAB3B630BA3BD1A433,
A76991807D8E35581C923B97, A76991807D8E35581C923B97,
A561F27522DE9111A5C51D16, A561F27522DE9111A5C51D16,
8A127EE612399B57B82B4CC1,
5C3AFE6B5BC0AB880F07F334, 5C3AFE6B5BC0AB880F07F334,
6DE28C538A518C3CFE8304D8, 6DE28C538A518C3CFE8304D8,
31E056CB0123A28567B7DFBB, 31E056CB0123A28567B7DFBB,
@@ -1799,6 +1831,7 @@
92CC7B8AC38CD9F5BEF43666, 92CC7B8AC38CD9F5BEF43666,
773371ADF72AB3796F33054D, 773371ADF72AB3796F33054D,
F1CA86D63B1E2470C12F134B, F1CA86D63B1E2470C12F134B,
969BFC50EB3E613B65AF5A59,
138F64F6CD26039F2824DF88, 138F64F6CD26039F2824DF88,
0BD07D10FA9DB6A31BDDA110, 0BD07D10FA9DB6A31BDDA110,
CD3B532A7941FC08F0041C99, CD3B532A7941FC08F0041C99,
@@ -1914,6 +1947,7 @@
1A3570C1D9F1C88CAE22B698, 1A3570C1D9F1C88CAE22B698,
5602FF0F7838581B2D99B4EA, 5602FF0F7838581B2D99B4EA,
30395D7AF826EA20D77DFF96, 30395D7AF826EA20D77DFF96,
D9435112F128E06525EF1909,
4F126CEDAE549FDC8BEAC734, 4F126CEDAE549FDC8BEAC734,
4DCD1AB489E25AA9001E2887, 4DCD1AB489E25AA9001E2887,
0EF0DBE154D79A3B5B341C05, 0EF0DBE154D79A3B5B341C05,


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

@@ -920,6 +920,78 @@
</File> </File>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/> <File RelativePath="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>
</Filter> </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="juce_core">
<Filter Name="text"> <Filter Name="text">
<File RelativePath="..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp"> <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_devices\juce_audio_devices.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.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_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_core\juce_core.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_cryptography\juce_cryptography.cpp"/> <File RelativePath="..\..\..\..\modules\juce_cryptography\juce_cryptography.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_data_structures\juce_data_structures.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>
<File RelativePath="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/> <File RelativePath="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>
</Filter> </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="juce_core">
<Filter Name="text"> <Filter Name="text">
<File RelativePath="..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp"> <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_devices\juce_audio_devices.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.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_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_core\juce_core.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_cryptography\juce_cryptography.cpp"/> <File RelativePath="..\..\..\..\modules\juce_cryptography\juce_cryptography.cpp"/>
<File RelativePath="..\..\..\..\modules\juce_data_structures\juce_data_structures.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_devices 1
#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1 #define JUCE_MODULE_AVAILABLE_juce_audio_formats 1
#define JUCE_MODULE_AVAILABLE_juce_audio_processors 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_core 1
#define JUCE_MODULE_AVAILABLE_juce_cryptography 1 #define JUCE_MODULE_AVAILABLE_juce_cryptography 1
#define JUCE_MODULE_AVAILABLE_juce_data_structures 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_devices/juce_audio_devices.h"
#include "modules/juce_audio_formats/juce_audio_formats.h" #include "modules/juce_audio_formats/juce_audio_formats.h"
#include "modules/juce_audio_processors/juce_audio_processors.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_core/juce_core.h"
#include "modules/juce_cryptography/juce_cryptography.h" #include "modules/juce_cryptography/juce_cryptography.h"
#include "modules/juce_data_structures/juce_data_structures.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_devices" showAllCode="1"/>
<MODULE id="juce_audio_formats" showAllCode="1"/> <MODULE id="juce_audio_formats" showAllCode="1"/>
<MODULE id="juce_audio_processors" showAllCode="1"/> <MODULE id="juce_audio_processors" showAllCode="1"/>
<MODULE id="juce_audio_utils" showAllCode="1"/>
</MODULES> </MODULES>
</JUCERPROJECT> </JUCERPROJECT>

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

@@ -55,6 +55,10 @@
#include <Cocoa/Cocoa.h> #include <Cocoa/Cocoa.h>
#if JUCE_SUPPORT_CARBON #if JUCE_SUPPORT_CARBON
#define Point CarbonDummyPointName
#define Component CarbonDummyCompName
#include <Carbon/Carbon.h> #include <Carbon/Carbon.h>
#undef Point
#undef Component
#endif #endif
#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); bool saveToFXBFile (MemoryBlock& dest, bool isFXB, int maxSizeMB);
int getVersionNumber() const noexcept { return effect != nullptr ? effect->version : 0; } 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); void setPower (const bool on);
@@ -1138,7 +1138,7 @@ public:
pluginWindow = None; pluginWindow = None;
pluginProc = None; pluginProc = None;
#else #else
addAndMakeVisible (innerWrapper = new InnerWrapperComponent (this));
addAndMakeVisible (innerWrapper = new InnerWrapperComponent (*this));
#endif #endif
activeVSTWindows.add (this); activeVSTWindows.add (this);
@@ -1752,15 +1752,15 @@ private:
#endif #endif
#if JUCE_MAC #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 class InnerWrapperComponent : public CarbonViewWrapperComponent
{ {
public: public:
InnerWrapperComponent (VSTPluginWindow* const owner_)
InnerWrapperComponent (VSTPluginWindow& owner_)
: owner (owner_), : owner (owner_),
alreadyInside (false) alreadyInside (false)
{ {
@@ -1773,24 +1773,24 @@ private:
HIViewRef attachView (WindowRef windowRef, HIViewRef rootView) HIViewRef attachView (WindowRef windowRef, HIViewRef rootView)
{ {
owner->openPluginWindow (windowRef);
owner.openPluginWindow (windowRef);
return 0; return 0;
} }
void removeView (HIViewRef) 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) bool getEmbeddedViewSize (int& w, int& h)
{ {
ERect* rect = nullptr; ERect* rect = nullptr;
owner->dispatch (effEditGetRect, 0, 0, &rect, 0);
owner.dispatch (effEditGetRect, 0, 0, &rect, 0);
w = rect->right - rect->left; w = rect->right - rect->left;
h = rect->bottom - rect->top; h = rect->bottom - rect->top;
return true; return true;
@@ -1802,7 +1802,7 @@ private:
{ {
alreadyInside = true; alreadyInside = true;
getTopLevelComponent()->toFront (true); getTopLevelComponent()->toFront (true);
owner->dispatch (effEditMouse, x, y, 0, 0);
owner.dispatch (effEditMouse, x, y, 0, 0);
alreadyInside = false; alreadyInside = false;
} }
else else
@@ -1824,13 +1824,15 @@ private:
r.top = pos.getY(); r.top = pos.getY();
r.bottom = r.top + getHeight(); r.bottom = r.top + getHeight();
owner->dispatch (effEditDraw, 0, 0, &r, 0);
owner.dispatch (effEditDraw, 0, 0, &r, 0);
} }
} }
private: private:
VSTPluginWindow* const owner;
VSTPluginWindow& owner;
bool alreadyInside; bool alreadyInside;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InnerWrapperComponent);
}; };
friend class InnerWrapperComponent; friend class InnerWrapperComponent;
@@ -1838,7 +1840,8 @@ private:
void resized() void resized()
{ {
innerWrapper->setSize (getWidth(), getHeight());
if (innerWrapper != nullptr)
innerWrapper->setSize (getWidth(), getHeight());
} }
#endif #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); unsigned int v = dispatch (effGetVendorVersion, 0, 0, 0, 0);
@@ -2401,7 +2404,7 @@ int VSTPluginInstance::getUID() const
return uid; return uid;
} }
const String VSTPluginInstance::getCategory() const
String VSTPluginInstance::getCategory() const
{ {
const char* result = nullptr; 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 #define JUCE_DONT_DEFINE_MACROS 1
#include "../juce_core/native/juce_BasicNativeHeaders.h" #include "../juce_core/native/juce_BasicNativeHeaders.h"
#include "juce_audio_processors.h" #include "juce_audio_processors.h"
#include "../juce_gui_extra/juce_gui_extra.h"
//============================================================================== //==============================================================================
#if JUCE_MAC #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_gui_basics/juce_gui_basics.h"
#include "../juce_audio_basics/juce_audio_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. */ /** Returns the object that this ScopedPointer refers to. */
inline operator ObjectType*() const noexcept { return object; } 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. */ /** Returns the object that this ScopedPointer refers to. */
inline ObjectType& operator*() const noexcept { return *object; } 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 This class lets you launch an executable, and read its output. You can also
use it to check whether the child process has finished. use it to check whether the child process has finished.
*/ */
class ChildProcess
class JUCE_API ChildProcess
{ {
public: public:
//==============================================================================
/** Creates a process object. /** Creates a process object.
To actually launch the process, use start(). 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; return;
carbonWindow = [[NSWindow alloc] initWithWindowRef: wrapperWindow]; 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)); embeddedView = attachView (wrapperWindow, HIViewGetRoot (wrapperWindow));
@@ -130,6 +129,14 @@ public:
if (wrapperWindow != 0) if (wrapperWindow != 0)
{ {
NSWindow* ownerWindow = getOwnerWindow();
if ([[ownerWindow childWindows] count] > 0)
{
[ownerWindow removeChildWindow: carbonWindow];
[carbonWindow close];
}
RemoveEventHandler (eventHandlerRef); RemoveEventHandler (eventHandlerRef);
DisposeWindow (wrapperWindow); DisposeWindow (wrapperWindow);
wrapperWindow = 0; wrapperWindow = 0;
@@ -275,6 +282,8 @@ protected:
Time creationTime; Time creationTime;
EventHandlerRef eventHandlerRef; EventHandlerRef eventHandlerRef;
NSWindow* getOwnerWindow() const { return [((NSView*) getWindowHandle()) window]; }
}; };
#endif // __JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_JUCEHEADER__ #endif // __JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_JUCEHEADER__

Loading…
Cancel
Save