diff --git a/Builds/Linux/Makefile b/Builds/Linux/Makefile index 77ae1db196..d6ee416368 100644 --- a/Builds/Linux/Makefile +++ b/Builds/Linux/Makefile @@ -288,8 +288,6 @@ OBJECTS := \ $(OBJDIR)/juce_Expression_6f910d50.o \ $(OBJDIR)/juce_Random_a529cb7b.o \ $(OBJDIR)/juce_MemoryBlock_52f17c52.o \ - $(OBJDIR)/juce_linux_NativeCode_b464a4a9.o \ - $(OBJDIR)/juce_win32_NativeCode_2eaaf382.o \ $(OBJDIR)/juce_posix_NamedPipe_aa308c65.o \ $(OBJDIR)/juce_linux_Audio_18d7e8b6.o \ $(OBJDIR)/juce_linux_AudioCDReader_1263363a.o \ @@ -300,12 +298,13 @@ OBJECTS := \ $(OBJDIR)/juce_linux_JackAudio_15353e17.o \ $(OBJDIR)/juce_linux_Messaging_daefaf64.o \ $(OBJDIR)/juce_linux_Midi_4bad86cb.o \ + $(OBJDIR)/juce_linux_NativeCode_8a61cd0e.o \ $(OBJDIR)/juce_linux_Network_f47a1c4e.o \ $(OBJDIR)/juce_linux_SystemStats_9f6d6b50.o \ $(OBJDIR)/juce_linux_Threads_dc4a4049.o \ $(OBJDIR)/juce_linux_WebBrowserComponent_358c0a49.o \ $(OBJDIR)/juce_linux_Windowing_abe04752.o \ - $(OBJDIR)/juce_iphone_Audio_b1189916.o \ + $(OBJDIR)/juce_ios_Audio_40e86914.o \ $(OBJDIR)/juce_mac_CoreAudio_faf8c177.o \ $(OBJDIR)/juce_mac_CoreMidi_e79e11ea.o \ $(OBJDIR)/juce_win32_ActiveXComponent_7590131d.o \ @@ -321,6 +320,7 @@ OBJECTS := \ $(OBJDIR)/juce_win32_Messaging_926ab77c.o \ $(OBJDIR)/juce_win32_Midi_fac3cfb3.o \ $(OBJDIR)/juce_win32_Misc_1407f3fe.o \ + $(OBJDIR)/juce_win32_NativeCode_c247c7f6.o \ $(OBJDIR)/juce_win32_Network_6c84a66.o \ $(OBJDIR)/juce_win32_OpenGLComponent_d0d99a46.o \ $(OBJDIR)/juce_win32_PlatformUtils_73e7e1f6.o \ @@ -1610,16 +1610,6 @@ $(OBJDIR)/juce_MemoryBlock_52f17c52.o: ../../src/memory/juce_MemoryBlock.cpp @echo "Compiling juce_MemoryBlock.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_linux_NativeCode_b464a4a9.o: ../../src/native/juce_linux_NativeCode.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_linux_NativeCode.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_win32_NativeCode_2eaaf382.o: ../../src/native/juce_win32_NativeCode.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_win32_NativeCode.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - $(OBJDIR)/juce_posix_NamedPipe_aa308c65.o: ../../src/native/common/juce_posix_NamedPipe.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_posix_NamedPipe.cpp" @@ -1670,6 +1660,11 @@ $(OBJDIR)/juce_linux_Midi_4bad86cb.o: ../../src/native/linux/juce_linux_Midi.cpp @echo "Compiling juce_linux_Midi.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" +$(OBJDIR)/juce_linux_NativeCode_8a61cd0e.o: ../../src/native/linux/juce_linux_NativeCode.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_linux_NativeCode.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + $(OBJDIR)/juce_linux_Network_f47a1c4e.o: ../../src/native/linux/juce_linux_Network.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_linux_Network.cpp" @@ -1695,9 +1690,9 @@ $(OBJDIR)/juce_linux_Windowing_abe04752.o: ../../src/native/linux/juce_linux_Win @echo "Compiling juce_linux_Windowing.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_iphone_Audio_b1189916.o: ../../src/native/mac/juce_iphone_Audio.cpp +$(OBJDIR)/juce_ios_Audio_40e86914.o: ../../src/native/mac/juce_ios_Audio.cpp -@mkdir -p $(OBJDIR) - @echo "Compiling juce_iphone_Audio.cpp" + @echo "Compiling juce_ios_Audio.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/juce_mac_CoreAudio_faf8c177.o: ../../src/native/mac/juce_mac_CoreAudio.cpp @@ -1775,6 +1770,11 @@ $(OBJDIR)/juce_win32_Misc_1407f3fe.o: ../../src/native/windows/juce_win32_Misc.c @echo "Compiling juce_win32_Misc.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" +$(OBJDIR)/juce_win32_NativeCode_c247c7f6.o: ../../src/native/windows/juce_win32_NativeCode.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_win32_NativeCode.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + $(OBJDIR)/juce_win32_Network_6c84a66.o: ../../src/native/windows/juce_win32_Network.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_win32_Network.cpp" diff --git a/Builds/MacOSX/Juce.xcodeproj/project.pbxproj b/Builds/MacOSX/Juce.xcodeproj/project.pbxproj index 21c3c4c1a8..9e59ff9712 100644 --- a/Builds/MacOSX/Juce.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/Juce.xcodeproj/project.pbxproj @@ -257,9 +257,6 @@ B3D08D9E24CC369E4838E6FF = { isa = PBXBuildFile; fileRef = 868E43A4BB7015579789E4F8; }; 15932C8039A59B0431FBB93E = { isa = PBXBuildFile; fileRef = D99C977ACCD09262F06F6624; }; 3BBC410C79D2F53D32ED7466 = { isa = PBXBuildFile; fileRef = AD655AA04981173716022D8D; }; - 7BBDAAAFBC81C90E6212C6C4 = { isa = PBXBuildFile; fileRef = 1C4E5F07F277AE37C71EA547; }; - 63BEDDA4009950B131FCCA83 = { isa = PBXBuildFile; fileRef = 3BC24CC03A2F940A615FE935; }; - 056129CB247F785CC536A779 = { isa = PBXBuildFile; fileRef = 9DFCF3F7BB734C8AABD83D8D; }; 88A4D0443DFD6BA1A1B32AB9 = { isa = PBXBuildFile; fileRef = 21B2342B75097AB93CFF7E97; }; 06F1BEB9AB97F33305B8F816 = { isa = PBXBuildFile; fileRef = 7A51D8B81F390A4CABF25C73; }; 6CB4FA2797FBEA5C4C342EED = { isa = PBXBuildFile; fileRef = 76DB94CC776536F5D05B9445; }; @@ -270,15 +267,16 @@ 3CE21931FC5A59ED7C23144B = { isa = PBXBuildFile; fileRef = BAE5CE629DF9D286293E616F; }; DB7E8E984F9BEF4C84B887B1 = { isa = PBXBuildFile; fileRef = D4C499CB25F043FE667BC5E1; }; 07645D91AFD4F8512ECD48ED = { isa = PBXBuildFile; fileRef = 4366712140FBEBEDBCBDCE9B; }; + D132232A4A404A7C08D10928 = { isa = PBXBuildFile; fileRef = E0A2C24581917DD090186333; }; 83B488D64AB9828CFFBC55A9 = { isa = PBXBuildFile; fileRef = 3F3D429025A92B6F0FB6F8EF; }; FF613B604C2333F4A4ACEDDA = { isa = PBXBuildFile; fileRef = 5DEA687D261C59CBABB782E9; }; CECE3D66B19693E41850C30D = { isa = PBXBuildFile; fileRef = 5593DEC14D551C38CCB50D70; }; DF419EBD05F13A0D2073D47A = { isa = PBXBuildFile; fileRef = B8E47498C7C6D5ECF41F0EAB; }; C9FB7884928BF0D6140AF881 = { isa = PBXBuildFile; fileRef = 9DC2C10B16A645EEB82220D8; }; - 3CCC5D2710A23471987BEDCA = { isa = PBXBuildFile; fileRef = 14B2B9AF08D9FE757147B6E3; }; - E7574757AD1C91061BC6ED49 = { isa = PBXBuildFile; fileRef = F1F2760C2C0008374BCBBD3A; }; - 8569A272ED68671F2FE9903B = { isa = PBXBuildFile; fileRef = 4863C1CDFA3B7BC79D8CE2B4; }; - 90D5A45E67E1E8A03167346E = { isa = PBXBuildFile; fileRef = 0EAE8B0F92F23D0CB6EABF2B; }; + 5C9628DB3E0C0BA8809AE45D = { isa = PBXBuildFile; fileRef = EE5F18DF1DED7617C4A41FF3; }; + 724DA2BCA5ABC5772604C3B4 = { isa = PBXBuildFile; fileRef = B2BCE9DDC8F0F54CA3D913E7; }; + 140FD4605CC549620CC7F44D = { isa = PBXBuildFile; fileRef = 562A8671221397C9CAD1BB2A; }; + 035B1F7B1505ABF24455690E = { isa = PBXBuildFile; fileRef = 5249EFBE3B22E6FC1A7B6D42; }; 7A86E411B55E15DA7AF1FE67 = { isa = PBXBuildFile; fileRef = 8280AA34B23B4D366711A9E7; }; BD86381924AE45021246ABA3 = { isa = PBXBuildFile; fileRef = C9561A66310DAD5EEB4A9462; }; 306AB64E97A05B800349E7E2 = { isa = PBXBuildFile; fileRef = B62991F8AEE7327BA8A5070F; }; @@ -294,6 +292,7 @@ CB9FE1DA1AFE5FBA9FF06061 = { isa = PBXBuildFile; fileRef = BEB35C6173793C1CB7AB6311; }; DEDFFA49B5CBF862CD6EDFD4 = { isa = PBXBuildFile; fileRef = 1B00957D2190CF28CF03E304; }; 26454A5DB5BAFD7901F17DA7 = { isa = PBXBuildFile; fileRef = BA58B49B820A47F6F55CDACB; }; + F41B46F970BA78762DCE67D1 = { isa = PBXBuildFile; fileRef = 930E58E13FC92BF70AC20EEF; }; B7A8CF6F889840BED05C8C27 = { isa = PBXBuildFile; fileRef = 9113CDD122D2790E147A8CF5; }; 3EBF23F390FC0227260CF7CB = { isa = PBXBuildFile; fileRef = EE56999A85AF18015C540183; }; 1906FDEEDAE61C88A59BC271 = { isa = PBXBuildFile; fileRef = 189F69E0B926C73B654D6951; }; @@ -316,6 +315,7 @@ 0D7547577A31512EDCEDC42C = { isa = PBXBuildFile; fileRef = BA561E64C6400CFB1DE013F6; }; E2FDC7D3E3DC4C1423FA0C5B = { isa = PBXBuildFile; fileRef = 061B492EABD6B1C995D581A8; }; E9943D2BC3C60AF1AB241B48 = { isa = PBXBuildFile; fileRef = 519B519B76E2EEEAB49C62DF; }; + A46B0025A68136ED993E0D85 = { isa = PBXBuildFile; fileRef = 50159A5B7A552A6C1EB557F3; }; B99678E919BF547A3A3F5D6E = { isa = PBXBuildFile; fileRef = CDA5FCC51F6C1E84D7DC3274; }; 5B714CDD0082419BFED7D2D4 = { isa = PBXBuildFile; fileRef = B14735381ADB00741166E330; }; FB5D5D89E17FF079170E3867 = { isa = PBXBuildFile; fileRef = 83F4C7477C76503C8D028288; }; @@ -920,9 +920,6 @@ 524A70C9F23954F8F2A3F99B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ReferenceCountedObject.h; path = ../../src/memory/juce_ReferenceCountedObject.h; sourceTree = SOURCE_ROOT; }; E05812E3CC31875A202D6B30 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedPointer.h; path = ../../src/memory/juce_ScopedPointer.h; sourceTree = SOURCE_ROOT; }; 224C989BF83B6EA867814BFF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WeakReference.h; path = ../../src/memory/juce_WeakReference.h; sourceTree = SOURCE_ROOT; }; - 1C4E5F07F277AE37C71EA547 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_NativeCode.cpp; path = ../../src/native/juce_linux_NativeCode.cpp; sourceTree = SOURCE_ROOT; }; - 3BC24CC03A2F940A615FE935 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_NativeCode.mm; path = ../../src/native/juce_mac_NativeCode.mm; sourceTree = SOURCE_ROOT; }; - 9DFCF3F7BB734C8AABD83D8D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_NativeCode.cpp; path = ../../src/native/juce_win32_NativeCode.cpp; sourceTree = SOURCE_ROOT; }; 213F0A7BF38AF6AB34414A45 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiDataConcatenator.h; path = ../../src/native/common/juce_MidiDataConcatenator.h; sourceTree = SOURCE_ROOT; }; 21B2342B75097AB93CFF7E97 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_posix_NamedPipe.cpp; path = ../../src/native/common/juce_posix_NamedPipe.cpp; sourceTree = SOURCE_ROOT; }; 2C48BB1A286C6A63174E5798 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_posix_SharedCode.h; path = ../../src/native/common/juce_posix_SharedCode.h; sourceTree = SOURCE_ROOT; }; @@ -935,16 +932,17 @@ BAE5CE629DF9D286293E616F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_JackAudio.cpp; path = ../../src/native/linux/juce_linux_JackAudio.cpp; sourceTree = SOURCE_ROOT; }; D4C499CB25F043FE667BC5E1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Messaging.cpp; path = ../../src/native/linux/juce_linux_Messaging.cpp; sourceTree = SOURCE_ROOT; }; 4366712140FBEBEDBCBDCE9B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Midi.cpp; path = ../../src/native/linux/juce_linux_Midi.cpp; sourceTree = SOURCE_ROOT; }; + E0A2C24581917DD090186333 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_NativeCode.cpp; path = ../../src/native/linux/juce_linux_NativeCode.cpp; sourceTree = SOURCE_ROOT; }; E61B485B10F8D4A3986953CD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_linux_NativeIncludes.h; path = ../../src/native/linux/juce_linux_NativeIncludes.h; sourceTree = SOURCE_ROOT; }; 3F3D429025A92B6F0FB6F8EF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Network.cpp; path = ../../src/native/linux/juce_linux_Network.cpp; sourceTree = SOURCE_ROOT; }; 5DEA687D261C59CBABB782E9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_SystemStats.cpp; path = ../../src/native/linux/juce_linux_SystemStats.cpp; sourceTree = SOURCE_ROOT; }; 5593DEC14D551C38CCB50D70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Threads.cpp; path = ../../src/native/linux/juce_linux_Threads.cpp; sourceTree = SOURCE_ROOT; }; B8E47498C7C6D5ECF41F0EAB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_WebBrowserComponent.cpp; path = ../../src/native/linux/juce_linux_WebBrowserComponent.cpp; sourceTree = SOURCE_ROOT; }; 9DC2C10B16A645EEB82220D8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Windowing.cpp; path = ../../src/native/linux/juce_linux_Windowing.cpp; sourceTree = SOURCE_ROOT; }; - 14B2B9AF08D9FE757147B6E3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_iphone_Audio.cpp; path = ../../src/native/mac/juce_iphone_Audio.cpp; sourceTree = SOURCE_ROOT; }; - F1F2760C2C0008374BCBBD3A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_iphone_MessageManager.mm; path = ../../src/native/mac/juce_iphone_MessageManager.mm; sourceTree = SOURCE_ROOT; }; - 4863C1CDFA3B7BC79D8CE2B4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_iphone_MiscUtilities.mm; path = ../../src/native/mac/juce_iphone_MiscUtilities.mm; sourceTree = SOURCE_ROOT; }; - 0EAE8B0F92F23D0CB6EABF2B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_iphone_UIViewComponentPeer.mm; path = ../../src/native/mac/juce_iphone_UIViewComponentPeer.mm; sourceTree = SOURCE_ROOT; }; + EE5F18DF1DED7617C4A41FF3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ios_Audio.cpp; path = ../../src/native/mac/juce_ios_Audio.cpp; sourceTree = SOURCE_ROOT; }; + B2BCE9DDC8F0F54CA3D913E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_MessageManager.mm; path = ../../src/native/mac/juce_ios_MessageManager.mm; sourceTree = SOURCE_ROOT; }; + 562A8671221397C9CAD1BB2A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_MiscUtilities.mm; path = ../../src/native/mac/juce_ios_MiscUtilities.mm; sourceTree = SOURCE_ROOT; }; + 5249EFBE3B22E6FC1A7B6D42 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_UIViewComponentPeer.mm; path = ../../src/native/mac/juce_ios_UIViewComponentPeer.mm; sourceTree = SOURCE_ROOT; }; 8280AA34B23B4D366711A9E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_AppleRemote.mm; path = ../../src/native/mac/juce_mac_AppleRemote.mm; sourceTree = SOURCE_ROOT; }; C9561A66310DAD5EEB4A9462 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_AudioCDBurner.mm; path = ../../src/native/mac/juce_mac_AudioCDBurner.mm; sourceTree = SOURCE_ROOT; }; B62991F8AEE7327BA8A5070F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_AudioCDReader.mm; path = ../../src/native/mac/juce_mac_AudioCDReader.mm; sourceTree = SOURCE_ROOT; }; @@ -961,6 +959,7 @@ BEB35C6173793C1CB7AB6311 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MessageManager.mm; path = ../../src/native/mac/juce_mac_MessageManager.mm; sourceTree = SOURCE_ROOT; }; 1B00957D2190CF28CF03E304 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MiscUtilities.mm; path = ../../src/native/mac/juce_mac_MiscUtilities.mm; sourceTree = SOURCE_ROOT; }; BA58B49B820A47F6F55CDACB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MouseCursor.mm; path = ../../src/native/mac/juce_mac_MouseCursor.mm; sourceTree = SOURCE_ROOT; }; + 930E58E13FC92BF70AC20EEF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_NativeCode.mm; path = ../../src/native/mac/juce_mac_NativeCode.mm; sourceTree = SOURCE_ROOT; }; 2F1812B26076D9CC1495D452 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_mac_NativeIncludes.h; path = ../../src/native/mac/juce_mac_NativeIncludes.h; sourceTree = SOURCE_ROOT; }; 9113CDD122D2790E147A8CF5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Network.mm; path = ../../src/native/mac/juce_mac_Network.mm; sourceTree = SOURCE_ROOT; }; EE56999A85AF18015C540183 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_NSViewComponent.mm; path = ../../src/native/mac/juce_mac_NSViewComponent.mm; sourceTree = SOURCE_ROOT; }; @@ -987,6 +986,7 @@ BA561E64C6400CFB1DE013F6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Messaging.cpp; path = ../../src/native/windows/juce_win32_Messaging.cpp; sourceTree = SOURCE_ROOT; }; 061B492EABD6B1C995D581A8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Midi.cpp; path = ../../src/native/windows/juce_win32_Midi.cpp; sourceTree = SOURCE_ROOT; }; 519B519B76E2EEEAB49C62DF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Misc.cpp; path = ../../src/native/windows/juce_win32_Misc.cpp; sourceTree = SOURCE_ROOT; }; + 50159A5B7A552A6C1EB557F3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_NativeCode.cpp; path = ../../src/native/windows/juce_win32_NativeCode.cpp; sourceTree = SOURCE_ROOT; }; E7625D7A06CBC11F40A56A70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_win32_NativeIncludes.h; path = ../../src/native/windows/juce_win32_NativeIncludes.h; sourceTree = SOURCE_ROOT; }; CDA5FCC51F6C1E84D7DC3274 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Network.cpp; path = ../../src/native/windows/juce_win32_Network.cpp; sourceTree = SOURCE_ROOT; }; B14735381ADB00741166E330 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_OpenGLComponent.cpp; path = ../../src/native/windows/juce_win32_OpenGLComponent.cpp; sourceTree = SOURCE_ROOT; }; @@ -1728,6 +1728,7 @@ BAE5CE629DF9D286293E616F, D4C499CB25F043FE667BC5E1, 4366712140FBEBEDBCBDCE9B, + E0A2C24581917DD090186333, E61B485B10F8D4A3986953CD, 3F3D429025A92B6F0FB6F8EF, 5DEA687D261C59CBABB782E9, @@ -1735,10 +1736,10 @@ B8E47498C7C6D5ECF41F0EAB, 9DC2C10B16A645EEB82220D8 ); name = linux; sourceTree = ""; }; 13513EE40AD6BAB30E26C88B = { isa = PBXGroup; children = ( - 14B2B9AF08D9FE757147B6E3, - F1F2760C2C0008374BCBBD3A, - 4863C1CDFA3B7BC79D8CE2B4, - 0EAE8B0F92F23D0CB6EABF2B, + EE5F18DF1DED7617C4A41FF3, + B2BCE9DDC8F0F54CA3D913E7, + 562A8671221397C9CAD1BB2A, + 5249EFBE3B22E6FC1A7B6D42, 8280AA34B23B4D366711A9E7, C9561A66310DAD5EEB4A9462, B62991F8AEE7327BA8A5070F, @@ -1755,6 +1756,7 @@ BEB35C6173793C1CB7AB6311, 1B00957D2190CF28CF03E304, BA58B49B820A47F6F55CDACB, + 930E58E13FC92BF70AC20EEF, 2F1812B26076D9CC1495D452, 9113CDD122D2790E147A8CF5, EE56999A85AF18015C540183, @@ -1782,6 +1784,7 @@ BA561E64C6400CFB1DE013F6, 061B492EABD6B1C995D581A8, 519B519B76E2EEEAB49C62DF, + 50159A5B7A552A6C1EB557F3, E7625D7A06CBC11F40A56A70, CDA5FCC51F6C1E84D7DC3274, B14735381ADB00741166E330, @@ -1793,9 +1796,6 @@ 8758E6857070D7E5406FDE3F, 8E8BE2F1C182E418BBA6903C ); name = windows; sourceTree = ""; }; B3E58752D519C56B78A95ACE = { isa = PBXGroup; children = ( - 1C4E5F07F277AE37C71EA547, - 3BC24CC03A2F940A615FE935, - 9DFCF3F7BB734C8AABD83D8D, DDB94A7300C3D1F2E9E51C47, 1004A23965A4DB0FCC441ED3, 13513EE40AD6BAB30E26C88B, @@ -2207,9 +2207,6 @@ B3D08D9E24CC369E4838E6FF, 15932C8039A59B0431FBB93E, 3BBC410C79D2F53D32ED7466, - 7BBDAAAFBC81C90E6212C6C4, - 63BEDDA4009950B131FCCA83, - 056129CB247F785CC536A779, 88A4D0443DFD6BA1A1B32AB9, 06F1BEB9AB97F33305B8F816, 6CB4FA2797FBEA5C4C342EED, @@ -2220,15 +2217,16 @@ 3CE21931FC5A59ED7C23144B, DB7E8E984F9BEF4C84B887B1, 07645D91AFD4F8512ECD48ED, + D132232A4A404A7C08D10928, 83B488D64AB9828CFFBC55A9, FF613B604C2333F4A4ACEDDA, CECE3D66B19693E41850C30D, DF419EBD05F13A0D2073D47A, C9FB7884928BF0D6140AF881, - 3CCC5D2710A23471987BEDCA, - E7574757AD1C91061BC6ED49, - 8569A272ED68671F2FE9903B, - 90D5A45E67E1E8A03167346E, + 5C9628DB3E0C0BA8809AE45D, + 724DA2BCA5ABC5772604C3B4, + 140FD4605CC549620CC7F44D, + 035B1F7B1505ABF24455690E, 7A86E411B55E15DA7AF1FE67, BD86381924AE45021246ABA3, 306AB64E97A05B800349E7E2, @@ -2244,6 +2242,7 @@ CB9FE1DA1AFE5FBA9FF06061, DEDFFA49B5CBF862CD6EDFD4, 26454A5DB5BAFD7901F17DA7, + F41B46F970BA78762DCE67D1, B7A8CF6F889840BED05C8C27, 3EBF23F390FC0227260CF7CB, 1906FDEEDAE61C88A59BC271, @@ -2266,6 +2265,7 @@ 0D7547577A31512EDCEDC42C, E2FDC7D3E3DC4C1423FA0C5B, E9943D2BC3C60AF1AB241B48, + A46B0025A68136ED993E0D85, B99678E919BF547A3A3F5D6E, 5B714CDD0082419BFED7D2D4, FB5D5D89E17FF079170E3867, diff --git a/Builds/VisualStudio2005/Juce.vcproj b/Builds/VisualStudio2005/Juce.vcproj index e43cc466d1..3cdbd69660 100644 --- a/Builds/VisualStudio2005/Juce.vcproj +++ b/Builds/VisualStudio2005/Juce.vcproj @@ -848,9 +848,6 @@ - - - @@ -866,6 +863,7 @@ + @@ -874,10 +872,10 @@ - - - - + + + + @@ -894,6 +892,7 @@ + @@ -922,6 +921,7 @@ + diff --git a/Builds/VisualStudio2008/Juce.vcproj b/Builds/VisualStudio2008/Juce.vcproj index 2b2bc83063..a79b41bb79 100644 --- a/Builds/VisualStudio2008/Juce.vcproj +++ b/Builds/VisualStudio2008/Juce.vcproj @@ -848,9 +848,6 @@ - - - @@ -866,6 +863,7 @@ + @@ -874,10 +872,10 @@ - - - - + + + + @@ -894,6 +892,7 @@ + @@ -922,6 +921,7 @@ + diff --git a/Builds/VisualStudio2008_DLL/Juce.vcproj b/Builds/VisualStudio2008_DLL/Juce.vcproj index 699323ce91..3ed6b501fc 100644 --- a/Builds/VisualStudio2008_DLL/Juce.vcproj +++ b/Builds/VisualStudio2008_DLL/Juce.vcproj @@ -850,9 +850,6 @@ - - - @@ -868,6 +865,7 @@ + @@ -876,10 +874,10 @@ - - - - + + + + @@ -896,6 +894,7 @@ + @@ -924,6 +923,7 @@ + diff --git a/Builds/VisualStudio2010/Juce.vcxproj b/Builds/VisualStudio2010/Juce.vcxproj index 90fa07ec64..d191c12aa2 100644 --- a/Builds/VisualStudio2010/Juce.vcxproj +++ b/Builds/VisualStudio2010/Juce.vcxproj @@ -371,8 +371,6 @@ - - @@ -383,12 +381,13 @@ + - + @@ -404,6 +403,7 @@ + diff --git a/Builds/VisualStudio2010/Juce.vcxproj.filters b/Builds/VisualStudio2010/Juce.vcxproj.filters index a93669ecdb..b0d60c44d4 100644 --- a/Builds/VisualStudio2010/Juce.vcxproj.filters +++ b/Builds/VisualStudio2010/Juce.vcxproj.filters @@ -970,15 +970,6 @@ Juce\Source\memory - - Juce\Source\native - - - Juce\Source\native - - - Juce\Source\native - Juce\Source\native\common @@ -1009,6 +1000,9 @@ Juce\Source\native\linux + + Juce\Source\native\linux + Juce\Source\native\linux @@ -1024,16 +1018,16 @@ Juce\Source\native\linux - + Juce\Source\native\mac - + Juce\Source\native\mac - + Juce\Source\native\mac - + Juce\Source\native\mac @@ -1081,6 +1075,9 @@ Juce\Source\native\mac + + Juce\Source\native\mac + Juce\Source\native\mac @@ -1147,6 +1144,9 @@ Juce\Source\native\windows + + Juce\Source\native\windows + Juce\Source\native\windows diff --git a/Builds/iOS/Juce.xcodeproj/project.pbxproj b/Builds/iOS/Juce.xcodeproj/project.pbxproj index dfbb6085f5..e8d8910038 100644 --- a/Builds/iOS/Juce.xcodeproj/project.pbxproj +++ b/Builds/iOS/Juce.xcodeproj/project.pbxproj @@ -257,9 +257,6 @@ B3D08D9E24CC369E4838E6FF = { isa = PBXBuildFile; fileRef = 868E43A4BB7015579789E4F8; }; 15932C8039A59B0431FBB93E = { isa = PBXBuildFile; fileRef = D99C977ACCD09262F06F6624; }; 3BBC410C79D2F53D32ED7466 = { isa = PBXBuildFile; fileRef = AD655AA04981173716022D8D; }; - 7BBDAAAFBC81C90E6212C6C4 = { isa = PBXBuildFile; fileRef = 1C4E5F07F277AE37C71EA547; }; - 63BEDDA4009950B131FCCA83 = { isa = PBXBuildFile; fileRef = 3BC24CC03A2F940A615FE935; }; - 056129CB247F785CC536A779 = { isa = PBXBuildFile; fileRef = 9DFCF3F7BB734C8AABD83D8D; }; 88A4D0443DFD6BA1A1B32AB9 = { isa = PBXBuildFile; fileRef = 21B2342B75097AB93CFF7E97; }; 06F1BEB9AB97F33305B8F816 = { isa = PBXBuildFile; fileRef = 7A51D8B81F390A4CABF25C73; }; 6CB4FA2797FBEA5C4C342EED = { isa = PBXBuildFile; fileRef = 76DB94CC776536F5D05B9445; }; @@ -270,15 +267,16 @@ 3CE21931FC5A59ED7C23144B = { isa = PBXBuildFile; fileRef = BAE5CE629DF9D286293E616F; }; DB7E8E984F9BEF4C84B887B1 = { isa = PBXBuildFile; fileRef = D4C499CB25F043FE667BC5E1; }; 07645D91AFD4F8512ECD48ED = { isa = PBXBuildFile; fileRef = 4366712140FBEBEDBCBDCE9B; }; + D132232A4A404A7C08D10928 = { isa = PBXBuildFile; fileRef = E0A2C24581917DD090186333; }; 83B488D64AB9828CFFBC55A9 = { isa = PBXBuildFile; fileRef = 3F3D429025A92B6F0FB6F8EF; }; FF613B604C2333F4A4ACEDDA = { isa = PBXBuildFile; fileRef = 5DEA687D261C59CBABB782E9; }; CECE3D66B19693E41850C30D = { isa = PBXBuildFile; fileRef = 5593DEC14D551C38CCB50D70; }; DF419EBD05F13A0D2073D47A = { isa = PBXBuildFile; fileRef = B8E47498C7C6D5ECF41F0EAB; }; C9FB7884928BF0D6140AF881 = { isa = PBXBuildFile; fileRef = 9DC2C10B16A645EEB82220D8; }; - 3CCC5D2710A23471987BEDCA = { isa = PBXBuildFile; fileRef = 14B2B9AF08D9FE757147B6E3; }; - E7574757AD1C91061BC6ED49 = { isa = PBXBuildFile; fileRef = F1F2760C2C0008374BCBBD3A; }; - 8569A272ED68671F2FE9903B = { isa = PBXBuildFile; fileRef = 4863C1CDFA3B7BC79D8CE2B4; }; - 90D5A45E67E1E8A03167346E = { isa = PBXBuildFile; fileRef = 0EAE8B0F92F23D0CB6EABF2B; }; + 5C9628DB3E0C0BA8809AE45D = { isa = PBXBuildFile; fileRef = EE5F18DF1DED7617C4A41FF3; }; + 724DA2BCA5ABC5772604C3B4 = { isa = PBXBuildFile; fileRef = B2BCE9DDC8F0F54CA3D913E7; }; + 140FD4605CC549620CC7F44D = { isa = PBXBuildFile; fileRef = 562A8671221397C9CAD1BB2A; }; + 035B1F7B1505ABF24455690E = { isa = PBXBuildFile; fileRef = 5249EFBE3B22E6FC1A7B6D42; }; 7A86E411B55E15DA7AF1FE67 = { isa = PBXBuildFile; fileRef = 8280AA34B23B4D366711A9E7; }; BD86381924AE45021246ABA3 = { isa = PBXBuildFile; fileRef = C9561A66310DAD5EEB4A9462; }; 306AB64E97A05B800349E7E2 = { isa = PBXBuildFile; fileRef = B62991F8AEE7327BA8A5070F; }; @@ -294,6 +292,7 @@ CB9FE1DA1AFE5FBA9FF06061 = { isa = PBXBuildFile; fileRef = BEB35C6173793C1CB7AB6311; }; DEDFFA49B5CBF862CD6EDFD4 = { isa = PBXBuildFile; fileRef = 1B00957D2190CF28CF03E304; }; 26454A5DB5BAFD7901F17DA7 = { isa = PBXBuildFile; fileRef = BA58B49B820A47F6F55CDACB; }; + F41B46F970BA78762DCE67D1 = { isa = PBXBuildFile; fileRef = 930E58E13FC92BF70AC20EEF; }; B7A8CF6F889840BED05C8C27 = { isa = PBXBuildFile; fileRef = 9113CDD122D2790E147A8CF5; }; 3EBF23F390FC0227260CF7CB = { isa = PBXBuildFile; fileRef = EE56999A85AF18015C540183; }; 1906FDEEDAE61C88A59BC271 = { isa = PBXBuildFile; fileRef = 189F69E0B926C73B654D6951; }; @@ -316,6 +315,7 @@ 0D7547577A31512EDCEDC42C = { isa = PBXBuildFile; fileRef = BA561E64C6400CFB1DE013F6; }; E2FDC7D3E3DC4C1423FA0C5B = { isa = PBXBuildFile; fileRef = 061B492EABD6B1C995D581A8; }; E9943D2BC3C60AF1AB241B48 = { isa = PBXBuildFile; fileRef = 519B519B76E2EEEAB49C62DF; }; + A46B0025A68136ED993E0D85 = { isa = PBXBuildFile; fileRef = 50159A5B7A552A6C1EB557F3; }; B99678E919BF547A3A3F5D6E = { isa = PBXBuildFile; fileRef = CDA5FCC51F6C1E84D7DC3274; }; 5B714CDD0082419BFED7D2D4 = { isa = PBXBuildFile; fileRef = B14735381ADB00741166E330; }; FB5D5D89E17FF079170E3867 = { isa = PBXBuildFile; fileRef = 83F4C7477C76503C8D028288; }; @@ -920,9 +920,6 @@ 524A70C9F23954F8F2A3F99B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ReferenceCountedObject.h; path = ../../src/memory/juce_ReferenceCountedObject.h; sourceTree = SOURCE_ROOT; }; E05812E3CC31875A202D6B30 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedPointer.h; path = ../../src/memory/juce_ScopedPointer.h; sourceTree = SOURCE_ROOT; }; 224C989BF83B6EA867814BFF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WeakReference.h; path = ../../src/memory/juce_WeakReference.h; sourceTree = SOURCE_ROOT; }; - 1C4E5F07F277AE37C71EA547 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_NativeCode.cpp; path = ../../src/native/juce_linux_NativeCode.cpp; sourceTree = SOURCE_ROOT; }; - 3BC24CC03A2F940A615FE935 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_NativeCode.mm; path = ../../src/native/juce_mac_NativeCode.mm; sourceTree = SOURCE_ROOT; }; - 9DFCF3F7BB734C8AABD83D8D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_NativeCode.cpp; path = ../../src/native/juce_win32_NativeCode.cpp; sourceTree = SOURCE_ROOT; }; 213F0A7BF38AF6AB34414A45 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiDataConcatenator.h; path = ../../src/native/common/juce_MidiDataConcatenator.h; sourceTree = SOURCE_ROOT; }; 21B2342B75097AB93CFF7E97 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_posix_NamedPipe.cpp; path = ../../src/native/common/juce_posix_NamedPipe.cpp; sourceTree = SOURCE_ROOT; }; 2C48BB1A286C6A63174E5798 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_posix_SharedCode.h; path = ../../src/native/common/juce_posix_SharedCode.h; sourceTree = SOURCE_ROOT; }; @@ -935,16 +932,17 @@ BAE5CE629DF9D286293E616F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_JackAudio.cpp; path = ../../src/native/linux/juce_linux_JackAudio.cpp; sourceTree = SOURCE_ROOT; }; D4C499CB25F043FE667BC5E1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Messaging.cpp; path = ../../src/native/linux/juce_linux_Messaging.cpp; sourceTree = SOURCE_ROOT; }; 4366712140FBEBEDBCBDCE9B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Midi.cpp; path = ../../src/native/linux/juce_linux_Midi.cpp; sourceTree = SOURCE_ROOT; }; + E0A2C24581917DD090186333 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_NativeCode.cpp; path = ../../src/native/linux/juce_linux_NativeCode.cpp; sourceTree = SOURCE_ROOT; }; E61B485B10F8D4A3986953CD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_linux_NativeIncludes.h; path = ../../src/native/linux/juce_linux_NativeIncludes.h; sourceTree = SOURCE_ROOT; }; 3F3D429025A92B6F0FB6F8EF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Network.cpp; path = ../../src/native/linux/juce_linux_Network.cpp; sourceTree = SOURCE_ROOT; }; 5DEA687D261C59CBABB782E9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_SystemStats.cpp; path = ../../src/native/linux/juce_linux_SystemStats.cpp; sourceTree = SOURCE_ROOT; }; 5593DEC14D551C38CCB50D70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Threads.cpp; path = ../../src/native/linux/juce_linux_Threads.cpp; sourceTree = SOURCE_ROOT; }; B8E47498C7C6D5ECF41F0EAB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_WebBrowserComponent.cpp; path = ../../src/native/linux/juce_linux_WebBrowserComponent.cpp; sourceTree = SOURCE_ROOT; }; 9DC2C10B16A645EEB82220D8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Windowing.cpp; path = ../../src/native/linux/juce_linux_Windowing.cpp; sourceTree = SOURCE_ROOT; }; - 14B2B9AF08D9FE757147B6E3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_iphone_Audio.cpp; path = ../../src/native/mac/juce_iphone_Audio.cpp; sourceTree = SOURCE_ROOT; }; - F1F2760C2C0008374BCBBD3A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_iphone_MessageManager.mm; path = ../../src/native/mac/juce_iphone_MessageManager.mm; sourceTree = SOURCE_ROOT; }; - 4863C1CDFA3B7BC79D8CE2B4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_iphone_MiscUtilities.mm; path = ../../src/native/mac/juce_iphone_MiscUtilities.mm; sourceTree = SOURCE_ROOT; }; - 0EAE8B0F92F23D0CB6EABF2B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_iphone_UIViewComponentPeer.mm; path = ../../src/native/mac/juce_iphone_UIViewComponentPeer.mm; sourceTree = SOURCE_ROOT; }; + EE5F18DF1DED7617C4A41FF3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ios_Audio.cpp; path = ../../src/native/mac/juce_ios_Audio.cpp; sourceTree = SOURCE_ROOT; }; + B2BCE9DDC8F0F54CA3D913E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_MessageManager.mm; path = ../../src/native/mac/juce_ios_MessageManager.mm; sourceTree = SOURCE_ROOT; }; + 562A8671221397C9CAD1BB2A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_MiscUtilities.mm; path = ../../src/native/mac/juce_ios_MiscUtilities.mm; sourceTree = SOURCE_ROOT; }; + 5249EFBE3B22E6FC1A7B6D42 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_UIViewComponentPeer.mm; path = ../../src/native/mac/juce_ios_UIViewComponentPeer.mm; sourceTree = SOURCE_ROOT; }; 8280AA34B23B4D366711A9E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_AppleRemote.mm; path = ../../src/native/mac/juce_mac_AppleRemote.mm; sourceTree = SOURCE_ROOT; }; C9561A66310DAD5EEB4A9462 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_AudioCDBurner.mm; path = ../../src/native/mac/juce_mac_AudioCDBurner.mm; sourceTree = SOURCE_ROOT; }; B62991F8AEE7327BA8A5070F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_AudioCDReader.mm; path = ../../src/native/mac/juce_mac_AudioCDReader.mm; sourceTree = SOURCE_ROOT; }; @@ -961,6 +959,7 @@ BEB35C6173793C1CB7AB6311 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MessageManager.mm; path = ../../src/native/mac/juce_mac_MessageManager.mm; sourceTree = SOURCE_ROOT; }; 1B00957D2190CF28CF03E304 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MiscUtilities.mm; path = ../../src/native/mac/juce_mac_MiscUtilities.mm; sourceTree = SOURCE_ROOT; }; BA58B49B820A47F6F55CDACB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MouseCursor.mm; path = ../../src/native/mac/juce_mac_MouseCursor.mm; sourceTree = SOURCE_ROOT; }; + 930E58E13FC92BF70AC20EEF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_NativeCode.mm; path = ../../src/native/mac/juce_mac_NativeCode.mm; sourceTree = SOURCE_ROOT; }; 2F1812B26076D9CC1495D452 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_mac_NativeIncludes.h; path = ../../src/native/mac/juce_mac_NativeIncludes.h; sourceTree = SOURCE_ROOT; }; 9113CDD122D2790E147A8CF5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Network.mm; path = ../../src/native/mac/juce_mac_Network.mm; sourceTree = SOURCE_ROOT; }; EE56999A85AF18015C540183 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_NSViewComponent.mm; path = ../../src/native/mac/juce_mac_NSViewComponent.mm; sourceTree = SOURCE_ROOT; }; @@ -987,6 +986,7 @@ BA561E64C6400CFB1DE013F6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Messaging.cpp; path = ../../src/native/windows/juce_win32_Messaging.cpp; sourceTree = SOURCE_ROOT; }; 061B492EABD6B1C995D581A8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Midi.cpp; path = ../../src/native/windows/juce_win32_Midi.cpp; sourceTree = SOURCE_ROOT; }; 519B519B76E2EEEAB49C62DF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Misc.cpp; path = ../../src/native/windows/juce_win32_Misc.cpp; sourceTree = SOURCE_ROOT; }; + 50159A5B7A552A6C1EB557F3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_NativeCode.cpp; path = ../../src/native/windows/juce_win32_NativeCode.cpp; sourceTree = SOURCE_ROOT; }; E7625D7A06CBC11F40A56A70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_win32_NativeIncludes.h; path = ../../src/native/windows/juce_win32_NativeIncludes.h; sourceTree = SOURCE_ROOT; }; CDA5FCC51F6C1E84D7DC3274 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Network.cpp; path = ../../src/native/windows/juce_win32_Network.cpp; sourceTree = SOURCE_ROOT; }; B14735381ADB00741166E330 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_OpenGLComponent.cpp; path = ../../src/native/windows/juce_win32_OpenGLComponent.cpp; sourceTree = SOURCE_ROOT; }; @@ -1728,6 +1728,7 @@ BAE5CE629DF9D286293E616F, D4C499CB25F043FE667BC5E1, 4366712140FBEBEDBCBDCE9B, + E0A2C24581917DD090186333, E61B485B10F8D4A3986953CD, 3F3D429025A92B6F0FB6F8EF, 5DEA687D261C59CBABB782E9, @@ -1735,10 +1736,10 @@ B8E47498C7C6D5ECF41F0EAB, 9DC2C10B16A645EEB82220D8 ); name = linux; sourceTree = ""; }; 13513EE40AD6BAB30E26C88B = { isa = PBXGroup; children = ( - 14B2B9AF08D9FE757147B6E3, - F1F2760C2C0008374BCBBD3A, - 4863C1CDFA3B7BC79D8CE2B4, - 0EAE8B0F92F23D0CB6EABF2B, + EE5F18DF1DED7617C4A41FF3, + B2BCE9DDC8F0F54CA3D913E7, + 562A8671221397C9CAD1BB2A, + 5249EFBE3B22E6FC1A7B6D42, 8280AA34B23B4D366711A9E7, C9561A66310DAD5EEB4A9462, B62991F8AEE7327BA8A5070F, @@ -1755,6 +1756,7 @@ BEB35C6173793C1CB7AB6311, 1B00957D2190CF28CF03E304, BA58B49B820A47F6F55CDACB, + 930E58E13FC92BF70AC20EEF, 2F1812B26076D9CC1495D452, 9113CDD122D2790E147A8CF5, EE56999A85AF18015C540183, @@ -1782,6 +1784,7 @@ BA561E64C6400CFB1DE013F6, 061B492EABD6B1C995D581A8, 519B519B76E2EEEAB49C62DF, + 50159A5B7A552A6C1EB557F3, E7625D7A06CBC11F40A56A70, CDA5FCC51F6C1E84D7DC3274, B14735381ADB00741166E330, @@ -1793,9 +1796,6 @@ 8758E6857070D7E5406FDE3F, 8E8BE2F1C182E418BBA6903C ); name = windows; sourceTree = ""; }; B3E58752D519C56B78A95ACE = { isa = PBXGroup; children = ( - 1C4E5F07F277AE37C71EA547, - 3BC24CC03A2F940A615FE935, - 9DFCF3F7BB734C8AABD83D8D, DDB94A7300C3D1F2E9E51C47, 1004A23965A4DB0FCC441ED3, 13513EE40AD6BAB30E26C88B, @@ -2211,9 +2211,6 @@ B3D08D9E24CC369E4838E6FF, 15932C8039A59B0431FBB93E, 3BBC410C79D2F53D32ED7466, - 7BBDAAAFBC81C90E6212C6C4, - 63BEDDA4009950B131FCCA83, - 056129CB247F785CC536A779, 88A4D0443DFD6BA1A1B32AB9, 06F1BEB9AB97F33305B8F816, 6CB4FA2797FBEA5C4C342EED, @@ -2224,15 +2221,16 @@ 3CE21931FC5A59ED7C23144B, DB7E8E984F9BEF4C84B887B1, 07645D91AFD4F8512ECD48ED, + D132232A4A404A7C08D10928, 83B488D64AB9828CFFBC55A9, FF613B604C2333F4A4ACEDDA, CECE3D66B19693E41850C30D, DF419EBD05F13A0D2073D47A, C9FB7884928BF0D6140AF881, - 3CCC5D2710A23471987BEDCA, - E7574757AD1C91061BC6ED49, - 8569A272ED68671F2FE9903B, - 90D5A45E67E1E8A03167346E, + 5C9628DB3E0C0BA8809AE45D, + 724DA2BCA5ABC5772604C3B4, + 140FD4605CC549620CC7F44D, + 035B1F7B1505ABF24455690E, 7A86E411B55E15DA7AF1FE67, BD86381924AE45021246ABA3, 306AB64E97A05B800349E7E2, @@ -2248,6 +2246,7 @@ CB9FE1DA1AFE5FBA9FF06061, DEDFFA49B5CBF862CD6EDFD4, 26454A5DB5BAFD7901F17DA7, + F41B46F970BA78762DCE67D1, B7A8CF6F889840BED05C8C27, 3EBF23F390FC0227260CF7CB, 1906FDEEDAE61C88A59BC271, @@ -2270,6 +2269,7 @@ 0D7547577A31512EDCEDC42C, E2FDC7D3E3DC4C1423FA0C5B, E9943D2BC3C60AF1AB241B48, + A46B0025A68136ED993E0D85, B99678E919BF547A3A3F5D6E, 5B714CDD0082419BFED7D2D4, FB5D5D89E17FF079170E3867, diff --git a/Juce.jucer b/Juce.jucer index 73f92a000a..acb720ca2e 100644 --- a/Juce.jucer +++ b/Juce.jucer @@ -1267,12 +1267,6 @@ file="src/memory/juce_WeakReference.h"/> - - - @@ -1300,6 +1294,8 @@ file="src/native/linux/juce_linux_Messaging.cpp"/> + - - - - + + + + + + isThisTheMessageThread()) + return func_ (parameter_); + + AsyncFunctionCaller caller (func_, parameter_); + caller.triggerAsyncUpdate(); + caller.finished.wait(); + return caller.result; + } + + void handleAsyncUpdate() + { + result = (*func) (parameter); + finished.signal(); + } + +private: + WaitableEvent finished; + MessageCallbackFunction* func; + void* parameter; + void* volatile result; + + AsyncFunctionCaller (MessageCallbackFunction* func_, void* parameter_) + : result (0), func (func_), parameter (parameter_) + {} + + JUCE_DECLARE_NON_COPYABLE (AsyncFunctionCaller); +}; + void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* func, void* parameter) { if (LinuxErrorHandling::errorOccurred) return 0; - if (isThisTheMessageThread()) - return func (parameter); - - InternalMessageQueue::MessageThreadFuncCall messageCallContext; - messageCallContext.func = func; - messageCallContext.parameter = parameter; - - InternalMessageQueue::getInstanceWithoutCreating() - ->postMessage (new Message (InternalMessageQueue::MessageThreadFuncCall::uniqueID, - 0, 0, &messageCallContext)); - - // Wait for it to complete before continuing - messageCallContext.event.wait(); - - return messageCallContext.result; + return AsyncFunctionCaller::call (func, parameter); } // this function expects that it will NEVER be called simultaneously for two concurrent threads @@ -264622,7 +264634,7 @@ bool PlatformUtilities::isBundle (const String& filename) #if JUCE_IOS -/*** Start of inlined file: juce_iphone_MiscUtilities.mm ***/ +/*** Start of inlined file: juce_ios_MiscUtilities.mm ***/ // (This file gets included by juce_mac_NativeCode.mm, rather than being // compiled on its own). #if JUCE_INCLUDED_FILE @@ -264770,7 +264782,7 @@ bool Desktop::isScreenSaverEnabled() #endif #endif -/*** End of inlined file: juce_iphone_MiscUtilities.mm ***/ +/*** End of inlined file: juce_ios_MiscUtilities.mm ***/ #else @@ -266378,7 +266390,7 @@ const Image juce_loadWithCoreImage (InputStream& input) /*** End of inlined file: juce_mac_CoreGraphicsContext.mm ***/ -/*** Start of inlined file: juce_iphone_UIViewComponentPeer.mm ***/ +/*** Start of inlined file: juce_ios_UIViewComponentPeer.mm ***/ // (This file gets included by juce_mac_NativeCode.mm, rather than being // compiled on its own). #if JUCE_INCLUDED_FILE @@ -267388,10 +267400,10 @@ const int KeyPress::fastForwardKey = 0x30002; const int KeyPress::rewindKey = 0x30003; #endif -/*** End of inlined file: juce_iphone_UIViewComponentPeer.mm ***/ +/*** End of inlined file: juce_ios_UIViewComponentPeer.mm ***/ -/*** Start of inlined file: juce_iphone_MessageManager.mm ***/ +/*** Start of inlined file: juce_ios_MessageManager.mm ***/ // (This file gets included by juce_mac_NativeCode.mm, rather than being // compiled on its own). #if JUCE_INCLUDED_FILE @@ -267549,7 +267561,7 @@ void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* call } #endif -/*** End of inlined file: juce_iphone_MessageManager.mm ***/ +/*** End of inlined file: juce_ios_MessageManager.mm ***/ /*** Start of inlined file: juce_mac_FileChooser.mm ***/ @@ -268649,7 +268661,7 @@ bool WebBrowserComponent::pageAboutToLoad (const String& url) /*** End of inlined file: juce_mac_WebBrowserComponent.mm ***/ -/*** Start of inlined file: juce_iphone_Audio.cpp ***/ +/*** Start of inlined file: juce_ios_Audio.cpp ***/ // (This file gets included by juce_mac_NativeCode.mm, rather than being // compiled on its own). #if JUCE_INCLUDED_FILE @@ -269198,7 +269210,7 @@ AudioIODeviceType* juce_createAudioIODeviceType_iPhoneAudio() } #endif -/*** End of inlined file: juce_iphone_Audio.cpp ***/ +/*** End of inlined file: juce_ios_Audio.cpp ***/ /*** Start of inlined file: juce_mac_CoreMidi.cpp ***/ diff --git a/juce_amalgamated.h b/juce_amalgamated.h index 095866bb82..c46147a1bf 100644 --- a/juce_amalgamated.h +++ b/juce_amalgamated.h @@ -73,7 +73,7 @@ namespace JuceDummyNamespace {} */ #define JUCE_MAJOR_VERSION 1 #define JUCE_MINOR_VERSION 53 -#define JUCE_BUILDNUMBER 16 +#define JUCE_BUILDNUMBER 17 /** Current Juce version number. @@ -15086,6 +15086,7 @@ public: MacOSX = 0x1000, Linux = 0x2000, + Android = 0x3000, Win95 = 0x4001, Win98 = 0x4002, diff --git a/src/core/juce_StandardHeader.h b/src/core/juce_StandardHeader.h index f1205ad7ae..31141d289c 100644 --- a/src/core/juce_StandardHeader.h +++ b/src/core/juce_StandardHeader.h @@ -33,7 +33,7 @@ */ #define JUCE_MAJOR_VERSION 1 #define JUCE_MINOR_VERSION 53 -#define JUCE_BUILDNUMBER 16 +#define JUCE_BUILDNUMBER 17 /** Current Juce version number. diff --git a/src/core/juce_SystemStats.h b/src/core/juce_SystemStats.h index ff062da58d..3c600707d5 100644 --- a/src/core/juce_SystemStats.h +++ b/src/core/juce_SystemStats.h @@ -54,6 +54,7 @@ public: MacOSX = 0x1000, Linux = 0x2000, + Android = 0x3000, Win95 = 0x4001, Win98 = 0x4002, diff --git a/src/native/juce_linux_NativeCode.cpp b/src/native/juce_linux_NativeCode.cpp deleted file mode 100644 index 7e6f2f9139..0000000000 --- a/src/native/juce_linux_NativeCode.cpp +++ /dev/null @@ -1,122 +0,0 @@ -/* - ============================================================================== - - 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. - - ============================================================================== -*/ - -/* - This file wraps together all the mac-specific code, so that - we can include all the native headers just once, and compile all our - platform-specific stuff in one big lump, keeping it out of the way of - the rest of the codebase. -*/ - -#include "../core/juce_TargetPlatform.h" - -#if JUCE_LINUX - -#undef JUCE_BUILD_NATIVE -#define JUCE_BUILD_NATIVE 1 -#include "linux/juce_linux_NativeIncludes.h" - -BEGIN_JUCE_NAMESPACE - -//============================================================================== -#include "../core/juce_SystemStats.h" -#include "../core/juce_Time.h" -#include "../maths/juce_Random.h" -#include "../core/juce_Singleton.h" -#include "../core/juce_PlatformUtilities.h" -#include "../memory/juce_MemoryBlock.h" -#include "../containers/juce_ReferenceCountedArray.h" -#include "../utilities/juce_DeletedAtShutdown.h" -#include "../utilities/juce_SystemClipboard.h" -#include "../text/juce_StringArray.h" -#include "../text/juce_XmlDocument.h" -#include "../threads/juce_CriticalSection.h" -#include "../threads/juce_Thread.h" -#include "../threads/juce_ScopedLock.h" -#include "../threads/juce_InterProcessLock.h" -#include "../threads/juce_WaitableEvent.h" -#include "../threads/juce_Process.h" -#include "../io/files/juce_File.h" -#include "../io/files/juce_NamedPipe.h" -#include "../io/files/juce_FileInputStream.h" -#include "../io/files/juce_FileOutputStream.h" -#include "../io/files/juce_DirectoryIterator.h" -#include "../io/network/juce_URL.h" -#include "../io/network/juce_MACAddress.h" -#include "../io/streams/juce_MemoryInputStream.h" -#include "../io/streams/juce_MemoryOutputStream.h" -#include "../events/juce_MessageManager.h" -#include "../events/juce_Timer.h" -#include "../application/juce_Application.h" -#include "../audio/dsp/juce_AudioSampleBuffer.h" -#include "../audio/dsp/juce_AudioDataConverters.h" -#include "../audio/audio_file_formats/juce_AudioCDReader.h" -#include "../audio/devices/juce_AudioIODeviceType.h" -#include "../audio/devices/juce_MidiOutput.h" -#include "../audio/devices/juce_MidiInput.h" -#include "../gui/graphics/fonts/juce_Font.h" -#include "../gui/graphics/geometry/juce_RectangleList.h" -#include "../gui/graphics/imaging/juce_ImageFileFormat.h" -#include "../gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" -#include "../gui/components/juce_Desktop.h" -#include "../gui/components/mouse/juce_MouseInputSource.h" -#include "../gui/components/mouse/juce_DragAndDropContainer.h" -#include "../gui/components/keyboard/juce_KeyPress.h" -#include "../gui/components/windows/juce_ComponentPeer.h" -#include "../gui/components/windows/juce_AlertWindow.h" -#include "../gui/components/filebrowser/juce_FileChooser.h" -#include "../gui/components/special/juce_WebBrowserComponent.h" -#include "../gui/components/special/juce_OpenGLComponent.h" -#include "../gui/components/special/juce_SystemTrayIconComponent.h" -#include "../containers/juce_ScopedValueSetter.h" - -//============================================================================== -#define JUCE_INCLUDED_FILE 1 - -// Now include the actual code files.. - -#include "common/juce_posix_SharedCode.h" -#include "linux/juce_linux_Files.cpp" -#include "common/juce_posix_NamedPipe.cpp" -#include "linux/juce_linux_Network.cpp" -#include "linux/juce_linux_SystemStats.cpp" -#include "linux/juce_linux_Threads.cpp" - -#if ! JUCE_ONLY_BUILD_CORE_LIBRARY - #include "linux/juce_linux_Clipboard.cpp" - #include "linux/juce_linux_Messaging.cpp" - #include "linux/juce_linux_Fonts.cpp" - #include "linux/juce_linux_Windowing.cpp" - #include "linux/juce_linux_Audio.cpp" - #include "linux/juce_linux_JackAudio.cpp" - #include "linux/juce_linux_Midi.cpp" - #include "linux/juce_linux_AudioCDReader.cpp" - #include "linux/juce_linux_FileChooser.cpp" - #include "linux/juce_linux_WebBrowserComponent.cpp" -#endif - -END_JUCE_NAMESPACE - -#endif diff --git a/src/native/juce_mac_NativeCode.mm b/src/native/juce_mac_NativeCode.mm deleted file mode 100644 index 673640d0b2..0000000000 --- a/src/native/juce_mac_NativeCode.mm +++ /dev/null @@ -1,242 +0,0 @@ -/* - ============================================================================== - - 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. - - ============================================================================== -*/ - -/* - This file wraps together all the mac-specific code, so that - we can include all the native headers just once, and compile all our - platform-specific stuff in one big lump, keeping it out of the way of - the rest of the codebase. -*/ - -#include "../core/juce_TargetPlatform.h" - -#if JUCE_MAC || JUCE_IOS - -#undef JUCE_BUILD_NATIVE -#define JUCE_BUILD_NATIVE 1 -#include "mac/juce_mac_NativeIncludes.h" - -BEGIN_JUCE_NAMESPACE - -//============================================================================== -#include "../core/juce_Singleton.h" -#include "../maths/juce_Random.h" -#include "../core/juce_SystemStats.h" -#include "../threads/juce_Process.h" -#include "../threads/juce_Thread.h" -#include "../threads/juce_InterProcessLock.h" -#include "../io/files/juce_FileInputStream.h" -#include "../io/files/juce_FileOutputStream.h" -#include "../io/files/juce_NamedPipe.h" -#include "../io/files/juce_DirectoryIterator.h" -#include "../io/network/juce_URL.h" -#include "../io/network/juce_MACAddress.h" -#include "../io/streams/juce_MemoryInputStream.h" -#include "../io/streams/juce_BufferedInputStream.h" -#include "../core/juce_PlatformUtilities.h" -#include "../core/juce_Initialisation.h" -#include "../text/juce_LocalisedStrings.h" -#include "../text/juce_XmlDocument.h" -#include "../utilities/juce_DeletedAtShutdown.h" -#include "../application/juce_Application.h" -#include "../utilities/juce_SystemClipboard.h" -#include "../events/juce_MessageManager.h" -#include "../containers/juce_ReferenceCountedArray.h" -#include "../gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" -#include "../gui/graphics/imaging/juce_ImageFileFormat.h" -#include "../gui/graphics/imaging/juce_CameraDevice.h" -#include "../gui/components/windows/juce_AlertWindow.h" -#include "../gui/components/windows/juce_ComponentPeer.h" -#include "../gui/components/juce_Desktop.h" -#include "../gui/components/menus/juce_MenuBarModel.h" -#include "../gui/components/special/juce_OpenGLComponent.h" -#include "../gui/components/special/juce_QuickTimeMovieComponent.h" -#include "../gui/components/mouse/juce_DragAndDropContainer.h" -#include "../gui/components/mouse/juce_MouseEvent.h" -#include "../gui/components/mouse/juce_MouseInputSource.h" -#include "../gui/components/keyboard/juce_KeyPressMappingSet.h" -#include "../gui/components/special/juce_NSViewComponent.h" -#include "../gui/components/layout/juce_ComponentMovementWatcher.h" -#include "../gui/components/special/juce_WebBrowserComponent.h" -#include "../gui/components/filebrowser/juce_FileChooser.h" -#include "../audio/audio_file_formats/juce_AudioCDBurner.h" -#include "../audio/audio_file_formats/juce_AudioCDReader.h" -#include "../audio/audio_file_formats/juce_AiffAudioFormat.h" -#include "../audio/audio_sources/juce_AudioSource.h" -#include "../audio/dsp/juce_AudioDataConverters.h" -#include "../audio/devices/juce_AudioIODeviceType.h" -#include "../audio/devices/juce_MidiOutput.h" -#include "../audio/devices/juce_MidiInput.h" -#include "../containers/juce_ScopedValueSetter.h" -#include "common/juce_MidiDataConcatenator.h" -#undef Point - -namespace -{ - template - const Rectangle convertToRectInt (const RectType& r) - { - return Rectangle ((int) r.origin.x, (int) r.origin.y, (int) r.size.width, (int) r.size.height); - } - - template - const Rectangle convertToRectFloat (const RectType& r) - { - return Rectangle (r.origin.x, r.origin.y, r.size.width, r.size.height); - } - - template - CGRect convertToCGRect (const RectType& r) - { - return CGRectMake ((CGFloat) r.getX(), (CGFloat) r.getY(), (CGFloat) r.getWidth(), (CGFloat) r.getHeight()); - } -} - -//============================================================================== -class MessageQueue -{ -public: - MessageQueue() - { - #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 && ! JUCE_IOS - runLoop = CFRunLoopGetMain(); - #else - runLoop = CFRunLoopGetCurrent(); - #endif - - CFRunLoopSourceContext sourceContext; - zerostruct (sourceContext); - sourceContext.info = this; - sourceContext.perform = runLoopSourceCallback; - runLoopSource = CFRunLoopSourceCreate (kCFAllocatorDefault, 1, &sourceContext); - CFRunLoopAddSource (runLoop, runLoopSource, kCFRunLoopCommonModes); - } - - ~MessageQueue() - { - CFRunLoopRemoveSource (runLoop, runLoopSource, kCFRunLoopCommonModes); - CFRunLoopSourceInvalidate (runLoopSource); - CFRelease (runLoopSource); - } - - void post (Message* const message) - { - messages.add (message); - CFRunLoopSourceSignal (runLoopSource); - CFRunLoopWakeUp (runLoop); - } - -private: - ReferenceCountedArray messages; - CriticalSection lock; - CFRunLoopRef runLoop; - CFRunLoopSourceRef runLoopSource; - - bool deliverNextMessage() - { - const Message::Ptr nextMessage (messages.removeAndReturn (0)); - - if (nextMessage == 0) - return false; - - const ScopedAutoReleasePool pool; - MessageManager::getInstance()->deliverMessage (nextMessage); - return true; - } - - void runLoopCallback() - { - for (int i = 4; --i >= 0;) - if (! deliverNextMessage()) - return; - - CFRunLoopSourceSignal (runLoopSource); - CFRunLoopWakeUp (runLoop); - } - - static void runLoopSourceCallback (void* info) - { - static_cast (info)->runLoopCallback(); - } -}; - -//============================================================================== -#define JUCE_INCLUDED_FILE 1 - -// Now include the actual code files.. - -#include "mac/juce_mac_ObjCSuffix.h" -#include "mac/juce_mac_Strings.mm" -#include "mac/juce_mac_SystemStats.mm" -#include "mac/juce_mac_Network.mm" -#include "common/juce_posix_NamedPipe.cpp" -#include "mac/juce_mac_Threads.mm" -#include "common/juce_posix_SharedCode.h" -#include "mac/juce_mac_Files.mm" - -#if JUCE_IOS - #include "mac/juce_iphone_MiscUtilities.mm" -#else - #include "mac/juce_mac_MiscUtilities.mm" -#endif - -#include "mac/juce_mac_Debugging.mm" - -#if ! JUCE_ONLY_BUILD_CORE_LIBRARY - #if JUCE_IOS - #include "mac/juce_mac_Fonts.mm" - #include "mac/juce_mac_CoreGraphicsContext.mm" - #include "mac/juce_iphone_UIViewComponentPeer.mm" - #include "mac/juce_iphone_MessageManager.mm" - #include "mac/juce_mac_FileChooser.mm" - #include "mac/juce_mac_OpenGLComponent.mm" - #include "mac/juce_mac_MouseCursor.mm" - #include "mac/juce_mac_WebBrowserComponent.mm" - #include "mac/juce_iphone_Audio.cpp" - #include "mac/juce_mac_CoreMidi.cpp" - #else - #include "mac/juce_mac_Fonts.mm" // (must go before juce_mac_CoreGraphicsContext.mm) - #include "mac/juce_mac_CoreGraphicsContext.mm" - #include "mac/juce_mac_NSViewComponentPeer.mm" - #include "mac/juce_mac_MouseCursor.mm" - #include "mac/juce_mac_NSViewComponent.mm" - #include "mac/juce_mac_AppleRemote.mm" - #include "mac/juce_mac_OpenGLComponent.mm" - #include "mac/juce_mac_MainMenu.mm" - #include "mac/juce_mac_FileChooser.mm" - #include "mac/juce_mac_QuickTimeMovieComponent.mm" - #include "mac/juce_mac_AudioCDBurner.mm" - #include "mac/juce_mac_AudioCDReader.mm" - #include "mac/juce_mac_MessageManager.mm" - #include "mac/juce_mac_WebBrowserComponent.mm" - #include "mac/juce_mac_CoreAudio.cpp" - #include "mac/juce_mac_CoreMidi.cpp" - #include "mac/juce_mac_CameraDevice.mm" - #endif -#endif - -END_JUCE_NAMESPACE - -#endif diff --git a/src/native/juce_win32_NativeCode.cpp b/src/native/juce_win32_NativeCode.cpp deleted file mode 100644 index 1a4f516a4d..0000000000 --- a/src/native/juce_win32_NativeCode.cpp +++ /dev/null @@ -1,130 +0,0 @@ -/* - ============================================================================== - - 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. - - ============================================================================== -*/ - -/* - This file wraps together all the win32-specific code, so that - we can include all the native headers just once, and compile all our - platform-specific stuff in one big lump, keeping it out of the way of - the rest of the codebase. -*/ - -#include "../core/juce_TargetPlatform.h" - -#if JUCE_WINDOWS - -#undef JUCE_BUILD_NATIVE -#define JUCE_BUILD_NATIVE 1 -#include "windows/juce_win32_NativeIncludes.h" -#include "../core/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -//============================================================================== -#include "../core/juce_Singleton.h" -#include "../maths/juce_Random.h" -#include "../core/juce_SystemStats.h" -#include "../threads/juce_Process.h" -#include "../threads/juce_Thread.h" -#include "../threads/juce_InterProcessLock.h" -#include "../io/files/juce_FileInputStream.h" -#include "../io/files/juce_FileOutputStream.h" -#include "../io/files/juce_NamedPipe.h" -#include "../io/files/juce_DirectoryIterator.h" -#include "../io/network/juce_URL.h" -#include "../io/network/juce_MACAddress.h" -#include "../core/juce_PlatformUtilities.h" -#include "../text/juce_LocalisedStrings.h" -#include "../utilities/juce_DeletedAtShutdown.h" -#include "../application/juce_Application.h" -#include "../utilities/juce_SystemClipboard.h" -#include "../events/juce_MessageManager.h" -#include "../gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" -#include "../gui/graphics/imaging/juce_ImageFileFormat.h" -#include "../gui/graphics/imaging/juce_CameraDevice.h" -#include "../gui/components/windows/juce_ComponentPeer.h" -#include "../gui/components/windows/juce_AlertWindow.h" -#include "../gui/components/juce_Desktop.h" -#include "../gui/components/menus/juce_MenuBarModel.h" -#include "../gui/components/special/juce_OpenGLComponent.h" -#include "../gui/components/special/juce_QuickTimeMovieComponent.h" -#include "../gui/components/mouse/juce_DragAndDropContainer.h" -#include "../gui/components/mouse/juce_MouseInputSource.h" -#include "../gui/components/keyboard/juce_KeyPressMappingSet.h" -#include "../gui/components/layout/juce_ComponentMovementWatcher.h" -#include "../gui/components/special/juce_ActiveXControlComponent.h" -#include "../gui/components/special/juce_WebBrowserComponent.h" -#include "../gui/components/special/juce_DropShadower.h" -#include "../gui/components/special/juce_SystemTrayIconComponent.h" -#include "../gui/components/filebrowser/juce_FileChooser.h" -#include "../gui/components/lookandfeel/juce_LookAndFeel.h" -#include "../audio/audio_file_formats/juce_AudioCDBurner.h" -#include "../audio/audio_file_formats/juce_AudioCDReader.h" -#include "../audio/audio_sources/juce_AudioSource.h" -#include "../audio/dsp/juce_AudioDataConverters.h" -#include "../audio/devices/juce_AudioIODeviceType.h" -#include "../audio/devices/juce_MidiOutput.h" -#include "../audio/devices/juce_MidiInput.h" -#include "../containers/juce_ScopedValueSetter.h" -#include "common/juce_MidiDataConcatenator.h" - -//============================================================================== -#define JUCE_INCLUDED_FILE 1 - -// Now include the actual code files.. -#include "windows/juce_win32_DynamicLibraryLoader.cpp" -#include "windows/juce_win32_SystemStats.cpp" -#include "windows/juce_win32_Threads.cpp" -#include "windows/juce_win32_Files.cpp" -#include "windows/juce_win32_Network.cpp" -#include "windows/juce_win32_PlatformUtils.cpp" - -#if ! JUCE_ONLY_BUILD_CORE_LIBRARY - #include "windows/juce_win32_Messaging.cpp" - #include "windows/juce_win32_Fonts.cpp" - #include "windows/juce_win32_Direct2DGraphicsContext.cpp" - #include "windows/juce_win32_Windowing.cpp" - #include "windows/juce_win32_FileChooser.cpp" - #include "windows/juce_win32_Misc.cpp" - #include "windows/juce_win32_ActiveXComponent.cpp" - #include "windows/juce_win32_QuickTimeMovieComponent.cpp" - #include "windows/juce_win32_WebBrowserComponent.cpp" - #include "windows/juce_win32_OpenGLComponent.cpp" - #include "windows/juce_win32_AudioCDReader.cpp" - #include "windows/juce_win32_Midi.cpp" - #include "windows/juce_win32_ASIO.cpp" - #include "windows/juce_win32_DirectSound.cpp" - #include "windows/juce_win32_WASAPI.cpp" - #include "windows/juce_win32_CameraDevice.cpp" -#endif - -//============================================================================== -// Auto-link the other win32 libs that are needed by library calls.. -#if (JUCE_AMALGAMATED_TEMPLATE || defined (JUCE_DLL_BUILD)) && JUCE_MSVC && ! DONT_AUTOLINK_TO_WIN32_LIBRARIES - #include "windows/juce_win32_AutoLinkLibraries.h" -#endif - -END_JUCE_NAMESPACE - -#endif diff --git a/src/native/linux/juce_linux_Messaging.cpp b/src/native/linux/juce_linux_Messaging.cpp index 92cc584935..936f9d4049 100644 --- a/src/native/linux/juce_linux_Messaging.cpp +++ b/src/native/linux/juce_linux_Messaging.cpp @@ -395,26 +395,47 @@ void MessageManager::broadcastMessage (const String& value) /* TODO */ } + +//============================================================================== +class AsyncFunctionCaller : public AsyncUpdater +{ +public: + static void* call (MessageCallbackFunction* func_, void* parameter_) + { + if (MessageManager::getInstance()->isThisTheMessageThread()) + return func_ (parameter_); + + AsyncFunctionCaller caller (func_, parameter_); + caller.triggerAsyncUpdate(); + caller.finished.wait(); + return caller.result; + } + + void handleAsyncUpdate() + { + result = (*func) (parameter); + finished.signal(); + } + +private: + WaitableEvent finished; + MessageCallbackFunction* func; + void* parameter; + void* volatile result; + + AsyncFunctionCaller (MessageCallbackFunction* func_, void* parameter_) + : result (0), func (func_), parameter (parameter_) + {} + + JUCE_DECLARE_NON_COPYABLE (AsyncFunctionCaller); +}; + void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* func, void* parameter) { if (LinuxErrorHandling::errorOccurred) return 0; - if (isThisTheMessageThread()) - return func (parameter); - - InternalMessageQueue::MessageThreadFuncCall messageCallContext; - messageCallContext.func = func; - messageCallContext.parameter = parameter; - - InternalMessageQueue::getInstanceWithoutCreating() - ->postMessage (new Message (InternalMessageQueue::MessageThreadFuncCall::uniqueID, - 0, 0, &messageCallContext)); - - // Wait for it to complete before continuing - messageCallContext.event.wait(); - - return messageCallContext.result; + return AsyncFunctionCaller::call (func, parameter); } // this function expects that it will NEVER be called simultaneously for two concurrent threads diff --git a/src/native/linux/juce_linux_NativeCode.cpp b/src/native/linux/juce_linux_NativeCode.cpp new file mode 100644 index 0000000000..f5cf9a07fb --- /dev/null +++ b/src/native/linux/juce_linux_NativeCode.cpp @@ -0,0 +1,124 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +/* + This file wraps together all the mac-specific code, so that + we can include all the native headers just once, and compile all our + platform-specific stuff in one big lump, keeping it out of the way of + the rest of the codebase. +*/ + +#include "../../core/juce_TargetPlatform.h" + +#if JUCE_LINUX + +#undef JUCE_BUILD_NATIVE +#define JUCE_BUILD_NATIVE 1 + +#include "../../core/juce_StandardHeader.h" +#include "juce_linux_NativeIncludes.h" + +BEGIN_JUCE_NAMESPACE + +//============================================================================== +#include "../../core/juce_SystemStats.h" +#include "../../core/juce_Time.h" +#include "../../maths/juce_Random.h" +#include "../../core/juce_Singleton.h" +#include "../../core/juce_PlatformUtilities.h" +#include "../../memory/juce_MemoryBlock.h" +#include "../../containers/juce_ReferenceCountedArray.h" +#include "../../utilities/juce_DeletedAtShutdown.h" +#include "../../utilities/juce_SystemClipboard.h" +#include "../../text/juce_StringArray.h" +#include "../../text/juce_XmlDocument.h" +#include "../../threads/juce_CriticalSection.h" +#include "../../threads/juce_Thread.h" +#include "../../threads/juce_ScopedLock.h" +#include "../../threads/juce_InterProcessLock.h" +#include "../../threads/juce_WaitableEvent.h" +#include "../../threads/juce_Process.h" +#include "../../io/files/juce_File.h" +#include "../../io/files/juce_NamedPipe.h" +#include "../../io/files/juce_FileInputStream.h" +#include "../../io/files/juce_FileOutputStream.h" +#include "../../io/files/juce_DirectoryIterator.h" +#include "../../io/network/juce_URL.h" +#include "../../io/network/juce_MACAddress.h" +#include "../../io/streams/juce_MemoryInputStream.h" +#include "../../io/streams/juce_MemoryOutputStream.h" +#include "../../events/juce_MessageManager.h" +#include "../../events/juce_Timer.h" +#include "../../application/juce_Application.h" +#include "../../audio/dsp/juce_AudioSampleBuffer.h" +#include "../../audio/dsp/juce_AudioDataConverters.h" +#include "../../audio/audio_file_formats/juce_AudioCDReader.h" +#include "../../audio/devices/juce_AudioIODeviceType.h" +#include "../../audio/devices/juce_MidiOutput.h" +#include "../../audio/devices/juce_MidiInput.h" +#include "../../gui/graphics/fonts/juce_Font.h" +#include "../../gui/graphics/geometry/juce_RectangleList.h" +#include "../../gui/graphics/imaging/juce_ImageFileFormat.h" +#include "../../gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" +#include "../../gui/components/juce_Desktop.h" +#include "../../gui/components/mouse/juce_MouseInputSource.h" +#include "../../gui/components/mouse/juce_DragAndDropContainer.h" +#include "../../gui/components/keyboard/juce_KeyPress.h" +#include "../../gui/components/windows/juce_ComponentPeer.h" +#include "../../gui/components/windows/juce_AlertWindow.h" +#include "../../gui/components/filebrowser/juce_FileChooser.h" +#include "../../gui/components/special/juce_WebBrowserComponent.h" +#include "../../gui/components/special/juce_OpenGLComponent.h" +#include "../../gui/components/special/juce_SystemTrayIconComponent.h" +#include "../../containers/juce_ScopedValueSetter.h" + +//============================================================================== +#define JUCE_INCLUDED_FILE 1 + +// Now include the actual code files.. + +#include "../common/juce_posix_SharedCode.h" +#include "juce_linux_Files.cpp" +#include "../common/juce_posix_NamedPipe.cpp" +#include "juce_linux_Network.cpp" +#include "juce_linux_SystemStats.cpp" +#include "juce_linux_Threads.cpp" + +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY + #include "juce_linux_Clipboard.cpp" + #include "juce_linux_Messaging.cpp" + #include "juce_linux_Fonts.cpp" + #include "juce_linux_Windowing.cpp" + #include "juce_linux_Audio.cpp" + #include "juce_linux_JackAudio.cpp" + #include "juce_linux_Midi.cpp" + #include "juce_linux_AudioCDReader.cpp" + #include "juce_linux_FileChooser.cpp" + #include "juce_linux_WebBrowserComponent.cpp" +#endif + +END_JUCE_NAMESPACE + +#endif diff --git a/src/native/linux/juce_linux_NativeIncludes.h b/src/native/linux/juce_linux_NativeIncludes.h index c2aea4e64c..1d0e38ec76 100644 --- a/src/native/linux/juce_linux_NativeIncludes.h +++ b/src/native/linux/juce_linux_NativeIncludes.h @@ -33,8 +33,6 @@ way of the rest of the codebase. */ -#include "../../../src/core/juce_StandardHeader.h" - #include #include #include diff --git a/src/native/mac/juce_iphone_Audio.cpp b/src/native/mac/juce_ios_Audio.cpp similarity index 100% rename from src/native/mac/juce_iphone_Audio.cpp rename to src/native/mac/juce_ios_Audio.cpp diff --git a/src/native/mac/juce_iphone_MessageManager.mm b/src/native/mac/juce_ios_MessageManager.mm similarity index 100% rename from src/native/mac/juce_iphone_MessageManager.mm rename to src/native/mac/juce_ios_MessageManager.mm diff --git a/src/native/mac/juce_iphone_MiscUtilities.mm b/src/native/mac/juce_ios_MiscUtilities.mm similarity index 100% rename from src/native/mac/juce_iphone_MiscUtilities.mm rename to src/native/mac/juce_ios_MiscUtilities.mm diff --git a/src/native/mac/juce_iphone_UIViewComponentPeer.mm b/src/native/mac/juce_ios_UIViewComponentPeer.mm similarity index 100% rename from src/native/mac/juce_iphone_UIViewComponentPeer.mm rename to src/native/mac/juce_ios_UIViewComponentPeer.mm diff --git a/src/native/mac/juce_mac_NativeCode.mm b/src/native/mac/juce_mac_NativeCode.mm new file mode 100644 index 0000000000..67e7743d86 --- /dev/null +++ b/src/native/mac/juce_mac_NativeCode.mm @@ -0,0 +1,244 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +/* + This file wraps together all the mac-specific code, so that + we can include all the native headers just once, and compile all our + platform-specific stuff in one big lump, keeping it out of the way of + the rest of the codebase. +*/ + +#include "../../core/juce_TargetPlatform.h" + +#if JUCE_MAC || JUCE_IOS + +#undef JUCE_BUILD_NATIVE +#define JUCE_BUILD_NATIVE 1 + +#include "../../core/juce_StandardHeader.h" +#include "juce_mac_NativeIncludes.h" + +BEGIN_JUCE_NAMESPACE + +//============================================================================== +#include "../../core/juce_Singleton.h" +#include "../../maths/juce_Random.h" +#include "../../core/juce_SystemStats.h" +#include "../../threads/juce_Process.h" +#include "../../threads/juce_Thread.h" +#include "../../threads/juce_InterProcessLock.h" +#include "../../io/files/juce_FileInputStream.h" +#include "../../io/files/juce_FileOutputStream.h" +#include "../../io/files/juce_NamedPipe.h" +#include "../../io/files/juce_DirectoryIterator.h" +#include "../../io/network/juce_URL.h" +#include "../../io/network/juce_MACAddress.h" +#include "../../io/streams/juce_MemoryInputStream.h" +#include "../../io/streams/juce_BufferedInputStream.h" +#include "../../core/juce_PlatformUtilities.h" +#include "../../core/juce_Initialisation.h" +#include "../../text/juce_LocalisedStrings.h" +#include "../../text/juce_XmlDocument.h" +#include "../../utilities/juce_DeletedAtShutdown.h" +#include "../../application/juce_Application.h" +#include "../../utilities/juce_SystemClipboard.h" +#include "../../events/juce_MessageManager.h" +#include "../../containers/juce_ReferenceCountedArray.h" +#include "../../gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" +#include "../../gui/graphics/imaging/juce_ImageFileFormat.h" +#include "../../gui/graphics/imaging/juce_CameraDevice.h" +#include "../../gui/components/windows/juce_AlertWindow.h" +#include "../../gui/components/windows/juce_ComponentPeer.h" +#include "../../gui/components/juce_Desktop.h" +#include "../../gui/components/menus/juce_MenuBarModel.h" +#include "../../gui/components/special/juce_OpenGLComponent.h" +#include "../../gui/components/special/juce_QuickTimeMovieComponent.h" +#include "../../gui/components/mouse/juce_DragAndDropContainer.h" +#include "../../gui/components/mouse/juce_MouseEvent.h" +#include "../../gui/components/mouse/juce_MouseInputSource.h" +#include "../../gui/components/keyboard/juce_KeyPressMappingSet.h" +#include "../../gui/components/special/juce_NSViewComponent.h" +#include "../../gui/components/layout/juce_ComponentMovementWatcher.h" +#include "../../gui/components/special/juce_WebBrowserComponent.h" +#include "../../gui/components/filebrowser/juce_FileChooser.h" +#include "../../audio/audio_file_formats/juce_AudioCDBurner.h" +#include "../../audio/audio_file_formats/juce_AudioCDReader.h" +#include "../../audio/audio_file_formats/juce_AiffAudioFormat.h" +#include "../../audio/audio_sources/juce_AudioSource.h" +#include "../../audio/dsp/juce_AudioDataConverters.h" +#include "../../audio/devices/juce_AudioIODeviceType.h" +#include "../../audio/devices/juce_MidiOutput.h" +#include "../../audio/devices/juce_MidiInput.h" +#include "../../containers/juce_ScopedValueSetter.h" +#include "../common/juce_MidiDataConcatenator.h" +#undef Point + +namespace +{ + template + const Rectangle convertToRectInt (const RectType& r) + { + return Rectangle ((int) r.origin.x, (int) r.origin.y, (int) r.size.width, (int) r.size.height); + } + + template + const Rectangle convertToRectFloat (const RectType& r) + { + return Rectangle (r.origin.x, r.origin.y, r.size.width, r.size.height); + } + + template + CGRect convertToCGRect (const RectType& r) + { + return CGRectMake ((CGFloat) r.getX(), (CGFloat) r.getY(), (CGFloat) r.getWidth(), (CGFloat) r.getHeight()); + } +} + +//============================================================================== +class MessageQueue +{ +public: + MessageQueue() + { + #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 && ! JUCE_IOS + runLoop = CFRunLoopGetMain(); + #else + runLoop = CFRunLoopGetCurrent(); + #endif + + CFRunLoopSourceContext sourceContext; + zerostruct (sourceContext); + sourceContext.info = this; + sourceContext.perform = runLoopSourceCallback; + runLoopSource = CFRunLoopSourceCreate (kCFAllocatorDefault, 1, &sourceContext); + CFRunLoopAddSource (runLoop, runLoopSource, kCFRunLoopCommonModes); + } + + ~MessageQueue() + { + CFRunLoopRemoveSource (runLoop, runLoopSource, kCFRunLoopCommonModes); + CFRunLoopSourceInvalidate (runLoopSource); + CFRelease (runLoopSource); + } + + void post (Message* const message) + { + messages.add (message); + CFRunLoopSourceSignal (runLoopSource); + CFRunLoopWakeUp (runLoop); + } + +private: + ReferenceCountedArray messages; + CriticalSection lock; + CFRunLoopRef runLoop; + CFRunLoopSourceRef runLoopSource; + + bool deliverNextMessage() + { + const Message::Ptr nextMessage (messages.removeAndReturn (0)); + + if (nextMessage == 0) + return false; + + const ScopedAutoReleasePool pool; + MessageManager::getInstance()->deliverMessage (nextMessage); + return true; + } + + void runLoopCallback() + { + for (int i = 4; --i >= 0;) + if (! deliverNextMessage()) + return; + + CFRunLoopSourceSignal (runLoopSource); + CFRunLoopWakeUp (runLoop); + } + + static void runLoopSourceCallback (void* info) + { + static_cast (info)->runLoopCallback(); + } +}; + +//============================================================================== +#define JUCE_INCLUDED_FILE 1 + +// Now include the actual code files.. + +#include "juce_mac_ObjCSuffix.h" +#include "juce_mac_Strings.mm" +#include "juce_mac_SystemStats.mm" +#include "juce_mac_Network.mm" +#include "../common/juce_posix_NamedPipe.cpp" +#include "juce_mac_Threads.mm" +#include "../common/juce_posix_SharedCode.h" +#include "juce_mac_Files.mm" + +#if JUCE_IOS + #include "juce_ios_MiscUtilities.mm" +#else + #include "juce_mac_MiscUtilities.mm" +#endif + +#include "juce_mac_Debugging.mm" + +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY + #if JUCE_IOS + #include "juce_mac_Fonts.mm" + #include "juce_mac_CoreGraphicsContext.mm" + #include "juce_ios_UIViewComponentPeer.mm" + #include "juce_ios_MessageManager.mm" + #include "juce_mac_FileChooser.mm" + #include "juce_mac_OpenGLComponent.mm" + #include "juce_mac_MouseCursor.mm" + #include "juce_mac_WebBrowserComponent.mm" + #include "juce_ios_Audio.cpp" + #include "juce_mac_CoreMidi.cpp" + #else + #include "juce_mac_Fonts.mm" // (must go before juce_mac_CoreGraphicsContext.mm) + #include "juce_mac_CoreGraphicsContext.mm" + #include "juce_mac_NSViewComponentPeer.mm" + #include "juce_mac_MouseCursor.mm" + #include "juce_mac_NSViewComponent.mm" + #include "juce_mac_AppleRemote.mm" + #include "juce_mac_OpenGLComponent.mm" + #include "juce_mac_MainMenu.mm" + #include "juce_mac_FileChooser.mm" + #include "juce_mac_QuickTimeMovieComponent.mm" + #include "juce_mac_AudioCDBurner.mm" + #include "juce_mac_AudioCDReader.mm" + #include "juce_mac_MessageManager.mm" + #include "juce_mac_WebBrowserComponent.mm" + #include "juce_mac_CoreAudio.cpp" + #include "juce_mac_CoreMidi.cpp" + #include "juce_mac_CameraDevice.mm" + #endif +#endif + +END_JUCE_NAMESPACE + +#endif diff --git a/src/native/mac/juce_mac_NativeIncludes.h b/src/native/mac/juce_mac_NativeIncludes.h index e20982f859..31e1c4de33 100644 --- a/src/native/mac/juce_mac_NativeIncludes.h +++ b/src/native/mac/juce_mac_NativeIncludes.h @@ -26,15 +26,6 @@ #ifndef __JUCE_MAC_NATIVEINCLUDES_JUCEHEADER__ #define __JUCE_MAC_NATIVEINCLUDES_JUCEHEADER__ -/* - This file wraps together all the mac-specific code, so that - we can include all the native headers just once, and compile all our - platform-specific stuff in one big lump, keeping it out of the way of - the rest of the codebase. -*/ - -#include "../../core/juce_StandardHeader.h" - #define USE_COREGRAPHICS_RENDERING 1 #if JUCE_IOS diff --git a/src/native/windows/juce_win32_NativeCode.cpp b/src/native/windows/juce_win32_NativeCode.cpp new file mode 100644 index 0000000000..19ae10f216 --- /dev/null +++ b/src/native/windows/juce_win32_NativeCode.cpp @@ -0,0 +1,131 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +/* + This file wraps together all the win32-specific code, so that + we can include all the native headers just once, and compile all our + platform-specific stuff in one big lump, keeping it out of the way of + the rest of the codebase. +*/ + +#include "../../core/juce_TargetPlatform.h" + +#if JUCE_WINDOWS + +#undef JUCE_BUILD_NATIVE +#define JUCE_BUILD_NATIVE 1 + +#include "juce_win32_NativeIncludes.h" +#include "../../core/juce_StandardHeader.h" + +BEGIN_JUCE_NAMESPACE + +//============================================================================== +#include "../../core/juce_Singleton.h" +#include "../../maths/juce_Random.h" +#include "../../core/juce_SystemStats.h" +#include "../../threads/juce_Process.h" +#include "../../threads/juce_Thread.h" +#include "../../threads/juce_InterProcessLock.h" +#include "../../io/files/juce_FileInputStream.h" +#include "../../io/files/juce_FileOutputStream.h" +#include "../../io/files/juce_NamedPipe.h" +#include "../../io/files/juce_DirectoryIterator.h" +#include "../../io/network/juce_URL.h" +#include "../../io/network/juce_MACAddress.h" +#include "../../core/juce_PlatformUtilities.h" +#include "../../text/juce_LocalisedStrings.h" +#include "../../utilities/juce_DeletedAtShutdown.h" +#include "../../application/juce_Application.h" +#include "../../utilities/juce_SystemClipboard.h" +#include "../../events/juce_MessageManager.h" +#include "../../gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" +#include "../../gui/graphics/imaging/juce_ImageFileFormat.h" +#include "../../gui/graphics/imaging/juce_CameraDevice.h" +#include "../../gui/components/windows/juce_ComponentPeer.h" +#include "../../gui/components/windows/juce_AlertWindow.h" +#include "../../gui/components/juce_Desktop.h" +#include "../../gui/components/menus/juce_MenuBarModel.h" +#include "../../gui/components/special/juce_OpenGLComponent.h" +#include "../../gui/components/special/juce_QuickTimeMovieComponent.h" +#include "../../gui/components/mouse/juce_DragAndDropContainer.h" +#include "../../gui/components/mouse/juce_MouseInputSource.h" +#include "../../gui/components/keyboard/juce_KeyPressMappingSet.h" +#include "../../gui/components/layout/juce_ComponentMovementWatcher.h" +#include "../../gui/components/special/juce_ActiveXControlComponent.h" +#include "../../gui/components/special/juce_WebBrowserComponent.h" +#include "../../gui/components/special/juce_DropShadower.h" +#include "../../gui/components/special/juce_SystemTrayIconComponent.h" +#include "../../gui/components/filebrowser/juce_FileChooser.h" +#include "../../gui/components/lookandfeel/juce_LookAndFeel.h" +#include "../../audio/audio_file_formats/juce_AudioCDBurner.h" +#include "../../audio/audio_file_formats/juce_AudioCDReader.h" +#include "../../audio/audio_sources/juce_AudioSource.h" +#include "../../audio/dsp/juce_AudioDataConverters.h" +#include "../../audio/devices/juce_AudioIODeviceType.h" +#include "../../audio/devices/juce_MidiOutput.h" +#include "../../audio/devices/juce_MidiInput.h" +#include "../../containers/juce_ScopedValueSetter.h" +#include "../common/juce_MidiDataConcatenator.h" + +//============================================================================== +#define JUCE_INCLUDED_FILE 1 + +// Now include the actual code files.. +#include "juce_win32_DynamicLibraryLoader.cpp" +#include "juce_win32_SystemStats.cpp" +#include "juce_win32_Threads.cpp" +#include "juce_win32_Files.cpp" +#include "juce_win32_Network.cpp" +#include "juce_win32_PlatformUtils.cpp" + +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY + #include "juce_win32_Messaging.cpp" + #include "juce_win32_Fonts.cpp" + #include "juce_win32_Direct2DGraphicsContext.cpp" + #include "juce_win32_Windowing.cpp" + #include "juce_win32_FileChooser.cpp" + #include "juce_win32_Misc.cpp" + #include "juce_win32_ActiveXComponent.cpp" + #include "juce_win32_QuickTimeMovieComponent.cpp" + #include "juce_win32_WebBrowserComponent.cpp" + #include "juce_win32_OpenGLComponent.cpp" + #include "juce_win32_AudioCDReader.cpp" + #include "juce_win32_Midi.cpp" + #include "juce_win32_ASIO.cpp" + #include "juce_win32_DirectSound.cpp" + #include "juce_win32_WASAPI.cpp" + #include "juce_win32_CameraDevice.cpp" +#endif + +//============================================================================== +// Auto-link the other win32 libs that are needed by library calls.. +#if (JUCE_AMALGAMATED_TEMPLATE || defined (JUCE_DLL_BUILD)) && JUCE_MSVC && ! DONT_AUTOLINK_TO_WIN32_LIBRARIES + #include "juce_win32_AutoLinkLibraries.h" +#endif + +END_JUCE_NAMESPACE + +#endif