mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-30 02:50:05 +00:00
Cleaned up and restructured some app startup code. Updated some iPhone settings.
This commit is contained in:
parent
7f643bc7e0
commit
6c4d8023bd
54 changed files with 1499 additions and 990 deletions
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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"/>
|
||||
|
|
|
|||
|
|
@ -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"/>
|
||||
|
|
|
|||
|
|
@ -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"/>
|
||||
|
|
|
|||
|
|
@ -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"/>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
46
Juce.jucer
46
Juce.jucer
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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 = (
|
||||
|
|
|
|||
|
|
@ -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
49
juce.h
|
|
@ -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__
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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 ***/
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -37,11 +37,6 @@ ApplicationCommandTarget::ApplicationCommandTarget()
|
|||
}
|
||||
|
||||
ApplicationCommandTarget::~ApplicationCommandTarget()
|
||||
{
|
||||
releaseMessageListener();
|
||||
}
|
||||
|
||||
void ApplicationCommandTarget::releaseMessageListener()
|
||||
{
|
||||
messageInvoker = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -235,9 +235,6 @@ public:
|
|||
//==============================================================================
|
||||
juce_UseDebuggingNewOperator
|
||||
|
||||
/** @internal */
|
||||
void releaseMessageListener();
|
||||
|
||||
private:
|
||||
// (for async invocation of commands)
|
||||
class CommandTargetMessageInvoker : public MessageListener
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
272
src/core/juce_Initialisation.cpp
Normal file
272
src/core/juce_Initialisation.cpp
Normal 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
|
||||
|
|
@ -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__
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue