1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-31 03:00:05 +00:00

Cleaned up and restructured some app startup code. Updated some iPhone settings.

This commit is contained in:
Julian Storer 2010-07-10 11:41:07 +01:00
parent 7f643bc7e0
commit 6c4d8023bd
54 changed files with 1499 additions and 990 deletions

View file

@ -101,6 +101,7 @@ OBJECTS := \
$(OBJDIR)/juce_ValueTree_f822be84.o \
$(OBJDIR)/juce_Variant_4f31c35a.o \
$(OBJDIR)/juce_FileLogger_7858478e.o \
$(OBJDIR)/juce_Initialisation_fec765a9.o \
$(OBJDIR)/juce_Logger_4f4f7f72.o \
$(OBJDIR)/juce_PerformanceCounter_6422080e.o \
$(OBJDIR)/juce_Random_36899d25.o \
@ -664,6 +665,11 @@ $(OBJDIR)/juce_FileLogger_7858478e.o: ../../src/core/juce_FileLogger.cpp
@echo "Compiling juce_FileLogger.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/juce_Initialisation_fec765a9.o: ../../src/core/juce_Initialisation.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling juce_Initialisation.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/juce_Logger_4f4f7f72.o: ../../src/core/juce_Logger.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling juce_Logger.cpp"

View file

@ -70,6 +70,7 @@
A230949FF8848D5E923F9083 = { isa = PBXBuildFile; fileRef = 5D27EE211D9BFF6A58C4DC42; };
11162E9812CFB0E738A7E2E6 = { isa = PBXBuildFile; fileRef = 4DF9D333038A442870668D31; };
C682BEA7DB70FDC7C6BA2D6E = { isa = PBXBuildFile; fileRef = D66C00E06B06EAD3B5257DD6; };
77104E86801B6CAD01F963F4 = { isa = PBXBuildFile; fileRef = 5B789AAC295BA4BB6D5AD4A3; };
6A53DA58B55E2DE7241BF2C8 = { isa = PBXBuildFile; fileRef = 4555F03DBD059EEDECEF9F85; };
0FF71870483AC46D5B7AC5B0 = { isa = PBXBuildFile; fileRef = DF6CAC67C0F2D379BDA03062; };
029702B3954F6968AE804B21 = { isa = PBXBuildFile; fileRef = 2C6C4AB5D82221AB303FBB34; };
@ -416,6 +417,23 @@
A22A0F77C15B1E4A8F2EB42A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiMessageCollector.h; path = ../../src/audio/midi/juce_MidiMessageCollector.h; sourceTree = SOURCE_ROOT; };
78D29BB5C76CCF7C21EC0DAF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiMessageSequence.cpp; path = ../../src/audio/midi/juce_MidiMessageSequence.cpp; sourceTree = SOURCE_ROOT; };
DD3886D45B5988B4DAC2D049 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiMessageSequence.h; path = ../../src/audio/midi/juce_MidiMessageSequence.h; sourceTree = SOURCE_ROOT; };
1D420B75C62607886A571698 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_AU_Wrapper.mm; path = "../../extras/audio plugins/wrapper/AU/juce_AU_Wrapper.mm"; sourceTree = SOURCE_ROOT; };
451684777825E63BCAD84F80 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RTAS_DigiCode_Header.h; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode_Header.h"; sourceTree = SOURCE_ROOT; };
34AB1C83D6D5BB468415EF9F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_DigiCode1.cpp; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode1.cpp"; sourceTree = SOURCE_ROOT; };
1DF9F1811D91207E3399ED73 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_DigiCode2.cpp; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode2.cpp"; sourceTree = SOURCE_ROOT; };
0756D78F534D94A6D21DEB66 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_DigiCode3.cpp; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode3.cpp"; sourceTree = SOURCE_ROOT; };
7AA357732543414F6B93B193 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_RTAS_MacUtilities.mm; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_MacUtilities.mm"; sourceTree = SOURCE_ROOT; };
E99897FE7C6D6BF9FFDEBC08 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_WinUtilities.cpp; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_WinUtilities.cpp"; sourceTree = SOURCE_ROOT; };
84BB474B771F9ED7E2267589 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_Wrapper.cpp; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_Wrapper.cpp"; sourceTree = SOURCE_ROOT; };
8B169373A9223571680BFB71 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_VST_Wrapper.cpp; path = "../../extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp"; sourceTree = SOURCE_ROOT; };
4238044BB69E2FAEC7B16982 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_VST_Wrapper.mm; path = "../../extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm"; sourceTree = SOURCE_ROOT; };
6C5940264E5E38729E74EFD8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFilterStreamer.cpp; path = "../../extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.cpp"; sourceTree = SOURCE_ROOT; };
955532BC480632ECF12F0481 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFilterStreamer.h; path = "../../extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.h"; sourceTree = SOURCE_ROOT; };
235F9F5E2A3113B6B774869C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StandaloneFilterWindow.cpp; path = "../../extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.cpp"; sourceTree = SOURCE_ROOT; };
014FB7F784D205EC810AAA52 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StandaloneFilterWindow.h; path = "../../extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.h"; sourceTree = SOURCE_ROOT; };
6B3896A2CB1BB379BCDD9575 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_IncludeCharacteristics.h; path = "../../extras/audio plugins/wrapper/juce_IncludeCharacteristics.h"; sourceTree = SOURCE_ROOT; };
6F4941C73B96CE8028AD7999 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PluginHeaders.h; path = "../../extras/audio plugins/wrapper/juce_PluginHeaders.h"; sourceTree = SOURCE_ROOT; };
21EAF73E1E8D839ABDF6B1CF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PluginHostType.h; path = "../../extras/audio plugins/wrapper/juce_PluginHostType.h"; sourceTree = SOURCE_ROOT; };
AA6DF2B7514484F0A2B06DAA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioUnitPluginFormat.h; path = ../../src/audio/plugins/formats/juce_AudioUnitPluginFormat.h; sourceTree = SOURCE_ROOT; };
68D759C0812F1B2D8B1F0288 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_AudioUnitPluginFormat.mm; path = ../../src/audio/plugins/formats/juce_AudioUnitPluginFormat.mm; sourceTree = SOURCE_ROOT; };
6125D4A328E474BE7A48EF59 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DirectXPluginFormat.h; path = ../../src/audio/plugins/formats/juce_DirectXPluginFormat.h; sourceTree = SOURCE_ROOT; };
@ -487,6 +505,7 @@
45AFA4791D59FBB1B548FB2C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ByteOrder.h; path = ../../src/core/juce_ByteOrder.h; sourceTree = SOURCE_ROOT; };
D66C00E06B06EAD3B5257DD6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileLogger.cpp; path = ../../src/core/juce_FileLogger.cpp; sourceTree = SOURCE_ROOT; };
C8441B7B3E4CCD4A257B4BFE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileLogger.h; path = ../../src/core/juce_FileLogger.h; sourceTree = SOURCE_ROOT; };
5B789AAC295BA4BB6D5AD4A3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Initialisation.cpp; path = ../../src/core/juce_Initialisation.cpp; sourceTree = SOURCE_ROOT; };
92ACFFCCCD1C85A0F8C6F80F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Initialisation.h; path = ../../src/core/juce_Initialisation.h; sourceTree = SOURCE_ROOT; };
4555F03DBD059EEDECEF9F85 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Logger.cpp; path = ../../src/core/juce_Logger.cpp; sourceTree = SOURCE_ROOT; };
63F44EC0485FCA050814967E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Logger.h; path = ../../src/core/juce_Logger.h; sourceTree = SOURCE_ROOT; };
@ -1087,6 +1106,32 @@
A22A0F77C15B1E4A8F2EB42A,
78D29BB5C76CCF7C21EC0DAF,
DD3886D45B5988B4DAC2D049 ); name = midi; sourceTree = "<group>"; };
844109733F09B5915AF75797 = { isa = PBXGroup; children = (
1D420B75C62607886A571698 ); name = AU; sourceTree = "<group>"; };
FAA6189E385BD13EFEFE2E08 = { isa = PBXGroup; children = (
451684777825E63BCAD84F80,
34AB1C83D6D5BB468415EF9F,
1DF9F1811D91207E3399ED73,
0756D78F534D94A6D21DEB66,
7AA357732543414F6B93B193,
E99897FE7C6D6BF9FFDEBC08,
84BB474B771F9ED7E2267589 ); name = RTAS; sourceTree = "<group>"; };
EBF4EE8E84A562DE2EBAE6BB = { isa = PBXGroup; children = (
8B169373A9223571680BFB71,
4238044BB69E2FAEC7B16982 ); name = VST; sourceTree = "<group>"; };
0F0D49D13522C94A0F37D4AB = { isa = PBXGroup; children = (
6C5940264E5E38729E74EFD8,
955532BC480632ECF12F0481,
235F9F5E2A3113B6B774869C,
014FB7F784D205EC810AAA52 ); name = Standalone; sourceTree = "<group>"; };
2805C9C796CD7D77C2D662BF = { isa = PBXGroup; children = (
844109733F09B5915AF75797,
FAA6189E385BD13EFEFE2E08,
EBF4EE8E84A562DE2EBAE6BB,
0F0D49D13522C94A0F37D4AB,
6B3896A2CB1BB379BCDD9575,
6F4941C73B96CE8028AD7999,
21EAF73E1E8D839ABDF6B1CF ); name = "wrapper code"; sourceTree = "<group>"; };
6FDCF1A0063FC0ABA27273A0 = { isa = PBXGroup; children = (
AA6DF2B7514484F0A2B06DAA,
68D759C0812F1B2D8B1F0288,
@ -1097,6 +1142,7 @@
BE58578E96493E70D76E080F,
F13BFC8AE68ECB6E063BD8D4 ); name = formats; sourceTree = "<group>"; };
7AA82894558E047D7D5111E1 = { isa = PBXGroup; children = (
2805C9C796CD7D77C2D662BF,
6FDCF1A0063FC0ABA27273A0,
2CC1A8309CB8301FF9A22371,
C4C9911456CA7EADB36E53E3,
@ -1174,6 +1220,7 @@
45AFA4791D59FBB1B548FB2C,
D66C00E06B06EAD3B5257DD6,
C8441B7B3E4CCD4A257B4BFE,
5B789AAC295BA4BB6D5AD4A3,
92ACFFCCCD1C85A0F8C6F80F,
4555F03DBD059EEDECEF9F85,
63F44EC0485FCA050814967E,
@ -1911,6 +1958,7 @@
A230949FF8848D5E923F9083,
11162E9812CFB0E738A7E2E6,
C682BEA7DB70FDC7C6BA2D6E,
77104E86801B6CAD01F963F4,
6A53DA58B55E2DE7241BF2C8,
0FF71870483AC46D5B7AC5B0,
029702B3954F6968AE804B21,

View file

@ -196,6 +196,105 @@
<File RelativePath="..\..\src\audio\midi\juce_MidiMessageSequence.h"/>
</Filter>
<Filter Name="plugins">
<Filter Name="wrapper code">
<Filter Name="AU">
<File RelativePath="..\..\extras\audio plugins\wrapper\AU\juce_AU_Wrapper.mm"/>
</Filter>
<Filter Name="RTAS">
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode_Header.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode1.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode2.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode3.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_MacUtilities.mm"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_WinUtilities.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_Wrapper.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
</Filter>
<Filter Name="VST">
<File RelativePath="..\..\extras\audio plugins\wrapper\VST\juce_VST_Wrapper.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\VST\juce_VST_Wrapper.mm"/>
</Filter>
<Filter Name="Standalone">
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_AudioFilterStreamer.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_AudioFilterStreamer.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_StandaloneFilterWindow.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_StandaloneFilterWindow.h"/>
</Filter>
<File RelativePath="..\..\extras\audio plugins\wrapper\juce_IncludeCharacteristics.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\juce_PluginHeaders.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\juce_PluginHostType.h"/>
</Filter>
<Filter Name="formats">
<File RelativePath="..\..\src\audio\plugins\formats\juce_AudioUnitPluginFormat.h"/>
<File RelativePath="..\..\src\audio\plugins\formats\juce_AudioUnitPluginFormat.mm"/>
@ -278,6 +377,7 @@
<File RelativePath="..\..\src\core\juce_ByteOrder.h"/>
<File RelativePath="..\..\src\core\juce_FileLogger.cpp"/>
<File RelativePath="..\..\src\core\juce_FileLogger.h"/>
<File RelativePath="..\..\src\core\juce_Initialisation.cpp"/>
<File RelativePath="..\..\src\core\juce_Initialisation.h"/>
<File RelativePath="..\..\src\core\juce_Logger.cpp"/>
<File RelativePath="..\..\src\core\juce_Logger.h"/>

View file

@ -196,6 +196,105 @@
<File RelativePath="..\..\src\audio\midi\juce_MidiMessageSequence.h"/>
</Filter>
<Filter Name="plugins">
<Filter Name="wrapper code">
<Filter Name="AU">
<File RelativePath="..\..\extras\audio plugins\wrapper\AU\juce_AU_Wrapper.mm"/>
</Filter>
<Filter Name="RTAS">
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode_Header.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode1.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode2.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode3.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_MacUtilities.mm"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_WinUtilities.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_Wrapper.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
</Filter>
<Filter Name="VST">
<File RelativePath="..\..\extras\audio plugins\wrapper\VST\juce_VST_Wrapper.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\VST\juce_VST_Wrapper.mm"/>
</Filter>
<Filter Name="Standalone">
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_AudioFilterStreamer.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_AudioFilterStreamer.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_StandaloneFilterWindow.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_StandaloneFilterWindow.h"/>
</Filter>
<File RelativePath="..\..\extras\audio plugins\wrapper\juce_IncludeCharacteristics.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\juce_PluginHeaders.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\juce_PluginHostType.h"/>
</Filter>
<Filter Name="formats">
<File RelativePath="..\..\src\audio\plugins\formats\juce_AudioUnitPluginFormat.h"/>
<File RelativePath="..\..\src\audio\plugins\formats\juce_AudioUnitPluginFormat.mm"/>
@ -278,6 +377,7 @@
<File RelativePath="..\..\src\core\juce_ByteOrder.h"/>
<File RelativePath="..\..\src\core\juce_FileLogger.cpp"/>
<File RelativePath="..\..\src\core\juce_FileLogger.h"/>
<File RelativePath="..\..\src\core\juce_Initialisation.cpp"/>
<File RelativePath="..\..\src\core\juce_Initialisation.h"/>
<File RelativePath="..\..\src\core\juce_Logger.cpp"/>
<File RelativePath="..\..\src\core\juce_Logger.h"/>

View file

@ -198,6 +198,105 @@
<File RelativePath="..\..\src\audio\midi\juce_MidiMessageSequence.h"/>
</Filter>
<Filter Name="plugins">
<Filter Name="wrapper code">
<Filter Name="AU">
<File RelativePath="..\..\extras\audio plugins\wrapper\AU\juce_AU_Wrapper.mm"/>
</Filter>
<Filter Name="RTAS">
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode_Header.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode1.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode2.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode3.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_MacUtilities.mm"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_WinUtilities.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_Wrapper.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
</Filter>
<Filter Name="VST">
<File RelativePath="..\..\extras\audio plugins\wrapper\VST\juce_VST_Wrapper.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\VST\juce_VST_Wrapper.mm"/>
</Filter>
<Filter Name="Standalone">
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_AudioFilterStreamer.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_AudioFilterStreamer.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_StandaloneFilterWindow.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\extras\audio plugins\wrapper\Standalone\juce_StandaloneFilterWindow.h"/>
</Filter>
<File RelativePath="..\..\extras\audio plugins\wrapper\juce_IncludeCharacteristics.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\juce_PluginHeaders.h"/>
<File RelativePath="..\..\extras\audio plugins\wrapper\juce_PluginHostType.h"/>
</Filter>
<Filter Name="formats">
<File RelativePath="..\..\src\audio\plugins\formats\juce_AudioUnitPluginFormat.h"/>
<File RelativePath="..\..\src\audio\plugins\formats\juce_AudioUnitPluginFormat.mm"/>
@ -280,6 +379,7 @@
<File RelativePath="..\..\src\core\juce_ByteOrder.h"/>
<File RelativePath="..\..\src\core\juce_FileLogger.cpp"/>
<File RelativePath="..\..\src\core\juce_FileLogger.h"/>
<File RelativePath="..\..\src\core\juce_Initialisation.cpp"/>
<File RelativePath="..\..\src\core\juce_Initialisation.h"/>
<File RelativePath="..\..\src\core\juce_Logger.cpp"/>
<File RelativePath="..\..\src\core\juce_Logger.h"/>

View file

@ -184,6 +184,7 @@
<ClCompile Include="..\..\src\containers\juce_ValueTree.cpp"/>
<ClCompile Include="..\..\src\containers\juce_Variant.cpp"/>
<ClCompile Include="..\..\src\core\juce_FileLogger.cpp"/>
<ClCompile Include="..\..\src\core\juce_Initialisation.cpp"/>
<ClCompile Include="..\..\src\core\juce_Logger.cpp"/>
<ClCompile Include="..\..\src\core\juce_PerformanceCounter.cpp"/>
<ClCompile Include="..\..\src\core\juce_Random.cpp"/>
@ -468,6 +469,12 @@
<ClInclude Include="..\..\src\audio\midi\juce_MidiMessage.h"/>
<ClInclude Include="..\..\src\audio\midi\juce_MidiMessageCollector.h"/>
<ClInclude Include="..\..\src\audio\midi\juce_MidiMessageSequence.h"/>
<ClInclude Include="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode_Header.h"/>
<ClInclude Include="..\..\extras\audio plugins\wrapper\Standalone\juce_AudioFilterStreamer.h"/>
<ClInclude Include="..\..\extras\audio plugins\wrapper\Standalone\juce_StandaloneFilterWindow.h"/>
<ClInclude Include="..\..\extras\audio plugins\wrapper\juce_IncludeCharacteristics.h"/>
<ClInclude Include="..\..\extras\audio plugins\wrapper\juce_PluginHeaders.h"/>
<ClInclude Include="..\..\extras\audio plugins\wrapper\juce_PluginHostType.h"/>
<ClInclude Include="..\..\src\audio\plugins\formats\juce_AudioUnitPluginFormat.h"/>
<ClInclude Include="..\..\src\audio\plugins\formats\juce_DirectXPluginFormat.h"/>
<ClInclude Include="..\..\src\audio\plugins\formats\juce_LADSPAPluginFormat.h"/>

View file

@ -32,6 +32,21 @@
<Filter Include="Juce\Source\audio\plugins">
<UniqueIdentifier>{726F1543-3280-C554-0844-B5AF99C2392D}</UniqueIdentifier>
</Filter>
<Filter Include="Juce\Source\audio\plugins\wrapper code">
<UniqueIdentifier>{9C8B462A-0783-D028-ACCC-B099F374113E}</UniqueIdentifier>
</Filter>
<Filter Include="Juce\Source\audio\plugins\wrapper code\AU">
<UniqueIdentifier>{7576D1E4-5D21-3FA6-7AB5-DCA6983C448C}</UniqueIdentifier>
</Filter>
<Filter Include="Juce\Source\audio\plugins\wrapper code\RTAS">
<UniqueIdentifier>{2CF49E64-7F33-4B2A-255E-A9CD74998334}</UniqueIdentifier>
</Filter>
<Filter Include="Juce\Source\audio\plugins\wrapper code\VST">
<UniqueIdentifier>{9958BD40-C957-0509-6285-D04460D9AA99}</UniqueIdentifier>
</Filter>
<Filter Include="Juce\Source\audio\plugins\wrapper code\Standalone">
<UniqueIdentifier>{6936CA53-77BA-C4D2-1DB8-7BE972C31D08}</UniqueIdentifier>
</Filter>
<Filter Include="Juce\Source\audio\plugins\formats">
<UniqueIdentifier>{46220919-DA8A-82C3-B033-1939CFCB5579}</UniqueIdentifier>
</Filter>
@ -271,6 +286,39 @@
<ClCompile Include="..\..\src\audio\midi\juce_MidiMessageSequence.cpp">
<Filter>Juce\Source\audio\midi</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\AU\juce_AU_Wrapper.mm">
<Filter>Juce\Source\audio\plugins\wrapper code\AU</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode1.cpp">
<Filter>Juce\Source\audio\plugins\wrapper code\RTAS</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode2.cpp">
<Filter>Juce\Source\audio\plugins\wrapper code\RTAS</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode3.cpp">
<Filter>Juce\Source\audio\plugins\wrapper code\RTAS</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_MacUtilities.mm">
<Filter>Juce\Source\audio\plugins\wrapper code\RTAS</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_WinUtilities.cpp">
<Filter>Juce\Source\audio\plugins\wrapper code\RTAS</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_Wrapper.cpp">
<Filter>Juce\Source\audio\plugins\wrapper code\RTAS</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\VST\juce_VST_Wrapper.cpp">
<Filter>Juce\Source\audio\plugins\wrapper code\VST</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\VST\juce_VST_Wrapper.mm">
<Filter>Juce\Source\audio\plugins\wrapper code\VST</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\Standalone\juce_AudioFilterStreamer.cpp">
<Filter>Juce\Source\audio\plugins\wrapper code\Standalone</Filter>
</ClCompile>
<ClCompile Include="..\..\extras\audio plugins\wrapper\Standalone\juce_StandaloneFilterWindow.cpp">
<Filter>Juce\Source\audio\plugins\wrapper code\Standalone</Filter>
</ClCompile>
<ClCompile Include="..\..\src\audio\plugins\formats\juce_AudioUnitPluginFormat.mm">
<Filter>Juce\Source\audio\plugins\formats</Filter>
</ClCompile>
@ -352,6 +400,9 @@
<ClCompile Include="..\..\src\core\juce_FileLogger.cpp">
<Filter>Juce\Source\core</Filter>
</ClCompile>
<ClCompile Include="..\..\src\core\juce_Initialisation.cpp">
<Filter>Juce\Source\core</Filter>
</ClCompile>
<ClCompile Include="..\..\src\core\juce_Logger.cpp">
<Filter>Juce\Source\core</Filter>
</ClCompile>
@ -1278,6 +1329,24 @@
<ClInclude Include="..\..\src\audio\midi\juce_MidiMessageSequence.h">
<Filter>Juce\Source\audio\midi</Filter>
</ClInclude>
<ClInclude Include="..\..\extras\audio plugins\wrapper\RTAS\juce_RTAS_DigiCode_Header.h">
<Filter>Juce\Source\audio\plugins\wrapper code\RTAS</Filter>
</ClInclude>
<ClInclude Include="..\..\extras\audio plugins\wrapper\Standalone\juce_AudioFilterStreamer.h">
<Filter>Juce\Source\audio\plugins\wrapper code\Standalone</Filter>
</ClInclude>
<ClInclude Include="..\..\extras\audio plugins\wrapper\Standalone\juce_StandaloneFilterWindow.h">
<Filter>Juce\Source\audio\plugins\wrapper code\Standalone</Filter>
</ClInclude>
<ClInclude Include="..\..\extras\audio plugins\wrapper\juce_IncludeCharacteristics.h">
<Filter>Juce\Source\audio\plugins\wrapper code</Filter>
</ClInclude>
<ClInclude Include="..\..\extras\audio plugins\wrapper\juce_PluginHeaders.h">
<Filter>Juce\Source\audio\plugins\wrapper code</Filter>
</ClInclude>
<ClInclude Include="..\..\extras\audio plugins\wrapper\juce_PluginHostType.h">
<Filter>Juce\Source\audio\plugins\wrapper code</Filter>
</ClInclude>
<ClInclude Include="..\..\src\audio\plugins\formats\juce_AudioUnitPluginFormat.h">
<Filter>Juce\Source\audio\plugins\formats</Filter>
</ClInclude>

View file

@ -70,6 +70,7 @@
A230949FF8848D5E923F9083 = { isa = PBXBuildFile; fileRef = 5D27EE211D9BFF6A58C4DC42; };
11162E9812CFB0E738A7E2E6 = { isa = PBXBuildFile; fileRef = 4DF9D333038A442870668D31; };
C682BEA7DB70FDC7C6BA2D6E = { isa = PBXBuildFile; fileRef = D66C00E06B06EAD3B5257DD6; };
77104E86801B6CAD01F963F4 = { isa = PBXBuildFile; fileRef = 5B789AAC295BA4BB6D5AD4A3; };
6A53DA58B55E2DE7241BF2C8 = { isa = PBXBuildFile; fileRef = 4555F03DBD059EEDECEF9F85; };
0FF71870483AC46D5B7AC5B0 = { isa = PBXBuildFile; fileRef = DF6CAC67C0F2D379BDA03062; };
029702B3954F6968AE804B21 = { isa = PBXBuildFile; fileRef = 2C6C4AB5D82221AB303FBB34; };
@ -416,6 +417,23 @@
A22A0F77C15B1E4A8F2EB42A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiMessageCollector.h; path = ../../src/audio/midi/juce_MidiMessageCollector.h; sourceTree = SOURCE_ROOT; };
78D29BB5C76CCF7C21EC0DAF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiMessageSequence.cpp; path = ../../src/audio/midi/juce_MidiMessageSequence.cpp; sourceTree = SOURCE_ROOT; };
DD3886D45B5988B4DAC2D049 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiMessageSequence.h; path = ../../src/audio/midi/juce_MidiMessageSequence.h; sourceTree = SOURCE_ROOT; };
1D420B75C62607886A571698 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_AU_Wrapper.mm; path = "../../extras/audio plugins/wrapper/AU/juce_AU_Wrapper.mm"; sourceTree = SOURCE_ROOT; };
451684777825E63BCAD84F80 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RTAS_DigiCode_Header.h; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode_Header.h"; sourceTree = SOURCE_ROOT; };
34AB1C83D6D5BB468415EF9F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_DigiCode1.cpp; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode1.cpp"; sourceTree = SOURCE_ROOT; };
1DF9F1811D91207E3399ED73 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_DigiCode2.cpp; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode2.cpp"; sourceTree = SOURCE_ROOT; };
0756D78F534D94A6D21DEB66 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_DigiCode3.cpp; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode3.cpp"; sourceTree = SOURCE_ROOT; };
7AA357732543414F6B93B193 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_RTAS_MacUtilities.mm; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_MacUtilities.mm"; sourceTree = SOURCE_ROOT; };
E99897FE7C6D6BF9FFDEBC08 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_WinUtilities.cpp; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_WinUtilities.cpp"; sourceTree = SOURCE_ROOT; };
84BB474B771F9ED7E2267589 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_Wrapper.cpp; path = "../../extras/audio plugins/wrapper/RTAS/juce_RTAS_Wrapper.cpp"; sourceTree = SOURCE_ROOT; };
8B169373A9223571680BFB71 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_VST_Wrapper.cpp; path = "../../extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp"; sourceTree = SOURCE_ROOT; };
4238044BB69E2FAEC7B16982 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_VST_Wrapper.mm; path = "../../extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm"; sourceTree = SOURCE_ROOT; };
6C5940264E5E38729E74EFD8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFilterStreamer.cpp; path = "../../extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.cpp"; sourceTree = SOURCE_ROOT; };
955532BC480632ECF12F0481 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFilterStreamer.h; path = "../../extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.h"; sourceTree = SOURCE_ROOT; };
235F9F5E2A3113B6B774869C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StandaloneFilterWindow.cpp; path = "../../extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.cpp"; sourceTree = SOURCE_ROOT; };
014FB7F784D205EC810AAA52 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StandaloneFilterWindow.h; path = "../../extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.h"; sourceTree = SOURCE_ROOT; };
6B3896A2CB1BB379BCDD9575 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_IncludeCharacteristics.h; path = "../../extras/audio plugins/wrapper/juce_IncludeCharacteristics.h"; sourceTree = SOURCE_ROOT; };
6F4941C73B96CE8028AD7999 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PluginHeaders.h; path = "../../extras/audio plugins/wrapper/juce_PluginHeaders.h"; sourceTree = SOURCE_ROOT; };
21EAF73E1E8D839ABDF6B1CF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PluginHostType.h; path = "../../extras/audio plugins/wrapper/juce_PluginHostType.h"; sourceTree = SOURCE_ROOT; };
AA6DF2B7514484F0A2B06DAA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioUnitPluginFormat.h; path = ../../src/audio/plugins/formats/juce_AudioUnitPluginFormat.h; sourceTree = SOURCE_ROOT; };
68D759C0812F1B2D8B1F0288 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_AudioUnitPluginFormat.mm; path = ../../src/audio/plugins/formats/juce_AudioUnitPluginFormat.mm; sourceTree = SOURCE_ROOT; };
6125D4A328E474BE7A48EF59 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DirectXPluginFormat.h; path = ../../src/audio/plugins/formats/juce_DirectXPluginFormat.h; sourceTree = SOURCE_ROOT; };
@ -487,6 +505,7 @@
45AFA4791D59FBB1B548FB2C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ByteOrder.h; path = ../../src/core/juce_ByteOrder.h; sourceTree = SOURCE_ROOT; };
D66C00E06B06EAD3B5257DD6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileLogger.cpp; path = ../../src/core/juce_FileLogger.cpp; sourceTree = SOURCE_ROOT; };
C8441B7B3E4CCD4A257B4BFE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileLogger.h; path = ../../src/core/juce_FileLogger.h; sourceTree = SOURCE_ROOT; };
5B789AAC295BA4BB6D5AD4A3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Initialisation.cpp; path = ../../src/core/juce_Initialisation.cpp; sourceTree = SOURCE_ROOT; };
92ACFFCCCD1C85A0F8C6F80F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Initialisation.h; path = ../../src/core/juce_Initialisation.h; sourceTree = SOURCE_ROOT; };
4555F03DBD059EEDECEF9F85 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Logger.cpp; path = ../../src/core/juce_Logger.cpp; sourceTree = SOURCE_ROOT; };
63F44EC0485FCA050814967E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Logger.h; path = ../../src/core/juce_Logger.h; sourceTree = SOURCE_ROOT; };
@ -1087,6 +1106,32 @@
A22A0F77C15B1E4A8F2EB42A,
78D29BB5C76CCF7C21EC0DAF,
DD3886D45B5988B4DAC2D049 ); name = midi; sourceTree = "<group>"; };
844109733F09B5915AF75797 = { isa = PBXGroup; children = (
1D420B75C62607886A571698 ); name = AU; sourceTree = "<group>"; };
FAA6189E385BD13EFEFE2E08 = { isa = PBXGroup; children = (
451684777825E63BCAD84F80,
34AB1C83D6D5BB468415EF9F,
1DF9F1811D91207E3399ED73,
0756D78F534D94A6D21DEB66,
7AA357732543414F6B93B193,
E99897FE7C6D6BF9FFDEBC08,
84BB474B771F9ED7E2267589 ); name = RTAS; sourceTree = "<group>"; };
EBF4EE8E84A562DE2EBAE6BB = { isa = PBXGroup; children = (
8B169373A9223571680BFB71,
4238044BB69E2FAEC7B16982 ); name = VST; sourceTree = "<group>"; };
0F0D49D13522C94A0F37D4AB = { isa = PBXGroup; children = (
6C5940264E5E38729E74EFD8,
955532BC480632ECF12F0481,
235F9F5E2A3113B6B774869C,
014FB7F784D205EC810AAA52 ); name = Standalone; sourceTree = "<group>"; };
2805C9C796CD7D77C2D662BF = { isa = PBXGroup; children = (
844109733F09B5915AF75797,
FAA6189E385BD13EFEFE2E08,
EBF4EE8E84A562DE2EBAE6BB,
0F0D49D13522C94A0F37D4AB,
6B3896A2CB1BB379BCDD9575,
6F4941C73B96CE8028AD7999,
21EAF73E1E8D839ABDF6B1CF ); name = "wrapper code"; sourceTree = "<group>"; };
6FDCF1A0063FC0ABA27273A0 = { isa = PBXGroup; children = (
AA6DF2B7514484F0A2B06DAA,
68D759C0812F1B2D8B1F0288,
@ -1097,6 +1142,7 @@
BE58578E96493E70D76E080F,
F13BFC8AE68ECB6E063BD8D4 ); name = formats; sourceTree = "<group>"; };
7AA82894558E047D7D5111E1 = { isa = PBXGroup; children = (
2805C9C796CD7D77C2D662BF,
6FDCF1A0063FC0ABA27273A0,
2CC1A8309CB8301FF9A22371,
C4C9911456CA7EADB36E53E3,
@ -1174,6 +1220,7 @@
45AFA4791D59FBB1B548FB2C,
D66C00E06B06EAD3B5257DD6,
C8441B7B3E4CCD4A257B4BFE,
5B789AAC295BA4BB6D5AD4A3,
92ACFFCCCD1C85A0F8C6F80F,
4555F03DBD059EEDECEF9F85,
63F44EC0485FCA050814967E,
@ -1784,7 +1831,7 @@
SYMROOT = ../../bin;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
DEPLOYMENT_LOCATION = YES;
SDKROOT = iphonesimulator3.0;
SDKROOT = iphonesimulator3.2;
ONLY_ACTIVE_ARCH = YES;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
@ -1803,7 +1850,7 @@
SYMROOT = ../../bin;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
DEPLOYMENT_LOCATION = YES;
SDKROOT = iphonesimulator3.0;
SDKROOT = iphonesimulator3.2;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
@ -1911,6 +1958,7 @@
A230949FF8848D5E923F9083,
11162E9812CFB0E738A7E2E6,
C682BEA7DB70FDC7C6BA2D6E,
77104E86801B6CAD01F963F4,
6A53DA58B55E2DE7241BF2C8,
0FF71870483AC46D5B7AC5B0,
029702B3954F6968AE804B21,

View file

@ -215,6 +215,50 @@
resource="0" file="src/audio/midi/juce_MidiMessageSequence.h"/>
</GROUP>
<GROUP id="rWnJUOyOY" name="plugins">
<GROUP id="2KbZnNZ" name="wrapper code">
<GROUP id="XD6F6id" name="AU">
<FILE id="g8u7Ehw" name="juce_AU_Wrapper.mm" compile="0" resource="0"
file="extras/audio plugins/wrapper/AU/juce_AU_Wrapper.mm"/>
</GROUP>
<GROUP id="3smzJJ1" name="RTAS">
<FILE id="Oi5d14V" name="juce_RTAS_DigiCode_Header.h" compile="0" resource="0"
file="extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode_Header.h"/>
<FILE id="cEggbzN" name="juce_RTAS_DigiCode1.cpp" compile="0" resource="0"
file="extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode1.cpp"/>
<FILE id="dVVlniW" name="juce_RTAS_DigiCode2.cpp" compile="0" resource="0"
file="extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode2.cpp"/>
<FILE id="ydwdTzy" name="juce_RTAS_DigiCode3.cpp" compile="0" resource="0"
file="extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode3.cpp"/>
<FILE id="ehXpXBw" name="juce_RTAS_MacUtilities.mm" compile="0" resource="0"
file="extras/audio plugins/wrapper/RTAS/juce_RTAS_MacUtilities.mm"/>
<FILE id="0mzLwTq" name="juce_RTAS_WinUtilities.cpp" compile="0" resource="0"
file="extras/audio plugins/wrapper/RTAS/juce_RTAS_WinUtilities.cpp"/>
<FILE id="z4sBC3E" name="juce_RTAS_Wrapper.cpp" compile="0" resource="0"
file="extras/audio plugins/wrapper/RTAS/juce_RTAS_Wrapper.cpp"/>
</GROUP>
<GROUP id="YuP52Pz" name="VST">
<FILE id="VDMcLoB" name="juce_VST_Wrapper.cpp" compile="0" resource="0"
file="extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp"/>
<FILE id="XhNhfUW" name="juce_VST_Wrapper.mm" compile="0" resource="0"
file="extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm"/>
</GROUP>
<GROUP id="hhHHjJZ" name="Standalone">
<FILE id="0aPHUJq" name="juce_AudioFilterStreamer.cpp" compile="0"
resource="0" file="extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.cpp"/>
<FILE id="6ml8N6N" name="juce_AudioFilterStreamer.h" compile="0" resource="0"
file="extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.h"/>
<FILE id="l0R8qQC" name="juce_StandaloneFilterWindow.cpp" compile="0"
resource="0" file="extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.cpp"/>
<FILE id="OZmMutP" name="juce_StandaloneFilterWindow.h" compile="0"
resource="0" file="extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.h"/>
</GROUP>
<FILE id="oIRLyr" name="juce_IncludeCharacteristics.h" compile="0"
resource="0" file="extras/audio plugins/wrapper/juce_IncludeCharacteristics.h"/>
<FILE id="UXGF34T" name="juce_PluginHeaders.h" compile="0" resource="0"
file="extras/audio plugins/wrapper/juce_PluginHeaders.h"/>
<FILE id="FYLoUYQ" name="juce_PluginHostType.h" compile="0" resource="0"
file="extras/audio plugins/wrapper/juce_PluginHostType.h"/>
</GROUP>
<GROUP id="8kNdYQE9H" name="formats">
<FILE id="rzrBqySg9" name="juce_AudioUnitPluginFormat.h" compile="0"
resource="0" file="src/audio/plugins/formats/juce_AudioUnitPluginFormat.h"/>
@ -365,6 +409,8 @@
file="src/core/juce_FileLogger.cpp"/>
<FILE id="7nItXGiB" name="juce_FileLogger.h" compile="0" resource="0"
file="src/core/juce_FileLogger.h"/>
<FILE id="eux3SL3" name="juce_Initialisation.cpp" compile="1" resource="0"
file="src/core/juce_Initialisation.cpp"/>
<FILE id="nsfdNZAs" name="juce_Initialisation.h" compile="0" resource="0"
file="src/core/juce_Initialisation.h"/>
<FILE id="43AWfo8b2" name="juce_Logger.cpp" compile="1" resource="0"

View file

@ -102,6 +102,7 @@
#include "../src/core/juce_RelativeTime.cpp"
#include "../src/core/juce_SystemStats.cpp"
#include "../src/core/juce_Time.cpp"
#include "../src/core/juce_Initialisation.cpp"
#include "../src/containers/juce_BigInteger.cpp"
#include "../src/containers/juce_MemoryBlock.cpp"
#include "../src/containers/juce_PropertySet.cpp"

View file

@ -35,7 +35,7 @@ class XCodeProjectExporter : public ProjectExporter
public:
//==============================================================================
static const char* getNameMac() { return "XCode (MacOSX)"; }
static const char* getNameiPhone() { return "XCode (iPhone)"; }
static const char* getNameiOS() { return "XCode (iOS)"; }
static const char* getValueTreeTypeName (bool iPhone) { return iPhone ? "XCODE_IPHONE" : "XCODE_MAC"; }
//==============================================================================
@ -43,12 +43,12 @@ public:
: ProjectExporter (project_, settings_),
iPhone (iPhone_)
{
name = iPhone ? getNameiPhone() : getNameMac();
name = iPhone ? getNameiOS() : getNameMac();
projectIDSalt = hashCode64 (project.getProjectUID());
if (getTargetLocation().toString().isEmpty())
getTargetLocation() = getDefaultBuildsRootFolder() + (iPhone ? "iPhone" : "MacOSX");
getTargetLocation() = getDefaultBuildsRootFolder() + (iPhone ? "iOS" : "MacOSX");
if (getVSTFolder().toString().isEmpty())
getVSTFolder() = "~/SDKs/vstsdk2.4";
@ -566,7 +566,7 @@ private:
if (iPhone)
{
s.add ("SDKROOT = iphonesimulator3.0");
s.add ("SDKROOT = iphonesimulator3.2");
}
else
{

View file

@ -49,7 +49,7 @@ const StringArray ProjectExporter::getExporterNames()
{
StringArray s;
s.add (XCodeProjectExporter::getNameMac());
s.add (XCodeProjectExporter::getNameiPhone());
s.add (XCodeProjectExporter::getNameiOS());
s.add (MSVCProjectExporterVC6::getName());
s.add (MSVCProjectExporterVC2005::getName());
s.add (MSVCProjectExporterVC2008::getName());

View file

@ -70,7 +70,7 @@
GCC_OPTIMIZATION_LEVEL = 0;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
SDKROOT = iphonesimulator3.0;
SDKROOT = iphonesimulator3.2;
ONLY_ACTIVE_ARCH = YES;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
@ -86,7 +86,7 @@
GCC_OPTIMIZATION_LEVEL = s;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
SDKROOT = iphonesimulator3.0;
SDKROOT = iphonesimulator3.2;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_PREPROCESSOR_DEFINITIONS = (

View file

@ -167,7 +167,7 @@
GCC_OPTIMIZATION_LEVEL = 0;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
SDKROOT = iphonesimulator3.0;
SDKROOT = iphonesimulator3.2;
ONLY_ACTIVE_ARCH = YES;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
@ -183,7 +183,7 @@
GCC_OPTIMIZATION_LEVEL = s;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
SDKROOT = iphonesimulator3.0;
SDKROOT = iphonesimulator3.2;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_PREPROCESSOR_DEFINITIONS = (

49
juce.h
View file

@ -80,7 +80,7 @@ END_JUCE_NAMESPACE
of 3rd party header files, you may need to use the juce_WithoutMacros.h file - see
the comments in that file for more information.
*/
#if (JUCE_MAC || JUCE_IPHONE) && ! JUCE_DONT_DEFINE_MACROS
#if (JUCE_MAC || JUCE_IOS) && ! JUCE_DONT_DEFINE_MACROS
#define Component JUCE_NAMESPACE::Component
#define MemoryBlock JUCE_NAMESPACE::MemoryBlock
#define Point JUCE_NAMESPACE::Point
@ -151,51 +151,4 @@ END_JUCE_NAMESPACE
#endif
//==============================================================================
/*
To start a JUCE app, use this macro: START_JUCE_APPLICATION (AppSubClass) where
AppSubClass is the name of a class derived from JUCEApplication.
See the JUCEApplication class documentation (juce_Application.h) for more details.
*/
#if defined (JUCE_GCC) || defined (__MWERKS__)
#define START_JUCE_APPLICATION(AppClass) \
int main (int argc, char* argv[]) \
{ \
return JUCE_NAMESPACE::JUCEApplication::main (argc, (const char**) argv, new AppClass()); \
}
#elif JUCE_WINDOWS
#ifdef _CONSOLE
#define START_JUCE_APPLICATION(AppClass) \
int main (int, char* argv[]) \
{ \
JUCE_NAMESPACE::String commandLineString (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams()); \
return JUCE_NAMESPACE::JUCEApplication::main (commandLineString, new AppClass()); \
}
#elif ! defined (_AFXDLL)
#ifdef _WINDOWS_
#define START_JUCE_APPLICATION(AppClass) \
int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int) \
{ \
JUCE_NAMESPACE::String commandLineString (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams()); \
return JUCE_NAMESPACE::JUCEApplication::main (commandLineString, new AppClass()); \
}
#else
#define START_JUCE_APPLICATION(AppClass) \
int __stdcall WinMain (int, int, const char*, int) \
{ \
JUCE_NAMESPACE::String commandLineString (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams()); \
return JUCE_NAMESPACE::JUCEApplication::main (commandLineString, new AppClass()); \
}
#endif
#endif
#endif
#endif // __JUCE_JUCEHEADER__

View file

@ -101,11 +101,11 @@
If you're building on Windows, you'll need to have the Apple QuickTime SDK
installed, and its header files will need to be on your include path.
*/
#if ! (defined (JUCE_QUICKTIME) || JUCE_LINUX || JUCE_IPHONE || (JUCE_WINDOWS && ! JUCE_MSVC))
#if ! (defined (JUCE_QUICKTIME) || JUCE_LINUX || JUCE_IOS || (JUCE_WINDOWS && ! JUCE_MSVC))
#define JUCE_QUICKTIME 0
#endif
#if (JUCE_IPHONE || JUCE_LINUX) && JUCE_QUICKTIME
#if (JUCE_IOS || JUCE_LINUX) && JUCE_QUICKTIME
#undef JUCE_QUICKTIME
#endif

File diff suppressed because it is too large Load diff

View file

@ -64,7 +64,7 @@
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 52
#define JUCE_BUILDNUMBER 40
#define JUCE_BUILDNUMBER 41
/** Current Juce version number.
@ -103,6 +103,7 @@
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
#define JUCE_IPHONE 1
#define JUCE_IOS 1
#else
#define JUCE_MAC 1
#endif
@ -167,7 +168,7 @@
#endif
#if JUCE_IPHONE
#if JUCE_IOS
#ifndef NDEBUG
#define JUCE_DEBUG 1
@ -293,11 +294,11 @@
If you're building on Windows, you'll need to have the Apple QuickTime SDK
installed, and its header files will need to be on your include path.
*/
#if ! (defined (JUCE_QUICKTIME) || JUCE_LINUX || JUCE_IPHONE || (JUCE_WINDOWS && ! JUCE_MSVC))
#if ! (defined (JUCE_QUICKTIME) || JUCE_LINUX || JUCE_IOS || (JUCE_WINDOWS && ! JUCE_MSVC))
#define JUCE_QUICKTIME 0
#endif
#if (JUCE_IPHONE || JUCE_LINUX) && JUCE_QUICKTIME
#if (JUCE_IOS || JUCE_LINUX) && JUCE_QUICKTIME
#undef JUCE_QUICKTIME
#endif
@ -562,7 +563,7 @@
#endif
#elif JUCE_MAC
#define juce_breakDebugger Debugger();
#elif JUCE_IPHONE
#elif JUCE_IOS
#define juce_breakDebugger kill (0, SIGTRAP);
#elif JUCE_LINUX
#define juce_breakDebugger kill (0, SIGTRAP);
@ -712,7 +713,7 @@
#include <intrin.h>
#endif
#if JUCE_MAC || JUCE_IPHONE
#if JUCE_MAC || JUCE_IOS
#include <libkern/OSAtomic.h>
#endif
@ -1385,7 +1386,7 @@ inline uint16 ByteOrder::swap (uint16 n)
inline uint32 ByteOrder::swap (uint32 n)
{
#if JUCE_MAC || JUCE_IPHONE
#if JUCE_MAC || JUCE_IOS
return OSSwapInt32 (n);
#elif JUCE_GCC
asm("bswap %%eax" : "=a"(n) : "a"(n));
@ -1404,7 +1405,7 @@ inline uint32 ByteOrder::swap (uint32 n)
inline uint64 ByteOrder::swap (uint64 value)
{
#if JUCE_MAC || JUCE_IPHONE
#if JUCE_MAC || JUCE_IOS
return OSSwapInt64 (value);
#elif JUCE_USE_INTRINSICS
return _byteswap_uint64 (value);
@ -5858,11 +5859,11 @@ private:
/*
The following code is in the header so that the atomics can be inlined where possible...
*/
#if (JUCE_IPHONE && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2 || ! defined (__IPHONE_3_2))) \
#if (JUCE_IOS && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2 || ! defined (__IPHONE_3_2))) \
|| (JUCE_MAC && (JUCE_PPC || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)))
#define JUCE_ATOMICS_MAC 1 // Older OSX builds using gcc4.1 or earlier
#if JUCE_PPC || JUCE_IPHONE
#if JUCE_PPC || JUCE_IOS
// None of these atomics are available for PPC or for iPhoneOS 3.1 or earlier!!
template <typename Type> static Type OSAtomicAdd64Barrier (Type b, volatile Type* a) throw() { jassertfalse; return *a += b; }
template <typename Type> static Type OSAtomicIncrement64Barrier (volatile Type* a) throw() { jassertfalse; return ++*a; }
@ -5875,7 +5876,7 @@ private:
#elif JUCE_GCC
#define JUCE_ATOMICS_GCC 1 // GCC with intrinsics
#if JUCE_IPHONE
#if JUCE_IOS
#define JUCE_64BIT_ATOMICS_UNAVAILABLE 1 // (on the iphone, the 64-bit ops will compile but not link)
#endif
@ -13729,6 +13730,51 @@ public:
~ScopedJuceInitialiser_GUI() { shutdownJuce_GUI(); }
};
/*
To start a JUCE app, use this macro: START_JUCE_APPLICATION (AppSubClass) where
AppSubClass is the name of a class derived from JUCEApplication.
See the JUCEApplication class documentation (juce_Application.h) for more details.
*/
#if defined (JUCE_GCC) || defined (__MWERKS__)
#define START_JUCE_APPLICATION(AppClass) \
int main (int argc, char* argv[]) \
{ \
JUCE_NAMESPACE::ScopedJuceInitialiser_GUI libraryInitialiser; \
return JUCE_NAMESPACE::JUCEApplication::main (argc, (const char**) argv, new AppClass()); \
}
#elif JUCE_WINDOWS
#ifdef _CONSOLE
#define START_JUCE_APPLICATION(AppClass) \
int main (int, char* argv[]) \
{ \
JUCE_NAMESPACE::ScopedJuceInitialiser_GUI libraryInitialiser; \
return JUCE_NAMESPACE::JUCEApplication::main (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams(), new AppClass()); \
}
#elif ! defined (_AFXDLL)
#ifdef _WINDOWS_
#define START_JUCE_APPLICATION(AppClass) \
int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int) \
{ \
JUCE_NAMESPACE::ScopedJuceInitialiser_GUI libraryInitialiser; \
return JUCE_NAMESPACE::JUCEApplication::main (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams(), new AppClass()); \
}
#else
#define START_JUCE_APPLICATION(AppClass) \
int __stdcall WinMain (int, int, const char*, int) \
{ \
JUCE_NAMESPACE::ScopedJuceInitialiser_GUI libraryInitialiser; \
return JUCE_NAMESPACE::JUCEApplication::main (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams(), new AppClass()); \
}
#endif
#endif
#endif
#endif // __JUCE_INITIALISATION_JUCEHEADER__
/*** End of inlined file: juce_Initialisation.h ***/
@ -13857,7 +13903,7 @@ public:
const String& bodyText,
const StringArray& filesToAttach);
#if JUCE_MAC || JUCE_IPHONE || DOXYGEN
#if JUCE_MAC || JUCE_IOS || DOXYGEN
/** MAC ONLY - Turns a Core CF String into a juce one. */
static const String cfStringToJuceString (CFStringRef cfString);
@ -14008,7 +14054,7 @@ private:
PlatformUtilities& operator= (const PlatformUtilities&);
};
#if JUCE_MAC || JUCE_IPHONE
#if JUCE_MAC || JUCE_IOS
/** A handy C++ wrapper that creates and deletes an NSAutoreleasePool object
using RAII.
@ -14026,6 +14072,12 @@ private:
ScopedAutoReleasePool& operator= (const ScopedAutoReleasePool&);
};
#define JUCE_AUTORELEASEPOOL const ScopedAutoReleasePool pool;
#else
#define JUCE_AUTORELEASEPOOL
#endif
#if JUCE_LINUX
@ -19652,10 +19704,12 @@ public:
/** Called when the component is in the process of being deleted.
This callback is made from inside the destructor, so be very, very cautious
about what you do inside the callback.
about what you do in here.
It will be called before the component has been removed from its parent, and
before any child components have been removed.
In particular, bear in mind that it's the Component base class's destructor that calls
this - so if the object that's being deleted is a subclass of Component, then the
subclass layers of the object will already have been destructed when it gets to this
point!
*/
virtual void componentBeingDeleted (Component& component);
};
@ -20539,6 +20593,12 @@ public:
x = newX; y = newY; w = newWidth; h = newHeight;
}
/** Changes the rectangle's X coordinate */
void setX (const ValueType newX) throw() { x = newX; }
/** Changes the rectangle's Y coordinate */
void setY (const ValueType newY) throw() { y = newY; }
/** Changes the rectangle's width */
void setWidth (const ValueType newWidth) throw() { w = newWidth; }
@ -25362,8 +25422,15 @@ public:
/** Destructor.
Note that when a component is deleted, any child components it might
contain are NOT deleted unless you explicitly call deleteAllChildren() first.
Note that when a component is deleted, any child components it contain are NOT
automatically deleted. It's your responsibilty to manage their lifespan - you
may want to use helper methods like deleteAllChildren(), or less haphazard
approaches like using ScopedPointers or normal object aggregation to manage them.
If the component being deleted is currently the child of another one, then during
deletion, it will be removed from its parent, and the parent will receive a childrenChanged()
callback. Any ComponentListener objects that have registered with it will also have their
ComponentListener::componentBeingDeleted() methods called.
*/
virtual ~Component();
@ -25829,29 +25896,37 @@ public:
/** Adds a child component to this one.
@param child the new component to add. If the component passed-in is already
the child of another component, it'll first be removed from that.
Adding a child component does not mean that the component will own or delete the child - it's
your responsibility to delete the component. Note that it's safe to delete a component
without first removing it from its parent - doing so will automatically remove it and
send out the appropriate notifications before the deletion completes.
If the child is already a child of this component, then no action will be taken, and its
z-order will be left unchanged.
@param child the new component to add. If the component passed-in is already
the child of another component, it'll first be removed from it current parent.
@param zOrder The index in the child-list at which this component should be inserted.
A value of -1 will insert it in front of the others, 0 is the back.
@see removeChildComponent, addAndMakeVisible, getChild,
ComponentListener::componentChildrenChanged
@see removeChildComponent, addAndMakeVisible, getChild, ComponentListener::componentChildrenChanged
*/
void addChildComponent (Component* child, int zOrder = -1);
/** Adds a child component to this one, and also makes the child visible if it isn't.
Quite a useful function, this is just the same as calling addChildComponent()
followed by setVisible (true) on the child.
followed by setVisible (true) on the child. See addChildComponent() for more details.
*/
void addAndMakeVisible (Component* child, int zOrder = -1);
/** Removes one of this component's child-components.
If the child passed-in isn't actually a child of this component (either because
it's invalid or is the child of a different parent), then nothing is done.
it's invalid or is the child of a different parent), then no action is taken.
Note that removing a child will not delete it!
Note that removing a child will not delete it! But it's ok to delete a component
without first removing it - doing so will automatically remove it and send out the
appropriate notifications before the deletion completes.
@see addChildComponent, ComponentListener::componentChildrenChanged
*/
@ -25862,7 +25937,9 @@ public:
This will return a pointer to the component that was removed, or null if
the index was out-of-range.
Note that removing a child will not delete it!
Note that removing a child will not delete it! But it's ok to delete a component
without first removing it - doing so will automatically remove it and send out the
appropriate notifications before the deletion completes.
@see addChildComponent, ComponentListener::componentChildrenChanged
*/
@ -27785,9 +27862,6 @@ public:
juce_UseDebuggingNewOperator
/** @internal */
void releaseMessageListener();
private:
// (for async invocation of commands)
class CommandTargetMessageInvoker : public MessageListener
@ -28073,7 +28147,7 @@ public:
// These are used by the START_JUCE_APPLICATION() macro and aren't for public use.
/** @internal */
static int main (String& commandLine, JUCEApplication* newApp);
static int main (const String& commandLine, JUCEApplication* newApp);
/** @internal */
static int main (int argc, const char* argv[], JUCEApplication* newApp);
@ -28092,6 +28166,10 @@ public:
bool perform (const InvocationInfo& info);
/** @internal */
void actionListenerCallback (const String& message);
/** @internal */
bool initialiseApp (const String& commandLine);
/** @internal */
int shutdownApp();
private:
@ -28099,15 +28177,10 @@ private:
int appReturnValue;
bool stillInitialising;
ScopedPointer<InterProcessLock> appLock;
static JUCEApplication* appInstance;
JUCEApplication (const JUCEApplication&);
JUCEApplication& operator= (const JUCEApplication&);
public:
/** @internal */
bool initialiseApp (String& commandLine);
/** @internal */
static int shutdownAppAndClearUp();
};
#endif // __JUCE_APPLICATION_JUCEHEADER__
@ -56932,7 +57005,7 @@ public:
{
openGLDefault = 0,
#if JUCE_IPHONE
#if JUCE_IOS
openGLES1, /**< On the iPhone, this selects openGL ES 1.0 */
openGLES2 /**< On the iPhone, this selects openGL ES 2.0 */
#endif
@ -61174,7 +61247,7 @@ END_JUCE_NAMESPACE
of 3rd party header files, you may need to use the juce_WithoutMacros.h file - see
the comments in that file for more information.
*/
#if (JUCE_MAC || JUCE_IPHONE) && ! JUCE_DONT_DEFINE_MACROS
#if (JUCE_MAC || JUCE_IOS) && ! JUCE_DONT_DEFINE_MACROS
#define Component JUCE_NAMESPACE::Component
#define MemoryBlock JUCE_NAMESPACE::MemoryBlock
#define Point JUCE_NAMESPACE::Point
@ -61277,50 +61350,6 @@ END_JUCE_NAMESPACE
#endif
/*
To start a JUCE app, use this macro: START_JUCE_APPLICATION (AppSubClass) where
AppSubClass is the name of a class derived from JUCEApplication.
See the JUCEApplication class documentation (juce_Application.h) for more details.
*/
#if defined (JUCE_GCC) || defined (__MWERKS__)
#define START_JUCE_APPLICATION(AppClass) \
int main (int argc, char* argv[]) \
{ \
return JUCE_NAMESPACE::JUCEApplication::main (argc, (const char**) argv, new AppClass()); \
}
#elif JUCE_WINDOWS
#ifdef _CONSOLE
#define START_JUCE_APPLICATION(AppClass) \
int main (int, char* argv[]) \
{ \
JUCE_NAMESPACE::String commandLineString (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams()); \
return JUCE_NAMESPACE::JUCEApplication::main (commandLineString, new AppClass()); \
}
#elif ! defined (_AFXDLL)
#ifdef _WINDOWS_
#define START_JUCE_APPLICATION(AppClass) \
int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int) \
{ \
JUCE_NAMESPACE::String commandLineString (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams()); \
return JUCE_NAMESPACE::JUCEApplication::main (commandLineString, new AppClass()); \
}
#else
#define START_JUCE_APPLICATION(AppClass) \
int __stdcall WinMain (int, int, const char*, int) \
{ \
JUCE_NAMESPACE::String commandLineString (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams()); \
return JUCE_NAMESPACE::JUCEApplication::main (commandLineString, new AppClass()); \
}
#endif
#endif
#endif
#endif // __JUCE_JUCEHEADER__
/*** End of inlined file: juce.h ***/

View file

@ -25,38 +25,25 @@
#include "../core/juce_StandardHeader.h"
#if JUCE_MSVC
#pragma warning (push)
#pragma warning (disable: 4245 4514 4100)
#include <crtdbg.h>
#pragma warning (pop)
#endif
BEGIN_JUCE_NAMESPACE
#include "juce_Application.h"
#include "../utilities/juce_DeletedAtShutdown.h"
#include "../events/juce_MessageManager.h"
#include "../gui/graphics/contexts/juce_Graphics.h"
#include "../gui/components/windows/juce_AlertWindow.h"
#include "../gui/components/buttons/juce_TextButton.h"
#include "../gui/components/lookandfeel/juce_LookAndFeel.h"
#include "../core/juce_Time.h"
#include "../core/juce_Initialisation.h"
#include "../threads/juce_Process.h"
#include "../core/juce_PlatformUtilities.h"
#include "../text/juce_LocalisedStrings.h"
void juce_setCurrentThreadName (const String& name);
static JUCEApplication* appInstance = 0;
//==============================================================================
JUCEApplication::JUCEApplication()
: appReturnValue (0),
stillInitialising (true)
{
jassert (appInstance == 0);
appInstance = this;
}
JUCEApplication::~JUCEApplication()
@ -66,8 +53,13 @@ JUCEApplication::~JUCEApplication()
appLock->exit();
appLock = 0;
}
jassert (appInstance == this);
appInstance = 0;
}
JUCEApplication* JUCEApplication::appInstance = 0;
JUCEApplication* JUCEApplication::getInstance() throw()
{
return appInstance;
@ -108,6 +100,12 @@ void JUCEApplication::setApplicationReturnValue (const int newReturnValue) throw
appReturnValue = newReturnValue;
}
void JUCEApplication::actionListenerCallback (const String& message)
{
if (message.startsWith (getApplicationName() + "/"))
anotherInstanceStarted (message.substring (getApplicationName().length() + 1));
}
//==============================================================================
void JUCEApplication::unhandledException (const std::exception*,
const String&,
@ -160,41 +158,11 @@ bool JUCEApplication::perform (const InvocationInfo& info)
}
//==============================================================================
int JUCEApplication::main (String& commandLine, JUCEApplication* const app)
bool JUCEApplication::initialiseApp (const String& commandLine)
{
if (! app->initialiseApp (commandLine))
return 0;
// now loop until a quit message is received..
JUCE_TRY
{
MessageManager::getInstance()->runDispatchLoop();
}
#if JUCE_CATCH_UNHANDLED_EXCEPTIONS
catch (const std::exception& e)
{
app->unhandledException (&e, __FILE__, __LINE__);
}
catch (...)
{
app->unhandledException (0, __FILE__, __LINE__);
}
#endif
return shutdownAppAndClearUp();
}
bool JUCEApplication::initialiseApp (String& commandLine)
{
jassert (appInstance == 0);
appInstance = this;
commandLineParameters = commandLine.trim();
commandLine = String::empty;
initialiseJuce_GUI();
#if ! JUCE_IPHONE
#if ! JUCE_IOS
jassert (appLock == 0); // initialiseApp must only be called once!
if (! moreThanOneInstanceAllowed())
@ -206,9 +174,6 @@ bool JUCEApplication::initialiseApp (String& commandLine)
appLock = 0;
MessageManager::broadcastMessage (getApplicationName() + "/" + commandLineParameters);
delete appInstance;
appInstance = 0;
DBG ("Another instance is running - quitting...");
return false;
}
@ -225,151 +190,66 @@ bool JUCEApplication::initialiseApp (String& commandLine)
return true;
}
int JUCEApplication::shutdownAppAndClearUp()
int JUCEApplication::shutdownApp()
{
jassert (appInstance != 0);
ScopedPointer<JUCEApplication> app (appInstance);
int returnValue = 0;
jassert (appInstance == this);
MessageManager::getInstance()->deregisterBroadcastListener (static_cast <JUCEApplication*> (app));
MessageManager::getInstance()->deregisterBroadcastListener (this);
static bool reentrancyCheck = false;
if (! reentrancyCheck)
JUCE_TRY
{
reentrancyCheck = true;
JUCE_TRY
{
// give the app a chance to clean up..
app->shutdown();
}
#if JUCE_CATCH_UNHANDLED_EXCEPTIONS
catch (const std::exception& e)
{
app->unhandledException (&e, __FILE__, __LINE__);
}
catch (...)
{
app->unhandledException (0, __FILE__, __LINE__);
}
#endif
JUCE_TRY
{
app->releaseMessageListener();
shutdownJuce_GUI();
returnValue = app->getApplicationReturnValue();
appInstance = 0;
app = 0;
}
JUCE_CATCH_ALL_ASSERT
reentrancyCheck = false;
// give the app a chance to clean up..
shutdown();
}
JUCE_CATCH_EXCEPTION
return returnValue;
return getApplicationReturnValue();
}
#if JUCE_IPHONE
extern int juce_IPhoneMain (int argc, const char* argv[], JUCEApplication* app);
//==============================================================================
int JUCEApplication::main (const String& commandLine, JUCEApplication* const app)
{
const ScopedPointer<JUCEApplication> appDeleter (app);
if (! app->initialiseApp (commandLine))
return 0;
JUCE_TRY
{
// loop until a quit message is received..
MessageManager::getInstance()->runDispatchLoop();
}
JUCE_CATCH_EXCEPTION
return app->shutdownApp();
}
#if JUCE_IOS
extern int juce_iOSMain (int argc, const char* argv[]);
#endif
#if ! JUCE_WINDOWS
extern const char* juce_Argv0;
extern const char* juce_Argv0;
#endif
int JUCEApplication::main (int argc, const char* argv[], JUCEApplication* const newApp)
{
#if ! JUCE_WINDOWS
JUCE_AUTORELEASEPOOL
#if ! JUCE_WINDOWS
juce_Argv0 = argv[0];
#endif
#if JUCE_IPHONE
const ScopedAutoReleasePool pool;
return juce_IPhoneMain (argc, argv, newApp);
#else
#if JUCE_MAC
const ScopedAutoReleasePool pool;
#endif
#if JUCE_IOS
const ScopedPointer<JUCEApplication> appDeleter (newApp);
return juce_iOSMain (argc, argv);
#else
String cmd;
for (int i = 1; i < argc; ++i)
cmd << argv[i] << ' ';
return JUCEApplication::main (cmd, newApp);
#endif
}
void JUCEApplication::actionListenerCallback (const String& message)
{
if (message.startsWith (getApplicationName() + "/"))
anotherInstanceStarted (message.substring (getApplicationName().length() + 1));
}
//==============================================================================
static bool juceInitialisedGUI = false;
void JUCE_PUBLIC_FUNCTION initialiseJuce_GUI()
{
if (! juceInitialisedGUI)
{
#if JUCE_MAC || JUCE_IPHONE
const ScopedAutoReleasePool pool;
#endif
juceInitialisedGUI = true;
initialiseJuce_NonGUI();
MessageManager::getInstance();
LookAndFeel::setDefaultLookAndFeel (0);
juce_setCurrentThreadName ("Juce Message Thread");
#if JUCE_WINDOWS && JUCE_DEBUG
// This section is just for catching people who mess up their project settings and
// turn RTTI off..
try
{
TextButton tb (String::empty);
Component* c = &tb;
// Got an exception here? Then TURN ON RTTI in your compiler settings!!
c = dynamic_cast <Button*> (c);
}
catch (...)
{
// Ended up here? If so, TURN ON RTTI in your compiler settings!! And if you
// got as far as this catch statement, then why haven't you got exception catching
// turned on in the debugger???
jassertfalse;
}
#endif
}
}
void JUCE_PUBLIC_FUNCTION shutdownJuce_GUI()
{
if (juceInitialisedGUI)
{
#if JUCE_MAC
const ScopedAutoReleasePool pool;
#endif
{
DeletedAtShutdown::deleteAll();
LookAndFeel::clearDefaultLookAndFeel();
}
delete MessageManager::getInstance();
shutdownJuce_NonGUI();
juceInitialisedGUI = false;
}
#endif
}
END_JUCE_NAMESPACE

View file

@ -263,7 +263,7 @@ public:
// These are used by the START_JUCE_APPLICATION() macro and aren't for public use.
/** @internal */
static int main (String& commandLine, JUCEApplication* newApp);
static int main (const String& commandLine, JUCEApplication* newApp);
/** @internal */
static int main (int argc, const char* argv[], JUCEApplication* newApp);
@ -283,6 +283,10 @@ public:
bool perform (const InvocationInfo& info);
/** @internal */
void actionListenerCallback (const String& message);
/** @internal */
bool initialiseApp (const String& commandLine);
/** @internal */
int shutdownApp();
private:
//==============================================================================
@ -290,15 +294,10 @@ private:
int appReturnValue;
bool stillInitialising;
ScopedPointer<InterProcessLock> appLock;
static JUCEApplication* appInstance;
JUCEApplication (const JUCEApplication&);
JUCEApplication& operator= (const JUCEApplication&);
public:
/** @internal */
bool initialiseApp (String& commandLine);
/** @internal */
static int shutdownAppAndClearUp();
};

View file

@ -37,11 +37,6 @@ ApplicationCommandTarget::ApplicationCommandTarget()
}
ApplicationCommandTarget::~ApplicationCommandTarget()
{
releaseMessageListener();
}
void ApplicationCommandTarget::releaseMessageListener()
{
messageInvoker = 0;
}

View file

@ -235,9 +235,6 @@ public:
//==============================================================================
juce_UseDebuggingNewOperator
/** @internal */
void releaseMessageListener();
private:
// (for async invocation of commands)
class CommandTargetMessageInvoker : public MessageListener

View file

@ -26,7 +26,7 @@
#include "../../core/juce_TargetPlatform.h"
#include "../../../juce_Config.h"
#if JUCE_QUICKTIME && ! (JUCE_64BIT || JUCE_IPHONE)
#if JUCE_QUICKTIME && ! (JUCE_64BIT || JUCE_IOS)
#if ! JUCE_WINDOWS
#include <QuickTime/Movies.h>

View file

@ -131,7 +131,7 @@ void AudioDeviceManager::createAudioDeviceTypes (OwnedArray <AudioIODeviceType>&
list.add (juce_createAudioIODeviceType_CoreAudio());
#endif
#if JUCE_IPHONE
#if JUCE_IOS
list.add (juce_createAudioIODeviceType_iPhoneAudio());
#endif

View file

@ -157,11 +157,11 @@ private:
/*
The following code is in the header so that the atomics can be inlined where possible...
*/
#if (JUCE_IPHONE && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2 || ! defined (__IPHONE_3_2))) \
#if (JUCE_IOS && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2 || ! defined (__IPHONE_3_2))) \
|| (JUCE_MAC && (JUCE_PPC || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)))
#define JUCE_ATOMICS_MAC 1 // Older OSX builds using gcc4.1 or earlier
#if JUCE_PPC || JUCE_IPHONE
#if JUCE_PPC || JUCE_IOS
// None of these atomics are available for PPC or for iPhoneOS 3.1 or earlier!!
template <typename Type> static Type OSAtomicAdd64Barrier (Type b, volatile Type* a) throw() { jassertfalse; return *a += b; }
template <typename Type> static Type OSAtomicIncrement64Barrier (volatile Type* a) throw() { jassertfalse; return ++*a; }
@ -175,7 +175,7 @@ private:
#elif JUCE_GCC
#define JUCE_ATOMICS_GCC 1 // GCC with intrinsics
#if JUCE_IPHONE
#if JUCE_IOS
#define JUCE_64BIT_ATOMICS_UNAVAILABLE 1 // (on the iphone, the 64-bit ops will compile but not link)
#endif

View file

@ -116,7 +116,7 @@ inline uint16 ByteOrder::swap (uint16 n)
inline uint32 ByteOrder::swap (uint32 n)
{
#if JUCE_MAC || JUCE_IPHONE
#if JUCE_MAC || JUCE_IOS
return OSSwapInt32 (n);
#elif JUCE_GCC
asm("bswap %%eax" : "=a"(n) : "a"(n));
@ -135,7 +135,7 @@ inline uint32 ByteOrder::swap (uint32 n)
inline uint64 ByteOrder::swap (uint64 value)
{
#if JUCE_MAC || JUCE_IPHONE
#if JUCE_MAC || JUCE_IOS
return OSSwapInt64 (value);
#elif JUCE_USE_INTRINSICS
return _byteswap_uint64 (value);

View file

@ -0,0 +1,272 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online 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.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
#include "juce_StandardHeader.h"
BEGIN_JUCE_NAMESPACE
#include "juce_Atomic.h"
#include "juce_Random.h"
#include "juce_PlatformUtilities.h"
#include "juce_SystemStats.h"
#include "../text/juce_LocalisedStrings.h"
#include "../io/streams/juce_MemoryOutputStream.h"
#include "../io/streams/juce_MemoryInputStream.h"
#include "../threads/juce_Thread.h"
#if ! JUCE_ONLY_BUILD_CORE_LIBRARY
#include "../events/juce_MessageManager.h"
#include "../gui/components/buttons/juce_TextButton.h"
#include "../gui/components/lookandfeel/juce_LookAndFeel.h"
#endif
#if JUCE_WINDOWS
extern void juce_shutdownWin32Sockets(); // (defined in the sockets code)
#endif
#if JUCE_DEBUG
extern void juce_CheckForDanglingStreams(); // (in juce_OutputStream.cpp)
#endif
//==============================================================================
#if JUCE_DEBUG
namespace SimpleUnitTests
{
template <typename Type>
class AtomicTester
{
public:
AtomicTester() {}
static void testInteger()
{
Atomic<Type> a, b;
a.set ((Type) 10);
a += (Type) 15;
a.memoryBarrier();
a -= (Type) 5;
++a; ++a; --a;
a.memoryBarrier();
testFloat();
}
static void testFloat()
{
Atomic<Type> a, b;
a = (Type) 21;
a.memoryBarrier();
/* These are some simple test cases to check the atomics - let me know
if any of these assertions fail on your system!
*/
jassert (a.get() == (Type) 21);
jassert (a.compareAndSetValue ((Type) 100, (Type) 50) == (Type) 21);
jassert (a.get() == (Type) 21);
jassert (a.compareAndSetValue ((Type) 101, a.get()) == (Type) 21);
jassert (a.get() == (Type) 101);
jassert (! a.compareAndSetBool ((Type) 300, (Type) 200));
jassert (a.get() == (Type) 101);
jassert (a.compareAndSetBool ((Type) 200, a.get()));
jassert (a.get() == (Type) 200);
jassert (a.exchange ((Type) 300) == (Type) 200);
jassert (a.get() == (Type) 300);
b = a;
jassert (b.get() == a.get());
}
};
static void runBasicTests()
{
// Some simple test code, to keep an eye on things and make sure these functions
// work ok on all platforms. Let me know if any of these assertions fail on your system!
static_jassert (sizeof (pointer_sized_int) == sizeof (void*));
static_jassert (sizeof (int8) == 1);
static_jassert (sizeof (uint8) == 1);
static_jassert (sizeof (int16) == 2);
static_jassert (sizeof (uint16) == 2);
static_jassert (sizeof (int32) == 4);
static_jassert (sizeof (uint32) == 4);
static_jassert (sizeof (int64) == 8);
static_jassert (sizeof (uint64) == 8);
char a1[7];
jassert (numElementsInArray(a1) == 7);
int a2[3];
jassert (numElementsInArray(a2) == 3);
jassert (ByteOrder::swap ((uint16) 0x1122) == 0x2211);
jassert (ByteOrder::swap ((uint32) 0x11223344) == 0x44332211);
jassert (ByteOrder::swap ((uint64) literal64bit (0x1122334455667788)) == literal64bit (0x8877665544332211));
// Some quick stream tests..
int randomInt = Random::getSystemRandom().nextInt();
int64 randomInt64 = Random::getSystemRandom().nextInt64();
double randomDouble = Random::getSystemRandom().nextDouble();
String randomString;
for (int i = 50; --i >= 0;)
randomString << (juce_wchar) (Random::getSystemRandom().nextInt() & 0xffff);
MemoryOutputStream mo;
mo.writeInt (randomInt);
mo.writeIntBigEndian (randomInt);
mo.writeCompressedInt (randomInt);
mo.writeString (randomString);
mo.writeInt64 (randomInt64);
mo.writeInt64BigEndian (randomInt64);
mo.writeDouble (randomDouble);
mo.writeDoubleBigEndian (randomDouble);
MemoryInputStream mi (mo.getData(), mo.getDataSize(), false);
jassert (mi.readInt() == randomInt);
jassert (mi.readIntBigEndian() == randomInt);
jassert (mi.readCompressedInt() == randomInt);
jassert (mi.readString() == randomString);
jassert (mi.readInt64() == randomInt64);
jassert (mi.readInt64BigEndian() == randomInt64);
jassert (mi.readDouble() == randomDouble);
jassert (mi.readDoubleBigEndian() == randomDouble);
AtomicTester <int>::testInteger();
AtomicTester <unsigned int>::testInteger();
AtomicTester <int32>::testInteger();
AtomicTester <uint32>::testInteger();
AtomicTester <long>::testInteger();
AtomicTester <void*>::testInteger();
AtomicTester <int*>::testInteger();
AtomicTester <float>::testFloat();
#if ! JUCE_64BIT_ATOMICS_UNAVAILABLE // 64-bit intrinsics aren't available on some old platforms
AtomicTester <int64>::testInteger();
AtomicTester <uint64>::testInteger();
AtomicTester <double>::testFloat();
#endif
}
}
#endif
//==============================================================================
static bool juceInitialisedNonGUI = false;
void JUCE_PUBLIC_FUNCTION initialiseJuce_NonGUI()
{
if (! juceInitialisedNonGUI)
{
juceInitialisedNonGUI = true;
JUCE_AUTORELEASEPOOL
#if JUCE_DEBUG
SimpleUnitTests::runBasicTests();
#endif
DBG (SystemStats::getJUCEVersion());
SystemStats::initialiseStats();
Random::getSystemRandom().setSeedRandomly(); // (mustn't call this before initialiseStats() because it relies on the time being set up)
}
}
void JUCE_PUBLIC_FUNCTION shutdownJuce_NonGUI()
{
if (juceInitialisedNonGUI)
{
juceInitialisedNonGUI = false;
JUCE_AUTORELEASEPOOL
LocalisedStrings::setCurrentMappings (0);
Thread::stopAllThreads (3000);
#if JUCE_WINDOWS
juce_shutdownWin32Sockets();
#endif
#if JUCE_DEBUG
juce_CheckForDanglingStreams();
#endif
}
}
//==============================================================================
#if ! JUCE_ONLY_BUILD_CORE_LIBRARY
void juce_setCurrentThreadName (const String& name);
static bool juceInitialisedGUI = false;
void JUCE_PUBLIC_FUNCTION initialiseJuce_GUI()
{
if (! juceInitialisedGUI)
{
juceInitialisedGUI = true;
JUCE_AUTORELEASEPOOL
initialiseJuce_NonGUI();
MessageManager::getInstance();
LookAndFeel::setDefaultLookAndFeel (0);
juce_setCurrentThreadName ("Juce Message Thread");
#if JUCE_DEBUG
// This section is just for catching people who mess up their project settings and
// turn RTTI off..
try
{
TextButton tb (String::empty);
Component* c = &tb;
// Got an exception here? Then TURN ON RTTI in your compiler settings!!
c = dynamic_cast <Button*> (c);
}
catch (...)
{
// Ended up here? If so, TURN ON RTTI in your compiler settings!!
jassertfalse;
}
#endif
}
}
void JUCE_PUBLIC_FUNCTION shutdownJuce_GUI()
{
if (juceInitialisedGUI)
{
juceInitialisedGUI = false;
JUCE_AUTORELEASEPOOL
DeletedAtShutdown::deleteAll();
LookAndFeel::clearDefaultLookAndFeel();
delete MessageManager::getInstance();
shutdownJuce_NonGUI();
}
}
#endif
END_JUCE_NAMESPACE

View file

@ -126,5 +126,51 @@ public:
};
//==============================================================================
/*
To start a JUCE app, use this macro: START_JUCE_APPLICATION (AppSubClass) where
AppSubClass is the name of a class derived from JUCEApplication.
See the JUCEApplication class documentation (juce_Application.h) for more details.
*/
#if defined (JUCE_GCC) || defined (__MWERKS__)
#define START_JUCE_APPLICATION(AppClass) \
int main (int argc, char* argv[]) \
{ \
JUCE_NAMESPACE::ScopedJuceInitialiser_GUI libraryInitialiser; \
return JUCE_NAMESPACE::JUCEApplication::main (argc, (const char**) argv, new AppClass()); \
}
#elif JUCE_WINDOWS
#ifdef _CONSOLE
#define START_JUCE_APPLICATION(AppClass) \
int main (int, char* argv[]) \
{ \
JUCE_NAMESPACE::ScopedJuceInitialiser_GUI libraryInitialiser; \
return JUCE_NAMESPACE::JUCEApplication::main (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams(), new AppClass()); \
}
#elif ! defined (_AFXDLL)
#ifdef _WINDOWS_
#define START_JUCE_APPLICATION(AppClass) \
int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int) \
{ \
JUCE_NAMESPACE::ScopedJuceInitialiser_GUI libraryInitialiser; \
return JUCE_NAMESPACE::JUCEApplication::main (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams(), new AppClass()); \
}
#else
#define START_JUCE_APPLICATION(AppClass) \
int __stdcall WinMain (int, int, const char*, int) \
{ \
JUCE_NAMESPACE::ScopedJuceInitialiser_GUI libraryInitialiser; \
return JUCE_NAMESPACE::JUCEApplication::main (JUCE_NAMESPACE::PlatformUtilities::getCurrentCommandLineParams(), new AppClass()); \
}
#endif
#endif
#endif
#endif // __JUCE_INITIALISATION_JUCEHEADER__

View file

@ -96,7 +96,7 @@
#endif
#elif JUCE_MAC
#define juce_breakDebugger Debugger();
#elif JUCE_IPHONE
#elif JUCE_IOS
#define juce_breakDebugger kill (0, SIGTRAP);
#elif JUCE_LINUX
#define juce_breakDebugger kill (0, SIGTRAP);

View file

@ -52,7 +52,7 @@ public:
const String& bodyText,
const StringArray& filesToAttach);
#if JUCE_MAC || JUCE_IPHONE || DOXYGEN
#if JUCE_MAC || JUCE_IOS || DOXYGEN
//==============================================================================
/** MAC ONLY - Turns a Core CF String into a juce one. */
static const String cfStringToJuceString (CFStringRef cfString);
@ -208,7 +208,7 @@ private:
//==============================================================================
#if JUCE_MAC || JUCE_IPHONE
#if JUCE_MAC || JUCE_IOS
/** A handy C++ wrapper that creates and deletes an NSAutoreleasePool object
using RAII.
@ -226,6 +226,12 @@ private:
ScopedAutoReleasePool& operator= (const ScopedAutoReleasePool&);
};
#define JUCE_AUTORELEASEPOOL const ScopedAutoReleasePool pool;
#else
#define JUCE_AUTORELEASEPOOL
#endif

View file

@ -33,7 +33,7 @@
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 52
#define JUCE_BUILDNUMBER 40
#define JUCE_BUILDNUMBER 41
/** Current Juce version number.
@ -89,7 +89,7 @@
#include <intrin.h>
#endif
#if JUCE_MAC || JUCE_IPHONE
#if JUCE_MAC || JUCE_IOS
#include <libkern/OSAtomic.h>
#endif

View file

@ -29,14 +29,8 @@ BEGIN_JUCE_NAMESPACE
#include "../text/juce_String.h"
#include "juce_SystemStats.h"
#include "juce_Random.h"
#include "juce_Time.h"
#include "juce_Atomic.h"
#include "../threads/juce_Thread.h"
#include "../text/juce_LocalisedStrings.h"
#include "juce_PlatformUtilities.h"
#include "../io/streams/juce_MemoryOutputStream.h"
#include "../io/streams/juce_MemoryInputStream.h"
//==============================================================================
@ -69,186 +63,6 @@ const StringArray SystemStats::getMACAddressStrings()
return s;
}
//==============================================================================
static bool juceInitialisedNonGUI = false;
#if JUCE_DEBUG
template <typename Type>
class AtomicTester
{
public:
AtomicTester() {}
static void testInteger()
{
Atomic<Type> a, b;
a.set ((Type) 10);
a += (Type) 15;
a.memoryBarrier();
a -= (Type) 5;
++a;
++a;
--a;
a.memoryBarrier();
testFloat();
}
static void testFloat()
{
Atomic<Type> a, b;
a = (Type) 21;
a.memoryBarrier();
/* These are some simple test cases to check the atomics - let me know
if any of these assertions fail on your system!
*/
jassert (a.get() == (Type) 21);
jassert (a.compareAndSetValue ((Type) 100, (Type) 50) == (Type) 21);
jassert (a.get() == (Type) 21);
jassert (a.compareAndSetValue ((Type) 101, a.get()) == (Type) 21);
jassert (a.get() == (Type) 101);
jassert (! a.compareAndSetBool ((Type) 300, (Type) 200));
jassert (a.get() == (Type) 101);
jassert (a.compareAndSetBool ((Type) 200, a.get()));
jassert (a.get() == (Type) 200);
jassert (a.exchange ((Type) 300) == (Type) 200);
jassert (a.get() == (Type) 300);
b = a;
jassert (b.get() == a.get());
}
};
static void juce_testAtomics()
{
AtomicTester <int>::testInteger();
AtomicTester <unsigned int>::testInteger();
AtomicTester <int32>::testInteger();
AtomicTester <uint32>::testInteger();
AtomicTester <long>::testInteger();
AtomicTester <void*>::testInteger();
AtomicTester <int*>::testInteger();
AtomicTester <float>::testFloat();
#if ! JUCE_64BIT_ATOMICS_UNAVAILABLE // 64-bit intrinsics aren't available on some old platforms
AtomicTester <int64>::testInteger();
AtomicTester <uint64>::testInteger();
AtomicTester <double>::testFloat();
#endif
}
#endif
//==============================================================================
void JUCE_PUBLIC_FUNCTION initialiseJuce_NonGUI()
{
if (! juceInitialisedNonGUI)
{
#if JUCE_MAC || JUCE_IPHONE
const ScopedAutoReleasePool pool;
#endif
#if JUCE_DEBUG
{
// Some simple test code to keep an eye on things and make sure these functions
// work ok on all platforms. Let me know if any of these assertions fail!
static_jassert (sizeof (pointer_sized_int) == sizeof (void*));
static_jassert (sizeof (int8) == 1);
static_jassert (sizeof (uint8) == 1);
static_jassert (sizeof (int16) == 2);
static_jassert (sizeof (uint16) == 2);
static_jassert (sizeof (int32) == 4);
static_jassert (sizeof (uint32) == 4);
static_jassert (sizeof (int64) == 8);
static_jassert (sizeof (uint64) == 8);
char a1[7];
jassert (numElementsInArray(a1) == 7);
int a2[3];
jassert (numElementsInArray(a2) == 3);
juce_testAtomics();
jassert (ByteOrder::swap ((uint16) 0x1122) == 0x2211);
jassert (ByteOrder::swap ((uint32) 0x11223344) == 0x44332211);
// Some quick stream tests..
int randomInt = Random::getSystemRandom().nextInt();
int64 randomInt64 = Random::getSystemRandom().nextInt64();
double randomDouble = Random::getSystemRandom().nextDouble();
String randomString;
for (int i = 50; --i >= 0;)
randomString << (juce_wchar) (Random::getSystemRandom().nextInt() & 0xffff);
MemoryOutputStream mo;
mo.writeInt (randomInt);
mo.writeIntBigEndian (randomInt);
mo.writeCompressedInt (randomInt);
mo.writeString (randomString);
mo.writeInt64 (randomInt64);
mo.writeInt64BigEndian (randomInt64);
mo.writeDouble (randomDouble);
mo.writeDoubleBigEndian (randomDouble);
MemoryInputStream mi (mo.getData(), mo.getDataSize(), false);
jassert (mi.readInt() == randomInt);
jassert (mi.readIntBigEndian() == randomInt);
jassert (mi.readCompressedInt() == randomInt);
jassert (mi.readString() == randomString);
jassert (mi.readInt64() == randomInt64);
jassert (mi.readInt64BigEndian() == randomInt64);
jassert (mi.readDouble() == randomDouble);
jassert (mi.readDoubleBigEndian() == randomDouble);
}
#endif
// Now the real initialisation..
juceInitialisedNonGUI = true;
DBG (SystemStats::getJUCEVersion());
SystemStats::initialiseStats();
Random::getSystemRandom().setSeedRandomly(); // (mustn't call this before initialiseStats() because it relies on the time being set up)
}
}
//==============================================================================
#if JUCE_WINDOWS
extern void juce_shutdownWin32Sockets(); // (defined in the sockets code)
#endif
#if JUCE_DEBUG
extern void juce_CheckForDanglingStreams();
#endif
//==============================================================================
void JUCE_PUBLIC_FUNCTION shutdownJuce_NonGUI()
{
if (juceInitialisedNonGUI)
{
#if JUCE_MAC || JUCE_IPHONE
const ScopedAutoReleasePool pool;
#endif
#if JUCE_WINDOWS
// need to shut down sockets if they were used..
juce_shutdownWin32Sockets();
#endif
LocalisedStrings::setCurrentMappings (0);
Thread::stopAllThreads (3000);
#if JUCE_DEBUG
juce_CheckForDanglingStreams();
#endif
juceInitialisedNonGUI = false;
}
}
//==============================================================================
#ifdef JUCE_DLL

View file

@ -50,6 +50,7 @@
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
#define JUCE_IPHONE 1
#define JUCE_IOS 1
#else
#define JUCE_MAC 1
#endif
@ -117,7 +118,7 @@
#endif
//==============================================================================
#if JUCE_IPHONE
#if JUCE_IOS
#ifndef NDEBUG
#define JUCE_DEBUG 1

View file

@ -133,7 +133,7 @@ void MessageManager::deliverMessage (Message* const message)
}
//==============================================================================
#if ! (JUCE_MAC || JUCE_IPHONE)
#if ! (JUCE_MAC || JUCE_IOS)
void MessageManager::runDispatchLoop()
{
jassert (isThisTheMessageThread()); // must only be called by the message thread

View file

@ -75,8 +75,15 @@ public:
/** Destructor.
Note that when a component is deleted, any child components it might
contain are NOT deleted unless you explicitly call deleteAllChildren() first.
Note that when a component is deleted, any child components it contain are NOT
automatically deleted. It's your responsibilty to manage their lifespan - you
may want to use helper methods like deleteAllChildren(), or less haphazard
approaches like using ScopedPointers or normal object aggregation to manage them.
If the component being deleted is currently the child of another one, then during
deletion, it will be removed from its parent, and the parent will receive a childrenChanged()
callback. Any ComponentListener objects that have registered with it will also have their
ComponentListener::componentBeingDeleted() methods called.
*/
virtual ~Component();
@ -552,29 +559,37 @@ public:
/** Adds a child component to this one.
@param child the new component to add. If the component passed-in is already
the child of another component, it'll first be removed from that.
Adding a child component does not mean that the component will own or delete the child - it's
your responsibility to delete the component. Note that it's safe to delete a component
without first removing it from its parent - doing so will automatically remove it and
send out the appropriate notifications before the deletion completes.
If the child is already a child of this component, then no action will be taken, and its
z-order will be left unchanged.
@param child the new component to add. If the component passed-in is already
the child of another component, it'll first be removed from it current parent.
@param zOrder The index in the child-list at which this component should be inserted.
A value of -1 will insert it in front of the others, 0 is the back.
@see removeChildComponent, addAndMakeVisible, getChild,
ComponentListener::componentChildrenChanged
@see removeChildComponent, addAndMakeVisible, getChild, ComponentListener::componentChildrenChanged
*/
void addChildComponent (Component* child, int zOrder = -1);
/** Adds a child component to this one, and also makes the child visible if it isn't.
Quite a useful function, this is just the same as calling addChildComponent()
followed by setVisible (true) on the child.
followed by setVisible (true) on the child. See addChildComponent() for more details.
*/
void addAndMakeVisible (Component* child, int zOrder = -1);
/** Removes one of this component's child-components.
If the child passed-in isn't actually a child of this component (either because
it's invalid or is the child of a different parent), then nothing is done.
it's invalid or is the child of a different parent), then no action is taken.
Note that removing a child will not delete it!
Note that removing a child will not delete it! But it's ok to delete a component
without first removing it - doing so will automatically remove it and send out the
appropriate notifications before the deletion completes.
@see addChildComponent, ComponentListener::componentChildrenChanged
*/
@ -585,7 +600,9 @@ public:
This will return a pointer to the component that was removed, or null if
the index was out-of-range.
Note that removing a child will not delete it!
Note that removing a child will not delete it! But it's ok to delete a component
without first removing it - doing so will automatically remove it and send out the
appropriate notifications before the deletion completes.
@see addChildComponent, ComponentListener::componentChildrenChanged
*/

View file

@ -99,10 +99,12 @@ public:
/** Called when the component is in the process of being deleted.
This callback is made from inside the destructor, so be very, very cautious
about what you do inside the callback.
about what you do in here.
It will be called before the component has been removed from its parent, and
before any child components have been removed.
In particular, bear in mind that it's the Component base class's destructor that calls
this - so if the object that's being deleted is a subclass of Component, then the
subclass layers of the object will already have been destructed when it gets to this
point!
*/
virtual void componentBeingDeleted (Component& component);
};

View file

@ -58,7 +58,7 @@ public:
{
const ScopedLock sl (getLock());
for (int i = getCursors().size(); --i >= 0;)
for (int i = 0; i < getCursors().size(); ++i)
{
SharedCursorHandle* const sc = getCursors().getUnchecked(i);

View file

@ -190,7 +190,7 @@ public:
{
openGLDefault = 0,
#if JUCE_IPHONE
#if JUCE_IOS
openGLES1, /**< On the iPhone, this selects openGL ES 1.0 */
openGLES2 /**< On the iPhone, this selects openGL ES 2.0 */
#endif

View file

@ -167,6 +167,12 @@ public:
x = newX; y = newY; w = newWidth; h = newHeight;
}
/** Changes the rectangle's X coordinate */
void setX (const ValueType newX) throw() { x = newX; }
/** Changes the rectangle's Y coordinate */
void setY (const ValueType newY) throw() { y = newY; }
/** Changes the rectangle's width */
void setWidth (const ValueType newWidth) throw() { w = newWidth; }

View file

@ -131,6 +131,9 @@ public:
private:
const ReferenceCountedObjectPtr<Image::SharedImage> image;
const Rectangle<int> area;
SubsectionSharedImage (const SubsectionSharedImage&);
SubsectionSharedImage& operator= (const SubsectionSharedImage&);
};
const Image Image::getClippedImage (const Rectangle<int>& area) const

View file

@ -40,7 +40,7 @@
#include <sys/errno.h>
#include <unistd.h>
#include <netinet/in.h>
#elif (MACOSX_DEPLOYMENT_TARGET <= MAC_OS_X_VERSION_10_4) && ! JUCE_IPHONE
#elif (MACOSX_DEPLOYMENT_TARGET <= MAC_OS_X_VERSION_10_4) && ! JUCE_IOS
#include <CoreServices/CoreServices.h>
#endif
@ -58,7 +58,7 @@ BEGIN_JUCE_NAMESPACE
#include "../../threads/juce_ScopedLock.h"
#include "../../threads/juce_Thread.h"
#if defined (JUCE_LINUX) || defined (JUCE_MAC) || defined (JUCE_IPHONE)
#if defined (JUCE_LINUX) || defined (JUCE_MAC) || defined (JUCE_IOS)
typedef socklen_t juce_socklen_t;
#else
typedef int juce_socklen_t;

View file

@ -32,7 +32,7 @@
#include "../core/juce_TargetPlatform.h"
#if JUCE_MAC || JUCE_IPHONE
#if JUCE_MAC || JUCE_IOS
#include "mac/juce_mac_NativeIncludes.h"
@ -98,7 +98,7 @@ BEGIN_JUCE_NAMESPACE
#include "common/juce_posix_SharedCode.h"
#include "mac/juce_mac_Files.mm"
#if JUCE_IPHONE
#if JUCE_IOS
#include "mac/juce_iphone_MiscUtilities.mm"
#else
#include "mac/juce_mac_MiscUtilities.mm"
@ -107,7 +107,7 @@ BEGIN_JUCE_NAMESPACE
#include "mac/juce_mac_Debugging.mm"
#if ! JUCE_ONLY_BUILD_CORE_LIBRARY
#if JUCE_IPHONE
#if JUCE_IOS
#include "mac/juce_mac_Fonts.mm"
#include "mac/juce_mac_CoreGraphicsContext.mm"
#include "mac/juce_iphone_UIViewComponentPeer.mm"

View file

@ -29,8 +29,6 @@
//==============================================================================
static JUCEApplication* juce_intialisingApp;
END_JUCE_NAMESPACE
@interface JuceAppStartupDelegate : NSObject <UIApplicationDelegate>
@ -38,7 +36,7 @@ END_JUCE_NAMESPACE
}
- (void) applicationDidFinishLaunching: (UIApplication*) application;
- (void) applicationWillResignActive: (UIApplication*) application;
- (void) applicationWillTerminate: (UIApplication*) application;
@end
@ -48,22 +46,25 @@ END_JUCE_NAMESPACE
{
String dummy;
if (! juce_intialisingApp->initialiseApp (dummy))
if (! JUCEApplication::getInstance()->initialiseApp (dummy))
exit (0);
}
- (void) applicationWillResignActive: (UIApplication*) application
- (void) applicationWillTerminate: (UIApplication*) application
{
JUCEApplication::shutdownAppAndClearUp();
JUCEApplication::getInstance()->shutdownApp();
// need to do this stuff because the OS kills the process before our scope-based cleanup code gets executed..
delete JUCEApplication::getInstance();
shutdownJuce_GUI();
}
@end
BEGIN_JUCE_NAMESPACE
int juce_IPhoneMain (int argc, const char* argv[], JUCEApplication* app)
int juce_iOSMain (int argc, const char* argv[])
{
juce_intialisingApp = app;
return UIApplicationMain (argc, const_cast<char**> (argv), nil, @"JuceAppStartupDelegate");
}

View file

@ -429,7 +429,7 @@ public:
if (fillEntireClipAsTiles)
{
#if JUCE_IPHONE
#if JUCE_IOS
CGContextDrawTiledImage (context, imageRect, image);
#else
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5

View file

@ -89,7 +89,7 @@ bool File::isOnHardDisk() const
bool File::isOnRemovableDrive() const
{
#if JUCE_IPHONE
#if JUCE_IOS
return false; // xxx is this possible?
#else
const ScopedAutoReleasePool pool;
@ -109,7 +109,7 @@ bool File::isOnRemovableDrive() const
static bool juce_isHiddenFile (const String& path)
{
#if JUCE_IPHONE
#if JUCE_IOS
return File (path).getFileName().startsWithChar ('.');
#else
FSRef ref;
@ -238,7 +238,7 @@ const String File::getVersion() const
//==============================================================================
const File File::getLinkedTarget() const
{
#if JUCE_IPHONE || (defined (MAC_OS_X_VERSION_10_5) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
#if JUCE_IOS || (defined (MAC_OS_X_VERSION_10_5) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
NSString* dest = [[NSFileManager defaultManager] destinationOfSymbolicLinkAtPath: juceStringToNS (getFullPathName()) error: nil];
#else
@ -257,7 +257,7 @@ bool File::moveToTrash() const
if (! exists())
return true;
#if JUCE_IPHONE
#if JUCE_IOS
return deleteFile(); //xxx is there a trashcan on the iPhone?
#else
const ScopedAutoReleasePool pool;
@ -385,7 +385,7 @@ bool juce_launchExecutable (const String& pathAndArguments)
bool PlatformUtilities::openDocument (const String& fileName, const String& parameters)
{
#if JUCE_IPHONE
#if JUCE_IOS
return [[UIApplication sharedApplication] openURL: [NSURL fileURLWithPath: juceStringToNS (fileName)]];
#else
const ScopedAutoReleasePool pool;
@ -428,7 +428,7 @@ bool PlatformUtilities::openDocument (const String& fileName, const String& para
void File::revealToUser() const
{
#if ! JUCE_IPHONE
#if ! JUCE_IOS
if (exists())
[[NSWorkspace sharedWorkspace] selectFile: juceStringToNS (getFullPathName()) inFileViewerRootedAtPath: @""];
else if (getParentDirectory().exists())
@ -437,7 +437,7 @@ void File::revealToUser() const
}
//==============================================================================
#if ! JUCE_IPHONE
#if ! JUCE_IOS
bool PlatformUtilities::makeFSRefFromPath (FSRef* destFSRef, const String& path)
{
return FSPathMakeRef ((const UInt8*) path.toUTF8(), destFSRef, 0) == noErr;
@ -460,7 +460,7 @@ OSType PlatformUtilities::getTypeOfFile (const String& filename)
{
const ScopedAutoReleasePool pool;
#if JUCE_IPHONE || (defined (MAC_OS_X_VERSION_10_5) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
#if JUCE_IOS || (defined (MAC_OS_X_VERSION_10_5) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
NSDictionary* fileDict = [[NSFileManager defaultManager] attributesOfItemAtPath: juceStringToNS (filename) error: nil];
#else
NSDictionary* fileDict = [[NSFileManager defaultManager] fileAttributesAtPath: juceStringToNS (filename) traverseLink: NO];
@ -471,7 +471,7 @@ OSType PlatformUtilities::getTypeOfFile (const String& filename)
bool PlatformUtilities::isBundle (const String& filename)
{
#if JUCE_IPHONE
#if JUCE_IOS
return false; // xxx can't find a sensible way to do this without trying to open the bundle..
#else
const ScopedAutoReleasePool pool;

View file

@ -55,7 +55,7 @@ public:
bool needsItalicTransform = false;
#if JUCE_IPHONE
#if JUCE_IOS
NSString* fontName = juceStringToNS (font.getTypefaceName());
if (font.isItalic() || font.isBold())
@ -171,7 +171,7 @@ public:
~MacTypeface()
{
#if ! JUCE_IPHONE
#if ! JUCE_IOS
[nsFont release];
#endif
if (fontRef != 0)
@ -289,7 +289,7 @@ public:
bool getOutlineForGlyph (int glyphNumber, Path& path)
{
#if JUCE_IPHONE
#if JUCE_IOS
return false;
#else
if (nsFont == 0)
@ -343,7 +343,7 @@ public:
private:
float ascent, unitsToHeightScaleFactor;
#if JUCE_IPHONE
#if JUCE_IOS
#else
NSFont* nsFont;
@ -495,7 +495,7 @@ const StringArray Font::findAllTypefaceNames()
const ScopedAutoReleasePool pool;
#if JUCE_IPHONE
#if JUCE_IOS
NSArray* fonts = [UIFont familyNames];
#else
NSArray* fonts = [[NSFontManager sharedFontManager] availableFontFamilies];
@ -510,7 +510,7 @@ const StringArray Font::findAllTypefaceNames()
void Font::getPlatformDefaultFontNames (String& defaultSans, String& defaultSerif, String& defaultFixed)
{
#if JUCE_IPHONE
#if JUCE_IOS
defaultSans = "Helvetica";
defaultSerif = "Times New Roman";
defaultFixed = "Courier New";

View file

@ -411,14 +411,13 @@ static bool isEventBlockedByModalComps (NSEvent* e)
bool MessageManager::runDispatchLoopUntil (int millisecondsToRunFor)
{
const ScopedAutoReleasePool pool;
jassert (isThisTheMessageThread()); // must only be called by the message thread
uint32 endTime = Time::getMillisecondCounter() + millisecondsToRunFor;
while (! quitMessagePosted)
{
const ScopedAutoReleasePool pool2;
const ScopedAutoReleasePool pool;
CFRunLoopRunInMode (kCFRunLoopDefaultMode, 0.001, true);

View file

@ -37,7 +37,7 @@
#define USE_COREGRAPHICS_RENDERING 1
#if JUCE_IPHONE
#if JUCE_IOS
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>

View file

@ -76,7 +76,7 @@ bool PlatformUtilities::launchEmailWithAttachments (const String& targetEmailAdd
const String& bodyText,
const StringArray& filesToAttach)
{
#if JUCE_IPHONE
#if JUCE_IOS
//xxx probably need to use MFMailComposeViewController
jassertfalse;
return false;

View file

@ -373,13 +373,20 @@ public:
~GLESContext()
{
makeInactive();
[context release];
deleteContext();
[view removeFromSuperview];
[view release];
freeGLBuffers();
}
void deleteContext()
{
makeInactive();
[context release];
context = nil;
}
bool makeActive() const throw()
{
jassert (context != 0);

View file

@ -79,7 +79,7 @@ CFStringRef PlatformUtilities::juceStringToCFString (const String& s)
const String PlatformUtilities::convertToPrecomposedUnicode (const String& s)
{
#if JUCE_IPHONE
#if JUCE_IOS
const ScopedAutoReleasePool pool;
return nsStringToJuce ([juceStringToNS (s) precomposedStringWithCanonicalMapping]);
#else
@ -142,7 +142,7 @@ const String PlatformUtilities::convertToPrecomposedUnicode (const String& s)
void SystemClipboard::copyTextToClipboard (const String& text)
{
#if JUCE_IPHONE
#if JUCE_IOS
[[UIPasteboard generalPasteboard] setValue: juceStringToNS (text)
forPasteboardType: @"public.text"];
#else
@ -156,7 +156,7 @@ void SystemClipboard::copyTextToClipboard (const String& text)
const String SystemClipboard::getTextFromClipboard()
{
#if JUCE_IPHONE
#if JUCE_IOS
NSString* text = [[UIPasteboard generalPasteboard] valueForPasteboardType: @"public.text"];
#else
NSString* text = [[NSPasteboard generalPasteboard] stringForType: NSStringPboardType];

View file

@ -101,7 +101,7 @@ void SystemStats::initialiseStats()
cpuFlags.has3DNow = false;
#endif
#if JUCE_IPHONE || (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5)
#if JUCE_IOS || (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5)
cpuFlags.numCpus = (int) [[NSProcessInfo processInfo] activeProcessorCount];
#else
cpuFlags.numCpus = (int) MPProcessors();

View file

@ -157,7 +157,7 @@ bool juce_dispatchNextMessageOnSystemQueue (const bool returnIfNoPendingMessages
}
else if (m.message == WM_QUIT)
{
if (JUCEApplication::getInstance())
if (JUCEApplication::getInstance() != 0)
JUCEApplication::getInstance()->systemRequestedQuit();
}
else if (! isEventBlockedByModalComps (m))

View file

@ -295,7 +295,7 @@ const File PropertiesFile::getDefaultAppSettingsFile (const String& applicationN
// mustn't have illegal characters in this name..
jassert (applicationName == File::createLegalFileName (applicationName));
#if JUCE_MAC || JUCE_IPHONE
#if JUCE_MAC || JUCE_IOS
File dir (commonToAllUsers ? "/Library/Preferences"
: "~/Library/Preferences");