Browse Source

Added openGL support for the iPhone.

tags/2021-05-28
Julian Storer 15 years ago
parent
commit
a94ebc0461
27 changed files with 1187 additions and 566 deletions
  1. +11
    -4
      extras/Jucer (experimental)/Source/model/jucer_ProjectExport_XCode.h
  2. +220
    -220
      extras/juce demo/Builds/MacOSX/Juce Demo.xcodeproj/project.pbxproj
  3. +5
    -5
      extras/juce demo/Builds/VisualStudio2005/Juce Demo.sln
  4. +1
    -1
      extras/juce demo/Builds/VisualStudio2005/Juce Demo.vcproj
  5. +5
    -5
      extras/juce demo/Builds/VisualStudio2008/Juce Demo.sln
  6. +1
    -1
      extras/juce demo/Builds/VisualStudio2008/Juce Demo.vcproj
  7. +200
    -192
      extras/juce demo/Builds/iPhone/Juce Demo.xcodeproj/project.pbxproj
  8. +3
    -2
      extras/juce demo/Juce Demo.jucer
  9. +2
    -1
      extras/juce demo/JuceLibraryCode/AppConfig.h
  10. +4
    -3
      extras/juce demo/JuceLibraryCode/BinaryData.cpp
  11. +1
    -1
      extras/juce demo/JuceLibraryCode/BinaryData.h
  12. +32
    -4
      extras/juce demo/Source/demos/OpenGLDemo.cpp
  13. +1
    -6
      extras/juce demo/Source/jucedemo_headers.h
  14. +4
    -1
      juce_Config.h
  15. +429
    -54
      juce_amalgamated.cpp
  16. +20
    -7
      juce_amalgamated.h
  17. +1
    -1
      src/core/juce_StandardHeader.h
  18. +4
    -5
      src/gui/components/special/juce_OpenGLComponent.cpp
  19. +17
    -14
      src/gui/components/special/juce_OpenGLComponent.h
  20. +0
    -4
      src/io/files/juce_TemporaryFile.cpp
  21. +4
    -9
      src/native/linux/juce_linux_Windowing.cpp
  22. +1
    -5
      src/native/mac/juce_iphone_UIViewComponentPeer.mm
  23. +5
    -1
      src/native/mac/juce_mac_CameraDevice.mm
  24. +5
    -0
      src/native/mac/juce_mac_NativeIncludes.h
  25. +204
    -9
      src/native/mac/juce_mac_OpenGLComponent.mm
  26. +5
    -10
      src/native/windows/juce_win32_OpenGLComponent.cpp
  27. +2
    -1
      src/utilities/juce_PropertiesFile.cpp

+ 11
- 4
extras/Jucer (experimental)/Source/model/jucer_ProjectExport_XCode.h View File

@@ -488,14 +488,21 @@ private:
StringArray s;
if (iPhone)
{
s.addTokens (T("UIKit Foundation CoreGraphics AudioToolbox"), false);
if ((int) project.getJuceConfigFlag ("JUCE_OPENGL").getValue() == 1)
s.addTokens (T("QuartzCore OpenGLES"), false);
}
else
{
s.addTokens (T("Cocoa Carbon IOKit CoreAudio CoreMIDI WebKit DiscRecording OpenGL QuartzCore QTKit QuickTime"), false);
if (isAU())
s.addTokens (T("AudioUnit CoreAudioKit AudioToolbox"), false);
else if ((int) project.getJuceConfigFlag ("JUCE_PLUGINHOST_AU").getValue() == 1)
s.addTokens (T("AudioUnit CoreAudioKit"), false);
if (isAU())
s.addTokens (T("AudioUnit CoreAudioKit AudioToolbox"), false);
else if ((int) project.getJuceConfigFlag ("JUCE_PLUGINHOST_AU").getValue() == 1)
s.addTokens (T("AudioUnit CoreAudioKit"), false);
}
for (int i = 0; i < s.size(); ++i)
addFramework (s[i]);


+ 220
- 220
extras/juce demo/Builds/MacOSX/Juce Demo.xcodeproj/project.pbxproj View File

@@ -6,171 +6,171 @@
objectVersion = 44;
objects = {

20915FFEC378C0A1E6C96EAC = { isa = PBXBuildFile; fileRef = 057B163F44EC0485FCA05081; };
2CF185F6E9B8343940C21F92 = { isa = PBXBuildFile; fileRef = 2659C9B8310B8CD4ABA47820; };
1B7FEDB2A01E18F33947B5CB = { isa = PBXBuildFile; fileRef = 38F80F061AE618AD08407BCA; };
ECD42C38F1E71FE93C1BCE6E = { isa = PBXBuildFile; fileRef = 4080F849C1FE3013DB59DF12; };
04D3F31A4C84BDA3B5F366CE = { isa = PBXBuildFile; fileRef = 21165FCC9F052172E7256B5C; };
0428E26BE29AF1EA23210F83 = { isa = PBXBuildFile; fileRef = 56B5D2D3FB2B77560EF3E45E; };
8124C59C2A41584D44D2952B = { isa = PBXBuildFile; fileRef = 843199DEE877339C6C9CF7FF; };
3F0A163C30A5301DE2E578A9 = { isa = PBXBuildFile; fileRef = 792420D99BC9FBE3B74A7374; };
6C00A25BA650290D8D48D8E6 = { isa = PBXBuildFile; fileRef = 4DF805B42961EC29F46CEDD1; };
12E2DFFC0A4FF36F4288E4C2 = { isa = PBXBuildFile; fileRef = D56085DC9D0D09AF0DAEEA3F; };
45F5DAF3E6E26132D920043D = { isa = PBXBuildFile; fileRef = DA42E80E8EBD70415618B8FC; };
A9D4CEB8BF6B35872821ECCD = { isa = PBXBuildFile; fileRef = 8CAAF50C584E234C08D5F4B6; };
07A544BF39B1B076D6A41228 = { isa = PBXBuildFile; fileRef = C08E0D90EDF5F3C1DC7960D9; };
73F16F1F0146CEEA5DBCCA0E = { isa = PBXBuildFile; fileRef = F7AFA888A6F33AA6A41DBBF1; };
83D2B03EB08B6BC6E0A385E1 = { isa = PBXBuildFile; fileRef = 4768B9E0E7E47689D2152273; };
0C722E5F96990CA1B5F27046 = { isa = PBXBuildFile; fileRef = C142C47C1CCB975D7ED69A76; };
F6BAACC4178B6483EF2089B9 = { isa = PBXBuildFile; fileRef = 12E008A030CFA73B8A2C5F8D; };
133B5F3401B8B97010441CA8 = { isa = PBXBuildFile; fileRef = A679D77333FEDBBFDD3996CE; };
BD4BACF416D7989BAB96272F = { isa = PBXBuildFile; fileRef = 90405E5EB08DAA8AEF278373; };
FC7D30005FAF2F55AD31E1F7 = { isa = PBXBuildFile; fileRef = 53CDACB61E480F6CD0DA0227; };
1F90CA68AED3A84286873E2D = { isa = PBXBuildFile; fileRef = 25F200D7C24E7D65E6180A96; };
46770F1D01A9249360CAC4F1 = { isa = PBXBuildFile; fileRef = 7C337F848FFCE6B474C24F8F; };
5F598B0DF13D01DB78462450 = { isa = PBXBuildFile; fileRef = CA67B495395BF40180861DBB; };
443769AEA489DBFE4A6904B0 = { isa = PBXBuildFile; fileRef = 9BCDD95754B3483A5AA5CBA3; };
F511BC8A5F0B5C9BC19F8FB7 = { isa = PBXBuildFile; fileRef = 10CD526C87D2AE14485D9E02; };
C02D29C17C874EEB8B811264 = { isa = PBXBuildFile; fileRef = D77329750883321F2B19C175; };
A586096D3A6BAF493634A393 = { isa = PBXBuildFile; fileRef = 685ED451763D1ECDF37C069A; };
3F3DECC996DAADBDCD7D276C = { isa = PBXBuildFile; fileRef = B51FED2131FBE1356A01B300; };
948DB156D3ADAC90034428A9 = { isa = PBXBuildFile; fileRef = B19EC95562A9E9EDC3E9B1A9; };
554C5D64E0396AF57640E861 = { isa = PBXBuildFile; fileRef = E4275128DD1C668E42E12F93; };
3D4C6B63961E3A0212142B8C = { isa = PBXBuildFile; fileRef = 14C92BB589AB3736AE0D2993; };
D451763D1ECDF37C069A3770 = { isa = PBXBuildFile; fileRef = C5445AF598689D6BF0F83CBE; };
EA6A2F2B7DE0322ED19BFD55 = { isa = PBXBuildFile; fileRef = B532F2C386E75E0E34783044; };
F97659F31912D12C91E95549 = { isa = PBXBuildFile; fileRef = D027981BD4F6CC3DB5103192; };
56752EC63E4979FD534D2009 = { isa = PBXBuildFile; fileRef = 78A1366D8680F8706D29BA89; };
C383E3A9627121BF26A2EACA = { isa = PBXBuildFile; fileRef = 212AD4AE482A14B305233281; };
2082A87B96A8C980E806A59A = { isa = PBXBuildFile; fileRef = DA9462FFFAC440E6BE3DBA78; };
057B163F44EC0485FCA05081 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
2659C9B8310B8CD4ABA47820 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
38F80F061AE618AD08407BCA = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
4080F849C1FE3013DB59DF12 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
21165FCC9F052172E7256B5C = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
56B5D2D3FB2B77560EF3E45E = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
843199DEE877339C6C9CF7FF = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
792420D99BC9FBE3B74A7374 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
4DF805B42961EC29F46CEDD1 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
D56085DC9D0D09AF0DAEEA3F = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
DA42E80E8EBD70415618B8FC = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
56BC57F08A02495F85DB8DC8 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
6B2414965418FDE8B71BF091 = { isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = SOURCE_ROOT; };
8CAAF50C584E234C08D5F4B6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ApplicationStartup.cpp; path = ../../Source/ApplicationStartup.cpp; sourceTree = SOURCE_ROOT; };
C08E0D90EDF5F3C1DC7960D9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainDemoWindow.cpp; path = ../../Source/MainDemoWindow.cpp; sourceTree = SOURCE_ROOT; };
FB1ADFC973C66571E2962637 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainDemoWindow.h; path = ../../Source/MainDemoWindow.h; sourceTree = SOURCE_ROOT; };
4BE34F808E4597871BE6E83D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucedemo_headers.h; path = ../../Source/jucedemo_headers.h; sourceTree = SOURCE_ROOT; };
F7AFA888A6F33AA6A41DBBF1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoLatencyPage.cpp; path = ../../Source/demos/AudioDemoLatencyPage.cpp; sourceTree = SOURCE_ROOT; };
C8FECA3890075D8C8124F71C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoLatencyPage.h; path = ../../Source/demos/AudioDemoLatencyPage.h; sourceTree = SOURCE_ROOT; };
4768B9E0E7E47689D2152273 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoPlaybackPage.cpp; path = ../../Source/demos/AudioDemoPlaybackPage.cpp; sourceTree = SOURCE_ROOT; };
8182FA9F3E05EA434B048C8B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoPlaybackPage.h; path = ../../Source/demos/AudioDemoPlaybackPage.h; sourceTree = SOURCE_ROOT; };
C142C47C1CCB975D7ED69A76 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoRecordPage.cpp; path = ../../Source/demos/AudioDemoRecordPage.cpp; sourceTree = SOURCE_ROOT; };
123BE3D4AE300D6A8901D25C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoRecordPage.h; path = ../../Source/demos/AudioDemoRecordPage.h; sourceTree = SOURCE_ROOT; };
12E008A030CFA73B8A2C5F8D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoSetupPage.cpp; path = ../../Source/demos/AudioDemoSetupPage.cpp; sourceTree = SOURCE_ROOT; };
F3FBE7B3648DC27B2FD6B696 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoSetupPage.h; path = ../../Source/demos/AudioDemoSetupPage.h; sourceTree = SOURCE_ROOT; };
A679D77333FEDBBFDD3996CE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoSynthPage.cpp; path = ../../Source/demos/AudioDemoSynthPage.cpp; sourceTree = SOURCE_ROOT; };
2C7A5ABF7F84DDB6CC69FE24 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoSynthPage.h; path = ../../Source/demos/AudioDemoSynthPage.h; sourceTree = SOURCE_ROOT; };
90405E5EB08DAA8AEF278373 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoTabComponent.cpp; path = ../../Source/demos/AudioDemoTabComponent.cpp; sourceTree = SOURCE_ROOT; };
00090BE7B99A50D58854C369 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoTabComponent.h; path = ../../Source/demos/AudioDemoTabComponent.h; sourceTree = SOURCE_ROOT; };
53CDACB61E480F6CD0DA0227 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CameraDemo.cpp; path = ../../Source/demos/CameraDemo.cpp; sourceTree = SOURCE_ROOT; };
25F200D7C24E7D65E6180A96 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CodeEditorDemo.cpp; path = ../../Source/demos/CodeEditorDemo.cpp; sourceTree = SOURCE_ROOT; };
7C337F848FFCE6B474C24F8F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DragAndDropDemo.cpp; path = ../../Source/demos/DragAndDropDemo.cpp; sourceTree = SOURCE_ROOT; };
CA67B495395BF40180861DBB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FontsAndTextDemo.cpp; path = ../../Source/demos/FontsAndTextDemo.cpp; sourceTree = SOURCE_ROOT; };
9BCDD95754B3483A5AA5CBA3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InterprocessCommsDemo.cpp; path = ../../Source/demos/InterprocessCommsDemo.cpp; sourceTree = SOURCE_ROOT; };
10CD526C87D2AE14485D9E02 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLDemo.cpp; path = ../../Source/demos/OpenGLDemo.cpp; sourceTree = SOURCE_ROOT; };
D77329750883321F2B19C175 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = QuickTimeDemo.cpp; path = ../../Source/demos/QuickTimeDemo.cpp; sourceTree = SOURCE_ROOT; };
685ED451763D1ECDF37C069A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RenderingTestComponent.cpp; path = ../../Source/demos/RenderingTestComponent.cpp; sourceTree = SOURCE_ROOT; };
811F98EC290C7A97FC44209A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RenderingTestComponent.h; path = ../../Source/demos/RenderingTestComponent.h; sourceTree = SOURCE_ROOT; };
B51FED2131FBE1356A01B300 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TableDemo.cpp; path = ../../Source/demos/TableDemo.cpp; sourceTree = SOURCE_ROOT; };
B19EC95562A9E9EDC3E9B1A9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadingDemo.cpp; path = ../../Source/demos/ThreadingDemo.cpp; sourceTree = SOURCE_ROOT; };
E4275128DD1C668E42E12F93 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TreeViewDemo.cpp; path = ../../Source/demos/TreeViewDemo.cpp; sourceTree = SOURCE_ROOT; };
14C92BB589AB3736AE0D2993 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WebBrowserDemo.cpp; path = ../../Source/demos/WebBrowserDemo.cpp; sourceTree = SOURCE_ROOT; };
C5445AF598689D6BF0F83CBE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WidgetsDemo.cpp; path = ../../Source/demos/WidgetsDemo.cpp; sourceTree = SOURCE_ROOT; };
E393B96DABAE67B4BF9CC8A0 = { isa = PBXFileReference; lastKnownFileType = file.wav; name = cello.wav; path = "../../Binary Data/cello.wav"; sourceTree = SOURCE_ROOT; };
29C2F4E4B5B2D1809AE3F2E0 = { isa = PBXFileReference; lastKnownFileType = file.xml; name = "demo table data.xml"; path = "../../Binary Data/demo table data.xml"; sourceTree = SOURCE_ROOT; };
3161255EB1EA2EB48796EF3D = { isa = PBXFileReference; lastKnownFileType = file.zip; name = icons.zip; path = "../../Binary Data/icons.zip"; sourceTree = SOURCE_ROOT; };
7CD420C22AF83DB31EE71EA6 = { isa = PBXFileReference; lastKnownFileType = image.png; name = juce.png; path = "../../Binary Data/juce.png"; sourceTree = SOURCE_ROOT; };
A5B7CC1437DA58DFC19AA3C8 = { isa = PBXFileReference; lastKnownFileType = file.xml; name = treedemo.xml; path = "../../Binary Data/treedemo.xml"; sourceTree = SOURCE_ROOT; };
3B0725900B1EB76FCFF9725F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
CF077D3ED7B7B56F351AAF67 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
B532F2C386E75E0E34783044 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; };
16FA53FF896BC5EA2C681C1A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; };
D027981BD4F6CC3DB5103192 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode1.mm; path = ../../JuceLibraryCode/JuceLibraryCode1.mm; sourceTree = SOURCE_ROOT; };
78A1366D8680F8706D29BA89 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode2.mm; path = ../../JuceLibraryCode/JuceLibraryCode2.mm; sourceTree = SOURCE_ROOT; };
212AD4AE482A14B305233281 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode3.mm; path = ../../JuceLibraryCode/JuceLibraryCode3.mm; sourceTree = SOURCE_ROOT; };
DA9462FFFAC440E6BE3DBA78 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode4.mm; path = ../../JuceLibraryCode/JuceLibraryCode4.mm; sourceTree = SOURCE_ROOT; };
FD1552CA3E06EF6E4FC85A8A = { isa = PBXGroup; children = (
F7AFA888A6F33AA6A41DBBF1,
C8FECA3890075D8C8124F71C,
4768B9E0E7E47689D2152273,
8182FA9F3E05EA434B048C8B,
C142C47C1CCB975D7ED69A76,
123BE3D4AE300D6A8901D25C,
12E008A030CFA73B8A2C5F8D,
F3FBE7B3648DC27B2FD6B696,
A679D77333FEDBBFDD3996CE,
2C7A5ABF7F84DDB6CC69FE24,
90405E5EB08DAA8AEF278373,
00090BE7B99A50D58854C369,
53CDACB61E480F6CD0DA0227,
25F200D7C24E7D65E6180A96,
7C337F848FFCE6B474C24F8F,
CA67B495395BF40180861DBB,
9BCDD95754B3483A5AA5CBA3,
10CD526C87D2AE14485D9E02,
D77329750883321F2B19C175,
685ED451763D1ECDF37C069A,
811F98EC290C7A97FC44209A,
B51FED2131FBE1356A01B300,
B19EC95562A9E9EDC3E9B1A9,
E4275128DD1C668E42E12F93,
14C92BB589AB3736AE0D2993,
C5445AF598689D6BF0F83CBE ); name = Demos; sourceTree = "<group>"; };
C9C1EC6EEE457C21A26B0EC3 = { isa = PBXGroup; children = (
E393B96DABAE67B4BF9CC8A0,
29C2F4E4B5B2D1809AE3F2E0,
3161255EB1EA2EB48796EF3D,
7CD420C22AF83DB31EE71EA6,
A5B7CC1437DA58DFC19AA3C8 ); name = "Binary Data"; sourceTree = "<group>"; };
2EA528914EC159A58C97A873 = { isa = PBXGroup; children = (
8CAAF50C584E234C08D5F4B6,
C08E0D90EDF5F3C1DC7960D9,
FB1ADFC973C66571E2962637,
4BE34F808E4597871BE6E83D,
FD1552CA3E06EF6E4FC85A8A,
C9C1EC6EEE457C21A26B0EC3 ); name = Source; sourceTree = "<group>"; };
3B5437A20FCADA50EBD06731 = { isa = PBXGroup; children = (
3B0725900B1EB76FCFF9725F,
CF077D3ED7B7B56F351AAF67,
B532F2C386E75E0E34783044,
16FA53FF896BC5EA2C681C1A,
D027981BD4F6CC3DB5103192,
78A1366D8680F8706D29BA89,
212AD4AE482A14B305233281,
DA9462FFFAC440E6BE3DBA78 ); name = "Juce Library Code"; sourceTree = "<group>"; };
F473AC9C072A0F6CF3B5410F = { isa = PBXGroup; children = (
6B2414965418FDE8B71BF091 ); name = Resources; sourceTree = "<group>"; };
6030FE912A851A2507B3BF34 = { isa = PBXGroup; children = (
057B163F44EC0485FCA05081,
2659C9B8310B8CD4ABA47820,
38F80F061AE618AD08407BCA,
4080F849C1FE3013DB59DF12,
21165FCC9F052172E7256B5C,
56B5D2D3FB2B77560EF3E45E,
843199DEE877339C6C9CF7FF,
792420D99BC9FBE3B74A7374,
4DF805B42961EC29F46CEDD1,
D56085DC9D0D09AF0DAEEA3F,
DA42E80E8EBD70415618B8FC ); name = Frameworks; sourceTree = "<group>"; };
29CBBCDCEE131C353F0715E1 = { isa = PBXGroup; children = (
56BC57F08A02495F85DB8DC8 ); name = Products; sourceTree = "<group>"; };
24AF20CBAA4DC5F17CFE8606 = { isa = PBXGroup; children = (
2EA528914EC159A58C97A873,
3B5437A20FCADA50EBD06731,
F473AC9C072A0F6CF3B5410F,
6030FE912A851A2507B3BF34,
29CBBCDCEE131C353F0715E1 ); name = Source; sourceTree = "<group>"; };
52C29F86E3DBE91F252B8C0D = { isa = XCBuildConfiguration; buildSettings = {
92A7143821252FB13891CC53 = { isa = PBXBuildFile; fileRef = 2B37CDCFCBC0AC0AEAA9A479; };
DEDBEF9AC48F8AD1502B6DC2 = { isa = PBXBuildFile; fileRef = 6A7D4DC561F2DD95ABD76F0D; };
29F75103FFB220F2E10CF9A9 = { isa = PBXBuildFile; fileRef = 3CE85049C3E91E38E71FF149; };
687BFA1946EAD55C5C39907C = { isa = PBXBuildFile; fileRef = DA3360514D221A36446DC6DE; };
ED283D0ABEC2EC312E40C6B4 = { isa = PBXBuildFile; fileRef = 010E9F48D32EA5C5451D8086; };
0CFE603DE523940AF3352227 = { isa = PBXBuildFile; fileRef = 9BE978B2BDA9B7DA3BE403B4; };
420A9C88B711F5E4997FAAD0 = { isa = PBXBuildFile; fileRef = CB7CDD93EE1469B969AF844E; };
C1437C4A64EB72D2A86729D3 = { isa = PBXBuildFile; fileRef = 85E860BFDA9D53EF77C08873; };
F1BAE9DCD179C8784FF28F8D = { isa = PBXBuildFile; fileRef = 4A96850C150C1C6D87A0D21A; };
B9911F3AC6CADFB47D1EA8D7 = { isa = PBXBuildFile; fileRef = 4D3E0D18D24F78B6BDE0E5DA; };
452052BBDBAF17DCC06EF521 = { isa = PBXBuildFile; fileRef = E0C3359BB4B5260CEB917D46; };
78A66C2F9A9E2E6D011D8E5E = { isa = PBXBuildFile; fileRef = 885A20D277AD743C21C822B5; };
CE5C46E66485B7D77B5ADB4E = { isa = PBXBuildFile; fileRef = 42291DB48BF81754D90FE200; };
2E2DB52D03DD6A56FAC937A4 = { isa = PBXBuildFile; fileRef = 0704E2D6B0D1B38FBBBC6B85; };
8E0E3B718F35E9E1DC3D89C5 = { isa = PBXBuildFile; fileRef = D856109CF311BB94D8EE8826; };
C4C49D2D5D27730E55B27BCB = { isa = PBXBuildFile; fileRef = 411D5D0920812790F4F78462; };
2CD67851BCF3F24E0B5F82CF = { isa = PBXBuildFile; fileRef = 67F817AAB55ED2BE16B376BF; };
29C9F0E2824F63B105234C0A = { isa = PBXBuildFile; fileRef = FBCE524D94BF5BE0160142D4; };
7EFB4E7D738BFFF90F49E0C0 = { isa = PBXBuildFile; fileRef = 048CEE4CC06227D8A57E47F2; };
B69F5957B1729915BFB18735 = { isa = PBXBuildFile; fileRef = 7D65727C8F72F2BCC9A17D34; };
F920A5AB6D0FF01022575079 = { isa = PBXBuildFile; fileRef = 268D7AFE2F3822C2C8E9A612; };
A3AF0F559DD97F1B908AC1CA = { isa = PBXBuildFile; fileRef = F23738E4EFD2323063F82F1C; };
2C0AB902CB01E38D87A2A6A5 = { isa = PBXBuildFile; fileRef = B7F4DAFA5F8F1FC976C8B55D; };
ACD2210FDE1137548F995F85 = { isa = PBXBuildFile; fileRef = F7620D8D567CCE463ADDE0A6; };
2F6BFF7DD839160223057CF7 = { isa = PBXBuildFile; fileRef = DA3BCFCC5BF07FC689DB5C34; };
1552CF5A0A932C5EB88EC56C = { isa = PBXBuildFile; fileRef = D6EF70641473A3E7C0DC5168; };
969C49FA8B55C700ED848494 = { isa = PBXBuildFile; fileRef = 3BC17D4051063C1BF66548C6; };
AE1CB65D73BFB3FA707B59FF = { isa = PBXBuildFile; fileRef = 08B45C29F5EEC874E014D122; };
99D9F5D6FC8A015C603B32C3 = { isa = PBXBuildFile; fileRef = D5F519861915C136BAA8D87A; };
563DEC7941B88163A50E0945 = { isa = PBXBuildFile; fileRef = 402768B1A52E32348D505F18; };
F5691895ACDC7B12DE88EFF4 = { isa = PBXBuildFile; fileRef = F2EB42A070E349D77ACF77C9; };
4D5C0ED42C87FBE02A9C7BE6 = { isa = PBXBuildFile; fileRef = CF7FFEAFF4F386ED4DAED523; };
80926D2B83ACF680958111EC = { isa = PBXBuildFile; fileRef = E6EF5CE04768BA5B10050D51; };
2201A04DDCFC361882F8EA62 = { isa = PBXBuildFile; fileRef = BA05C84C3258A1978AF3D357; };
2E98B1DEA8B7FC20ACCD2E6D = { isa = PBXBuildFile; fileRef = F42C91375F3314CA6EE65697; };
3A2EC17F8472C338D6A26278 = { isa = PBXBuildFile; fileRef = 4D526A336B2E97ED42CADAD7; };
36B5D100604D9A300187B773 = { isa = PBXBuildFile; fileRef = 8679333E781A0A0116AE5D26; };
2B37CDCFCBC0AC0AEAA9A479 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
6A7D4DC561F2DD95ABD76F0D = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
3CE85049C3E91E38E71FF149 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
DA3360514D221A36446DC6DE = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
010E9F48D32EA5C5451D8086 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
9BE978B2BDA9B7DA3BE403B4 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
CB7CDD93EE1469B969AF844E = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
85E860BFDA9D53EF77C08873 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
4A96850C150C1C6D87A0D21A = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
4D3E0D18D24F78B6BDE0E5DA = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
E0C3359BB4B5260CEB917D46 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
39B98C60B57B831FE5215CDD = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
1A9DEA62F6A3CD1FB5CF105B = { isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = SOURCE_ROOT; };
885A20D277AD743C21C822B5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ApplicationStartup.cpp; path = ../../Source/ApplicationStartup.cpp; sourceTree = SOURCE_ROOT; };
42291DB48BF81754D90FE200 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainDemoWindow.cpp; path = ../../Source/MainDemoWindow.cpp; sourceTree = SOURCE_ROOT; };
49138F5652E637AA67CD4B70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainDemoWindow.h; path = ../../Source/MainDemoWindow.h; sourceTree = SOURCE_ROOT; };
18BDC68F9701862603871A7A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucedemo_headers.h; path = ../../Source/jucedemo_headers.h; sourceTree = SOURCE_ROOT; };
0704E2D6B0D1B38FBBBC6B85 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoLatencyPage.cpp; path = ../../Source/demos/AudioDemoLatencyPage.cpp; sourceTree = SOURCE_ROOT; };
D793BFCCD11E218E5CED3320 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoLatencyPage.h; path = ../../Source/demos/AudioDemoLatencyPage.h; sourceTree = SOURCE_ROOT; };
D856109CF311BB94D8EE8826 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoPlaybackPage.cpp; path = ../../Source/demos/AudioDemoPlaybackPage.cpp; sourceTree = SOURCE_ROOT; };
FC989E104DDB02E8A99B6564 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoPlaybackPage.h; path = ../../Source/demos/AudioDemoPlaybackPage.h; sourceTree = SOURCE_ROOT; };
411D5D0920812790F4F78462 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoRecordPage.cpp; path = ../../Source/demos/AudioDemoRecordPage.cpp; sourceTree = SOURCE_ROOT; };
570DE12AFA65E0EF97A76118 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoRecordPage.h; path = ../../Source/demos/AudioDemoRecordPage.h; sourceTree = SOURCE_ROOT; };
67F817AAB55ED2BE16B376BF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoSetupPage.cpp; path = ../../Source/demos/AudioDemoSetupPage.cpp; sourceTree = SOURCE_ROOT; };
91ACA90EFCAD4614B3ECC0C5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoSetupPage.h; path = ../../Source/demos/AudioDemoSetupPage.h; sourceTree = SOURCE_ROOT; };
FBCE524D94BF5BE0160142D4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoSynthPage.cpp; path = ../../Source/demos/AudioDemoSynthPage.cpp; sourceTree = SOURCE_ROOT; };
865617D983052FBE0ADDDEDF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoSynthPage.h; path = ../../Source/demos/AudioDemoSynthPage.h; sourceTree = SOURCE_ROOT; };
048CEE4CC06227D8A57E47F2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoTabComponent.cpp; path = ../../Source/demos/AudioDemoTabComponent.cpp; sourceTree = SOURCE_ROOT; };
8BEA0B754661F3038DBAF558 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoTabComponent.h; path = ../../Source/demos/AudioDemoTabComponent.h; sourceTree = SOURCE_ROOT; };
7D65727C8F72F2BCC9A17D34 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CameraDemo.cpp; path = ../../Source/demos/CameraDemo.cpp; sourceTree = SOURCE_ROOT; };
268D7AFE2F3822C2C8E9A612 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CodeEditorDemo.cpp; path = ../../Source/demos/CodeEditorDemo.cpp; sourceTree = SOURCE_ROOT; };
F23738E4EFD2323063F82F1C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DragAndDropDemo.cpp; path = ../../Source/demos/DragAndDropDemo.cpp; sourceTree = SOURCE_ROOT; };
B7F4DAFA5F8F1FC976C8B55D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FontsAndTextDemo.cpp; path = ../../Source/demos/FontsAndTextDemo.cpp; sourceTree = SOURCE_ROOT; };
F7620D8D567CCE463ADDE0A6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InterprocessCommsDemo.cpp; path = ../../Source/demos/InterprocessCommsDemo.cpp; sourceTree = SOURCE_ROOT; };
DA3BCFCC5BF07FC689DB5C34 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLDemo.cpp; path = ../../Source/demos/OpenGLDemo.cpp; sourceTree = SOURCE_ROOT; };
D6EF70641473A3E7C0DC5168 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = QuickTimeDemo.cpp; path = ../../Source/demos/QuickTimeDemo.cpp; sourceTree = SOURCE_ROOT; };
3BC17D4051063C1BF66548C6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RenderingTestComponent.cpp; path = ../../Source/demos/RenderingTestComponent.cpp; sourceTree = SOURCE_ROOT; };
A6FB61B33BDDB0880203370C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RenderingTestComponent.h; path = ../../Source/demos/RenderingTestComponent.h; sourceTree = SOURCE_ROOT; };
08B45C29F5EEC874E014D122 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TableDemo.cpp; path = ../../Source/demos/TableDemo.cpp; sourceTree = SOURCE_ROOT; };
D5F519861915C136BAA8D87A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadingDemo.cpp; path = ../../Source/demos/ThreadingDemo.cpp; sourceTree = SOURCE_ROOT; };
402768B1A52E32348D505F18 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TreeViewDemo.cpp; path = ../../Source/demos/TreeViewDemo.cpp; sourceTree = SOURCE_ROOT; };
F2EB42A070E349D77ACF77C9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WebBrowserDemo.cpp; path = ../../Source/demos/WebBrowserDemo.cpp; sourceTree = SOURCE_ROOT; };
CF7FFEAFF4F386ED4DAED523 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WidgetsDemo.cpp; path = ../../Source/demos/WidgetsDemo.cpp; sourceTree = SOURCE_ROOT; };
ACFD7F6AAFC09C234D15501D = { isa = PBXFileReference; lastKnownFileType = file.wav; name = cello.wav; path = "../../Binary Data/cello.wav"; sourceTree = SOURCE_ROOT; };
A869663CA0E96FE15BB42A97 = { isa = PBXFileReference; lastKnownFileType = file.xml; name = "demo table data.xml"; path = "../../Binary Data/demo table data.xml"; sourceTree = SOURCE_ROOT; };
A76B69386F1F19647804510D = { isa = PBXFileReference; lastKnownFileType = file.zip; name = icons.zip; path = "../../Binary Data/icons.zip"; sourceTree = SOURCE_ROOT; };
013E12213AD7B4BEB28A31BE = { isa = PBXFileReference; lastKnownFileType = image.png; name = juce.png; path = "../../Binary Data/juce.png"; sourceTree = SOURCE_ROOT; };
C7327AD5191A22C1FBD4F5F9 = { isa = PBXFileReference; lastKnownFileType = file.xml; name = treedemo.xml; path = "../../Binary Data/treedemo.xml"; sourceTree = SOURCE_ROOT; };
EE37A0ECE471A928C6170F9B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
A6B37799E63CCE882A3383FB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
E6EF5CE04768BA5B10050D51 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; };
CC7EB9777A4DE3408705625C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; };
BA05C84C3258A1978AF3D357 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode1.mm; path = ../../JuceLibraryCode/JuceLibraryCode1.mm; sourceTree = SOURCE_ROOT; };
F42C91375F3314CA6EE65697 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode2.mm; path = ../../JuceLibraryCode/JuceLibraryCode2.mm; sourceTree = SOURCE_ROOT; };
4D526A336B2E97ED42CADAD7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode3.mm; path = ../../JuceLibraryCode/JuceLibraryCode3.mm; sourceTree = SOURCE_ROOT; };
8679333E781A0A0116AE5D26 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode4.mm; path = ../../JuceLibraryCode/JuceLibraryCode4.mm; sourceTree = SOURCE_ROOT; };
1045A435754FDEACC6D7259C = { isa = PBXGroup; children = (
0704E2D6B0D1B38FBBBC6B85,
D793BFCCD11E218E5CED3320,
D856109CF311BB94D8EE8826,
FC989E104DDB02E8A99B6564,
411D5D0920812790F4F78462,
570DE12AFA65E0EF97A76118,
67F817AAB55ED2BE16B376BF,
91ACA90EFCAD4614B3ECC0C5,
FBCE524D94BF5BE0160142D4,
865617D983052FBE0ADDDEDF,
048CEE4CC06227D8A57E47F2,
8BEA0B754661F3038DBAF558,
7D65727C8F72F2BCC9A17D34,
268D7AFE2F3822C2C8E9A612,
F23738E4EFD2323063F82F1C,
B7F4DAFA5F8F1FC976C8B55D,
F7620D8D567CCE463ADDE0A6,
DA3BCFCC5BF07FC689DB5C34,
D6EF70641473A3E7C0DC5168,
3BC17D4051063C1BF66548C6,
A6FB61B33BDDB0880203370C,
08B45C29F5EEC874E014D122,
D5F519861915C136BAA8D87A,
402768B1A52E32348D505F18,
F2EB42A070E349D77ACF77C9,
CF7FFEAFF4F386ED4DAED523 ); name = Demos; sourceTree = "<group>"; };
7B2518B268DCBBF7B74F2B1D = { isa = PBXGroup; children = (
ACFD7F6AAFC09C234D15501D,
A869663CA0E96FE15BB42A97,
A76B69386F1F19647804510D,
013E12213AD7B4BEB28A31BE,
C7327AD5191A22C1FBD4F5F9 ); name = "Binary Data"; sourceTree = "<group>"; };
A10CCE1B2A215D5AE12386E3 = { isa = PBXGroup; children = (
885A20D277AD743C21C822B5,
42291DB48BF81754D90FE200,
49138F5652E637AA67CD4B70,
18BDC68F9701862603871A7A,
1045A435754FDEACC6D7259C,
7B2518B268DCBBF7B74F2B1D ); name = Source; sourceTree = "<group>"; };
4C2E644EAC72C263D09C74BB = { isa = PBXGroup; children = (
EE37A0ECE471A928C6170F9B,
A6B37799E63CCE882A3383FB,
E6EF5CE04768BA5B10050D51,
CC7EB9777A4DE3408705625C,
BA05C84C3258A1978AF3D357,
F42C91375F3314CA6EE65697,
4D526A336B2E97ED42CADAD7,
8679333E781A0A0116AE5D26 ); name = "Juce Library Code"; sourceTree = "<group>"; };
019CD423F1EFF7A1A0A079DD = { isa = PBXGroup; children = (
1A9DEA62F6A3CD1FB5CF105B ); name = Resources; sourceTree = "<group>"; };
244B9AF7D858999910FD243E = { isa = PBXGroup; children = (
2B37CDCFCBC0AC0AEAA9A479,
6A7D4DC561F2DD95ABD76F0D,
3CE85049C3E91E38E71FF149,
DA3360514D221A36446DC6DE,
010E9F48D32EA5C5451D8086,
9BE978B2BDA9B7DA3BE403B4,
CB7CDD93EE1469B969AF844E,
85E860BFDA9D53EF77C08873,
4A96850C150C1C6D87A0D21A,
4D3E0D18D24F78B6BDE0E5DA,
E0C3359BB4B5260CEB917D46 ); name = Frameworks; sourceTree = "<group>"; };
3F406773369804D0FBF2789A = { isa = PBXGroup; children = (
39B98C60B57B831FE5215CDD ); name = Products; sourceTree = "<group>"; };
D6A4B94A747BFCF299B17932 = { isa = PBXGroup; children = (
A10CCE1B2A215D5AE12386E3,
4C2E644EAC72C263D09C74BB,
019CD423F1EFF7A1A0A079DD,
244B9AF7D858999910FD243E,
3F406773369804D0FBF2789A ); name = Source; sourceTree = "<group>"; };
F46B3E8DBAFA746E04F4F62C = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
PREBINDING = NO;
HEADER_SEARCH_PATHS = " $(inherited)";
@@ -185,7 +185,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"_DEBUG=1",
"DEBUG=1 "); }; name = Debug; };
7DBDB93B1B9DF79BA4819F7F = { isa = XCBuildConfiguration; buildSettings = {
8EF7C7FFD55219581A5075F3 = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
PREBINDING = NO;
HEADER_SEARCH_PATHS = " $(inherited)";
@@ -198,7 +198,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"_NDEBUG=1",
"NDEBUG=1 "); }; name = Release; };
B612DCB6B9D782F3D3744B79 = { isa = XCBuildConfiguration; buildSettings = {
7FA986B99AFC795723E00AB0 = { isa = XCBuildConfiguration; buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -212,7 +212,7 @@
ZERO_LINK = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
PRODUCT_NAME = "JuceDemo"; }; name = Debug; };
ABFBF014E4913E0475A16742 = { isa = XCBuildConfiguration; buildSettings = {
623F392572A48BDD48CE1CC4 = { isa = XCBuildConfiguration; buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -226,57 +226,57 @@
ZERO_LINK = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
PRODUCT_NAME = "JuceDemo"; }; name = Release; };
B89AA9A9D76AFB9FD94E91F1 = { isa = XCConfigurationList; buildConfigurations = (
B612DCB6B9D782F3D3744B79,
ABFBF014E4913E0475A16742 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
29330EA5DC9F3CCDAD719B7B = { isa = XCConfigurationList; buildConfigurations = (
52C29F86E3DBE91F252B8C0D,
7DBDB93B1B9DF79BA4819F7F ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
EEA25E5ECDB75868B1875A36 = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; };
B2757B8179BE66929127AD2D = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
A9D4CEB8BF6B35872821ECCD,
07A544BF39B1B076D6A41228,
73F16F1F0146CEEA5DBCCA0E,
83D2B03EB08B6BC6E0A385E1,
0C722E5F96990CA1B5F27046,
F6BAACC4178B6483EF2089B9,
133B5F3401B8B97010441CA8,
BD4BACF416D7989BAB96272F,
FC7D30005FAF2F55AD31E1F7,
1F90CA68AED3A84286873E2D,
46770F1D01A9249360CAC4F1,
5F598B0DF13D01DB78462450,
443769AEA489DBFE4A6904B0,
F511BC8A5F0B5C9BC19F8FB7,
C02D29C17C874EEB8B811264,
A586096D3A6BAF493634A393,
3F3DECC996DAADBDCD7D276C,
948DB156D3ADAC90034428A9,
554C5D64E0396AF57640E861,
3D4C6B63961E3A0212142B8C,
D451763D1ECDF37C069A3770,
EA6A2F2B7DE0322ED19BFD55,
F97659F31912D12C91E95549,
56752EC63E4979FD534D2009,
C383E3A9627121BF26A2EACA,
2082A87B96A8C980E806A59A ); runOnlyForDeploymentPostprocessing = 0; };
6C1906E1104429D10063FE75 = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
20915FFEC378C0A1E6C96EAC,
2CF185F6E9B8343940C21F92,
1B7FEDB2A01E18F33947B5CB,
ECD42C38F1E71FE93C1BCE6E,
04D3F31A4C84BDA3B5F366CE,
0428E26BE29AF1EA23210F83,
8124C59C2A41584D44D2952B,
3F0A163C30A5301DE2E578A9,
6C00A25BA650290D8D48D8E6,
12E2DFFC0A4FF36F4288E4C2,
45F5DAF3E6E26132D920043D ); runOnlyForDeploymentPostprocessing = 0; };
44C47F7E6BD5B8AB41466286 = { isa = PBXNativeTarget; buildConfigurationList = 29330EA5DC9F3CCDAD719B7B; buildPhases = (
EEA25E5ECDB75868B1875A36,
B2757B8179BE66929127AD2D,
6C1906E1104429D10063FE75 ); buildRules = ( ); dependencies = ( ); name = "Juce Demo"; productName = "Juce Demo"; productReference = 56BC57F08A02495F85DB8DC8; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; };
CBEE715C52BD1D65BBB7F342 = { isa = PBXProject; buildConfigurationList = B89AA9A9D76AFB9FD94E91F1; compatibilityVersion = "Xcode 3.0"; hasScannedForEncodings = 0; mainGroup = 24AF20CBAA4DC5F17CFE8606; projectDirPath = ""; projectRoot = ""; targets = ( 44C47F7E6BD5B8AB41466286 ); };
2B22E1D006C8AF43954EE79D = { isa = XCConfigurationList; buildConfigurations = (
7FA986B99AFC795723E00AB0,
623F392572A48BDD48CE1CC4 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
C264FE1BF62B589B345E0C81 = { isa = XCConfigurationList; buildConfigurations = (
F46B3E8DBAFA746E04F4F62C,
8EF7C7FFD55219581A5075F3 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
AE930F136F638C3C939F7146 = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; };
7A3A0C722E5F96990CA1B5F2 = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
78A66C2F9A9E2E6D011D8E5E,
CE5C46E66485B7D77B5ADB4E,
2E2DB52D03DD6A56FAC937A4,
8E0E3B718F35E9E1DC3D89C5,
C4C49D2D5D27730E55B27BCB,
2CD67851BCF3F24E0B5F82CF,
29C9F0E2824F63B105234C0A,
7EFB4E7D738BFFF90F49E0C0,
B69F5957B1729915BFB18735,
F920A5AB6D0FF01022575079,
A3AF0F559DD97F1B908AC1CA,
2C0AB902CB01E38D87A2A6A5,
ACD2210FDE1137548F995F85,
2F6BFF7DD839160223057CF7,
1552CF5A0A932C5EB88EC56C,
969C49FA8B55C700ED848494,
AE1CB65D73BFB3FA707B59FF,
99D9F5D6FC8A015C603B32C3,
563DEC7941B88163A50E0945,
F5691895ACDC7B12DE88EFF4,
4D5C0ED42C87FBE02A9C7BE6,
80926D2B83ACF680958111EC,
2201A04DDCFC361882F8EA62,
2E98B1DEA8B7FC20ACCD2E6D,
3A2EC17F8472C338D6A26278,
36B5D100604D9A300187B773 ); runOnlyForDeploymentPostprocessing = 0; };
2E5F3CCB074AC0B18683A4F3 = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
92A7143821252FB13891CC53,
DEDBEF9AC48F8AD1502B6DC2,
29F75103FFB220F2E10CF9A9,
687BFA1946EAD55C5C39907C,
ED283D0ABEC2EC312E40C6B4,
0CFE603DE523940AF3352227,
420A9C88B711F5E4997FAAD0,
C1437C4A64EB72D2A86729D3,
F1BAE9DCD179C8784FF28F8D,
B9911F3AC6CADFB47D1EA8D7,
452052BBDBAF17DCC06EF521 ); runOnlyForDeploymentPostprocessing = 0; };
F26B86DEACDEE5DFB60E10B1 = { isa = PBXNativeTarget; buildConfigurationList = C264FE1BF62B589B345E0C81; buildPhases = (
AE930F136F638C3C939F7146,
7A3A0C722E5F96990CA1B5F2,
2E5F3CCB074AC0B18683A4F3 ); buildRules = ( ); dependencies = ( ); name = "Juce Demo"; productName = "Juce Demo"; productReference = 39B98C60B57B831FE5215CDD; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; };
FD051827ADE403C022034508 = { isa = PBXProject; buildConfigurationList = 2B22E1D006C8AF43954EE79D; compatibilityVersion = "Xcode 3.0"; hasScannedForEncodings = 0; mainGroup = D6A4B94A747BFCF299B17932; projectDirPath = ""; projectRoot = ""; targets = ( F26B86DEACDEE5DFB60E10B1 ); };
};
rootObject = CBEE715C52BD1D65BBB7F342;
rootObject = FD051827ADE403C022034508;
}

+ 5
- 5
extras/juce demo/Builds/VisualStudio2005/Juce Demo.sln View File

@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 8.00
# Visual C++ Express 2005
Project("{3B1DD41A-AF04-DA23-7081-0A1575DE7532}") = "Juce Demo", "Juce Demo.vcproj", "{49CD629B-E99C-F915-A29E-7BE8278496F2}"
Project("{7A947A64-CDD8-D41D-F886-5E65A8ABDF81}") = "Juce Demo", "Juce Demo.vcproj", "{36211E76-A802-50EE-3B95-0202F4EB67ED}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -9,10 +9,10 @@ Global
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{49CD629B-E99C-F915-A29E-7BE8278496F2}.Debug|Win32.ActiveCfg = Debug|Win32
{49CD629B-E99C-F915-A29E-7BE8278496F2}.Debug|Win32.Build.0 = Debug|Win32
{49CD629B-E99C-F915-A29E-7BE8278496F2}.Release|Win32.ActiveCfg = Release|Win32
{49CD629B-E99C-F915-A29E-7BE8278496F2}.Release|Win32.Build.0 = Release|Win32
{36211E76-A802-50EE-3B95-0202F4EB67ED}.Debug|Win32.ActiveCfg = Debug|Win32
{36211E76-A802-50EE-3B95-0202F4EB67ED}.Debug|Win32.Build.0 = Debug|Win32
{36211E76-A802-50EE-3B95-0202F4EB67ED}.Release|Win32.ActiveCfg = Release|Win32
{36211E76-A802-50EE-3B95-0202F4EB67ED}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE


+ 1
- 1
extras/juce demo/Builds/VisualStudio2005/Juce Demo.vcproj View File

@@ -3,7 +3,7 @@
<VisualStudioProject ProjectType="Visual C++"
Version="8.00"
Name="Juce Demo"
ProjectGUID="{49CD629B-E99C-F915-A29E-7BE8278496F2}"
ProjectGUID="{36211E76-A802-50EE-3B95-0202F4EB67ED}"
TargetFrameworkVersion="131072">
<Platforms>
<Platform Name="Win32"/>


+ 5
- 5
extras/juce demo/Builds/VisualStudio2008/Juce Demo.sln View File

@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
Project("{3B1DD41A-AF04-DA23-7081-0A1575DE7532}") = "Juce Demo", "Juce Demo.vcproj", "{49CD629B-E99C-F915-A29E-7BE8278496F2}"
Project("{7A947A64-CDD8-D41D-F886-5E65A8ABDF81}") = "Juce Demo", "Juce Demo.vcproj", "{36211E76-A802-50EE-3B95-0202F4EB67ED}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -9,10 +9,10 @@ Global
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{49CD629B-E99C-F915-A29E-7BE8278496F2}.Debug|Win32.ActiveCfg = Debug|Win32
{49CD629B-E99C-F915-A29E-7BE8278496F2}.Debug|Win32.Build.0 = Debug|Win32
{49CD629B-E99C-F915-A29E-7BE8278496F2}.Release|Win32.ActiveCfg = Release|Win32
{49CD629B-E99C-F915-A29E-7BE8278496F2}.Release|Win32.Build.0 = Release|Win32
{36211E76-A802-50EE-3B95-0202F4EB67ED}.Debug|Win32.ActiveCfg = Debug|Win32
{36211E76-A802-50EE-3B95-0202F4EB67ED}.Debug|Win32.Build.0 = Debug|Win32
{36211E76-A802-50EE-3B95-0202F4EB67ED}.Release|Win32.ActiveCfg = Release|Win32
{36211E76-A802-50EE-3B95-0202F4EB67ED}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE


+ 1
- 1
extras/juce demo/Builds/VisualStudio2008/Juce Demo.vcproj View File

@@ -3,7 +3,7 @@
<VisualStudioProject ProjectType="Visual C++"
Version="9.00"
Name="Juce Demo"
ProjectGUID="{49CD629B-E99C-F915-A29E-7BE8278496F2}"
ProjectGUID="{36211E76-A802-50EE-3B95-0202F4EB67ED}"
TargetFrameworkVersion="131072">
<Platforms>
<Platform Name="Win32"/>


+ 200
- 192
extras/juce demo/Builds/iPhone/Juce Demo.xcodeproj/project.pbxproj View File

@@ -6,150 +6,156 @@
objectVersion = 44;
objects = {

A82540492797AA2A111F534F = { isa = PBXBuildFile; fileRef = FE73A99FC442611763B78962; };
D351446B8D35F4C9EADDF0F8 = { isa = PBXBuildFile; fileRef = 6FB2992756D842FF2A71CBDF; };
DDE2D54D9AF8DEDFC66E75D4 = { isa = PBXBuildFile; fileRef = A4EE39790FFF23240CB7BFB6; };
2C6ED8CEE9C15855321CDEE6 = { isa = PBXBuildFile; fileRef = 80AFA57E396DBF8EB3483F66; };
A9D4CEB8BF6B35872821ECCD = { isa = PBXBuildFile; fileRef = 8CAAF50C584E234C08D5F4B6; };
07A544BF39B1B076D6A41228 = { isa = PBXBuildFile; fileRef = C08E0D90EDF5F3C1DC7960D9; };
73F16F1F0146CEEA5DBCCA0E = { isa = PBXBuildFile; fileRef = F7AFA888A6F33AA6A41DBBF1; };
83D2B03EB08B6BC6E0A385E1 = { isa = PBXBuildFile; fileRef = 4768B9E0E7E47689D2152273; };
0C722E5F96990CA1B5F27046 = { isa = PBXBuildFile; fileRef = C142C47C1CCB975D7ED69A76; };
F6BAACC4178B6483EF2089B9 = { isa = PBXBuildFile; fileRef = 12E008A030CFA73B8A2C5F8D; };
133B5F3401B8B97010441CA8 = { isa = PBXBuildFile; fileRef = A679D77333FEDBBFDD3996CE; };
BD4BACF416D7989BAB96272F = { isa = PBXBuildFile; fileRef = 90405E5EB08DAA8AEF278373; };
FC7D30005FAF2F55AD31E1F7 = { isa = PBXBuildFile; fileRef = 53CDACB61E480F6CD0DA0227; };
1F90CA68AED3A84286873E2D = { isa = PBXBuildFile; fileRef = 25F200D7C24E7D65E6180A96; };
46770F1D01A9249360CAC4F1 = { isa = PBXBuildFile; fileRef = 7C337F848FFCE6B474C24F8F; };
5F598B0DF13D01DB78462450 = { isa = PBXBuildFile; fileRef = CA67B495395BF40180861DBB; };
443769AEA489DBFE4A6904B0 = { isa = PBXBuildFile; fileRef = 9BCDD95754B3483A5AA5CBA3; };
F511BC8A5F0B5C9BC19F8FB7 = { isa = PBXBuildFile; fileRef = 10CD526C87D2AE14485D9E02; };
C02D29C17C874EEB8B811264 = { isa = PBXBuildFile; fileRef = D77329750883321F2B19C175; };
A586096D3A6BAF493634A393 = { isa = PBXBuildFile; fileRef = 685ED451763D1ECDF37C069A; };
3F3DECC996DAADBDCD7D276C = { isa = PBXBuildFile; fileRef = B51FED2131FBE1356A01B300; };
948DB156D3ADAC90034428A9 = { isa = PBXBuildFile; fileRef = B19EC95562A9E9EDC3E9B1A9; };
554C5D64E0396AF57640E861 = { isa = PBXBuildFile; fileRef = E4275128DD1C668E42E12F93; };
3D4C6B63961E3A0212142B8C = { isa = PBXBuildFile; fileRef = 14C92BB589AB3736AE0D2993; };
D451763D1ECDF37C069A3770 = { isa = PBXBuildFile; fileRef = C5445AF598689D6BF0F83CBE; };
EA6A2F2B7DE0322ED19BFD55 = { isa = PBXBuildFile; fileRef = B532F2C386E75E0E34783044; };
F97659F31912D12C91E95549 = { isa = PBXBuildFile; fileRef = D027981BD4F6CC3DB5103192; };
56752EC63E4979FD534D2009 = { isa = PBXBuildFile; fileRef = 78A1366D8680F8706D29BA89; };
C383E3A9627121BF26A2EACA = { isa = PBXBuildFile; fileRef = 212AD4AE482A14B305233281; };
2082A87B96A8C980E806A59A = { isa = PBXBuildFile; fileRef = DA9462FFFAC440E6BE3DBA78; };
FE73A99FC442611763B78962 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
6FB2992756D842FF2A71CBDF = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
A4EE39790FFF23240CB7BFB6 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
80AFA57E396DBF8EB3483F66 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
56BC57F08A02495F85DB8DC8 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
6B2414965418FDE8B71BF091 = { isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = SOURCE_ROOT; };
8CAAF50C584E234C08D5F4B6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ApplicationStartup.cpp; path = ../../Source/ApplicationStartup.cpp; sourceTree = SOURCE_ROOT; };
C08E0D90EDF5F3C1DC7960D9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainDemoWindow.cpp; path = ../../Source/MainDemoWindow.cpp; sourceTree = SOURCE_ROOT; };
FB1ADFC973C66571E2962637 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainDemoWindow.h; path = ../../Source/MainDemoWindow.h; sourceTree = SOURCE_ROOT; };
4BE34F808E4597871BE6E83D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucedemo_headers.h; path = ../../Source/jucedemo_headers.h; sourceTree = SOURCE_ROOT; };
F7AFA888A6F33AA6A41DBBF1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoLatencyPage.cpp; path = ../../Source/demos/AudioDemoLatencyPage.cpp; sourceTree = SOURCE_ROOT; };
C8FECA3890075D8C8124F71C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoLatencyPage.h; path = ../../Source/demos/AudioDemoLatencyPage.h; sourceTree = SOURCE_ROOT; };
4768B9E0E7E47689D2152273 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoPlaybackPage.cpp; path = ../../Source/demos/AudioDemoPlaybackPage.cpp; sourceTree = SOURCE_ROOT; };
8182FA9F3E05EA434B048C8B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoPlaybackPage.h; path = ../../Source/demos/AudioDemoPlaybackPage.h; sourceTree = SOURCE_ROOT; };
C142C47C1CCB975D7ED69A76 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoRecordPage.cpp; path = ../../Source/demos/AudioDemoRecordPage.cpp; sourceTree = SOURCE_ROOT; };
123BE3D4AE300D6A8901D25C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoRecordPage.h; path = ../../Source/demos/AudioDemoRecordPage.h; sourceTree = SOURCE_ROOT; };
12E008A030CFA73B8A2C5F8D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoSetupPage.cpp; path = ../../Source/demos/AudioDemoSetupPage.cpp; sourceTree = SOURCE_ROOT; };
F3FBE7B3648DC27B2FD6B696 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoSetupPage.h; path = ../../Source/demos/AudioDemoSetupPage.h; sourceTree = SOURCE_ROOT; };
A679D77333FEDBBFDD3996CE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoSynthPage.cpp; path = ../../Source/demos/AudioDemoSynthPage.cpp; sourceTree = SOURCE_ROOT; };
2C7A5ABF7F84DDB6CC69FE24 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoSynthPage.h; path = ../../Source/demos/AudioDemoSynthPage.h; sourceTree = SOURCE_ROOT; };
90405E5EB08DAA8AEF278373 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoTabComponent.cpp; path = ../../Source/demos/AudioDemoTabComponent.cpp; sourceTree = SOURCE_ROOT; };
00090BE7B99A50D58854C369 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoTabComponent.h; path = ../../Source/demos/AudioDemoTabComponent.h; sourceTree = SOURCE_ROOT; };
53CDACB61E480F6CD0DA0227 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CameraDemo.cpp; path = ../../Source/demos/CameraDemo.cpp; sourceTree = SOURCE_ROOT; };
25F200D7C24E7D65E6180A96 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CodeEditorDemo.cpp; path = ../../Source/demos/CodeEditorDemo.cpp; sourceTree = SOURCE_ROOT; };
7C337F848FFCE6B474C24F8F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DragAndDropDemo.cpp; path = ../../Source/demos/DragAndDropDemo.cpp; sourceTree = SOURCE_ROOT; };
CA67B495395BF40180861DBB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FontsAndTextDemo.cpp; path = ../../Source/demos/FontsAndTextDemo.cpp; sourceTree = SOURCE_ROOT; };
9BCDD95754B3483A5AA5CBA3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InterprocessCommsDemo.cpp; path = ../../Source/demos/InterprocessCommsDemo.cpp; sourceTree = SOURCE_ROOT; };
10CD526C87D2AE14485D9E02 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLDemo.cpp; path = ../../Source/demos/OpenGLDemo.cpp; sourceTree = SOURCE_ROOT; };
D77329750883321F2B19C175 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = QuickTimeDemo.cpp; path = ../../Source/demos/QuickTimeDemo.cpp; sourceTree = SOURCE_ROOT; };
685ED451763D1ECDF37C069A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RenderingTestComponent.cpp; path = ../../Source/demos/RenderingTestComponent.cpp; sourceTree = SOURCE_ROOT; };
811F98EC290C7A97FC44209A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RenderingTestComponent.h; path = ../../Source/demos/RenderingTestComponent.h; sourceTree = SOURCE_ROOT; };
B51FED2131FBE1356A01B300 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TableDemo.cpp; path = ../../Source/demos/TableDemo.cpp; sourceTree = SOURCE_ROOT; };
B19EC95562A9E9EDC3E9B1A9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadingDemo.cpp; path = ../../Source/demos/ThreadingDemo.cpp; sourceTree = SOURCE_ROOT; };
E4275128DD1C668E42E12F93 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TreeViewDemo.cpp; path = ../../Source/demos/TreeViewDemo.cpp; sourceTree = SOURCE_ROOT; };
14C92BB589AB3736AE0D2993 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WebBrowserDemo.cpp; path = ../../Source/demos/WebBrowserDemo.cpp; sourceTree = SOURCE_ROOT; };
C5445AF598689D6BF0F83CBE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WidgetsDemo.cpp; path = ../../Source/demos/WidgetsDemo.cpp; sourceTree = SOURCE_ROOT; };
E393B96DABAE67B4BF9CC8A0 = { isa = PBXFileReference; lastKnownFileType = file.wav; name = cello.wav; path = "../../Binary Data/cello.wav"; sourceTree = SOURCE_ROOT; };
29C2F4E4B5B2D1809AE3F2E0 = { isa = PBXFileReference; lastKnownFileType = file.xml; name = "demo table data.xml"; path = "../../Binary Data/demo table data.xml"; sourceTree = SOURCE_ROOT; };
3161255EB1EA2EB48796EF3D = { isa = PBXFileReference; lastKnownFileType = file.zip; name = icons.zip; path = "../../Binary Data/icons.zip"; sourceTree = SOURCE_ROOT; };
7CD420C22AF83DB31EE71EA6 = { isa = PBXFileReference; lastKnownFileType = image.png; name = juce.png; path = "../../Binary Data/juce.png"; sourceTree = SOURCE_ROOT; };
A5B7CC1437DA58DFC19AA3C8 = { isa = PBXFileReference; lastKnownFileType = file.xml; name = treedemo.xml; path = "../../Binary Data/treedemo.xml"; sourceTree = SOURCE_ROOT; };
3B0725900B1EB76FCFF9725F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
CF077D3ED7B7B56F351AAF67 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
B532F2C386E75E0E34783044 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; };
16FA53FF896BC5EA2C681C1A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; };
D027981BD4F6CC3DB5103192 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode1.mm; path = ../../JuceLibraryCode/JuceLibraryCode1.mm; sourceTree = SOURCE_ROOT; };
78A1366D8680F8706D29BA89 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode2.mm; path = ../../JuceLibraryCode/JuceLibraryCode2.mm; sourceTree = SOURCE_ROOT; };
212AD4AE482A14B305233281 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode3.mm; path = ../../JuceLibraryCode/JuceLibraryCode3.mm; sourceTree = SOURCE_ROOT; };
DA9462FFFAC440E6BE3DBA78 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode4.mm; path = ../../JuceLibraryCode/JuceLibraryCode4.mm; sourceTree = SOURCE_ROOT; };
FD1552CA3E06EF6E4FC85A8A = { isa = PBXGroup; children = (
F7AFA888A6F33AA6A41DBBF1,
C8FECA3890075D8C8124F71C,
4768B9E0E7E47689D2152273,
8182FA9F3E05EA434B048C8B,
C142C47C1CCB975D7ED69A76,
123BE3D4AE300D6A8901D25C,
12E008A030CFA73B8A2C5F8D,
F3FBE7B3648DC27B2FD6B696,
A679D77333FEDBBFDD3996CE,
2C7A5ABF7F84DDB6CC69FE24,
90405E5EB08DAA8AEF278373,
00090BE7B99A50D58854C369,
53CDACB61E480F6CD0DA0227,
25F200D7C24E7D65E6180A96,
7C337F848FFCE6B474C24F8F,
CA67B495395BF40180861DBB,
9BCDD95754B3483A5AA5CBA3,
10CD526C87D2AE14485D9E02,
D77329750883321F2B19C175,
685ED451763D1ECDF37C069A,
811F98EC290C7A97FC44209A,
B51FED2131FBE1356A01B300,
B19EC95562A9E9EDC3E9B1A9,
E4275128DD1C668E42E12F93,
14C92BB589AB3736AE0D2993,
C5445AF598689D6BF0F83CBE ); name = Demos; sourceTree = "<group>"; };
C9C1EC6EEE457C21A26B0EC3 = { isa = PBXGroup; children = (
E393B96DABAE67B4BF9CC8A0,
29C2F4E4B5B2D1809AE3F2E0,
3161255EB1EA2EB48796EF3D,
7CD420C22AF83DB31EE71EA6,
A5B7CC1437DA58DFC19AA3C8 ); name = "Binary Data"; sourceTree = "<group>"; };
2EA528914EC159A58C97A873 = { isa = PBXGroup; children = (
8CAAF50C584E234C08D5F4B6,
C08E0D90EDF5F3C1DC7960D9,
FB1ADFC973C66571E2962637,
4BE34F808E4597871BE6E83D,
FD1552CA3E06EF6E4FC85A8A,
C9C1EC6EEE457C21A26B0EC3 ); name = Source; sourceTree = "<group>"; };
3B5437A20FCADA50EBD06731 = { isa = PBXGroup; children = (
3B0725900B1EB76FCFF9725F,
CF077D3ED7B7B56F351AAF67,
B532F2C386E75E0E34783044,
16FA53FF896BC5EA2C681C1A,
D027981BD4F6CC3DB5103192,
78A1366D8680F8706D29BA89,
212AD4AE482A14B305233281,
DA9462FFFAC440E6BE3DBA78 ); name = "Juce Library Code"; sourceTree = "<group>"; };
F473AC9C072A0F6CF3B5410F = { isa = PBXGroup; children = (
6B2414965418FDE8B71BF091 ); name = Resources; sourceTree = "<group>"; };
6030FE912A851A2507B3BF34 = { isa = PBXGroup; children = (
FE73A99FC442611763B78962,
6FB2992756D842FF2A71CBDF,
A4EE39790FFF23240CB7BFB6,
80AFA57E396DBF8EB3483F66 ); name = Frameworks; sourceTree = "<group>"; };
29CBBCDCEE131C353F0715E1 = { isa = PBXGroup; children = (
56BC57F08A02495F85DB8DC8 ); name = Products; sourceTree = "<group>"; };
24AF20CBAA4DC5F17CFE8606 = { isa = PBXGroup; children = (
2EA528914EC159A58C97A873,
3B5437A20FCADA50EBD06731,
F473AC9C072A0F6CF3B5410F,
6030FE912A851A2507B3BF34,
29CBBCDCEE131C353F0715E1 ); name = Source; sourceTree = "<group>"; };
52C29F86E3DBE91F252B8C0D = { isa = XCBuildConfiguration; buildSettings = {
1DF18F6B9CCFF7BD07C36AC2 = { isa = PBXBuildFile; fileRef = CE3A43E4FB4D61350C000764; };
3BE296F09A47C0ECE4D91CF5 = { isa = PBXBuildFile; fileRef = 90E63FC1333F952D526FF194; };
7938A4501BDD574C4121B988 = { isa = PBXBuildFile; fileRef = 0D376A9686DFA1EAF983841C; };
36AEC0EAE7AB9D061AD9EFEF = { isa = PBXBuildFile; fileRef = 7B6D428682221857EAEA1C7D; };
F1BAE9DCD179C8784FF28F8D = { isa = PBXBuildFile; fileRef = 4A96850C150C1C6D87A0D21A; };
268F2BF480CF9844E2F2B974 = { isa = PBXBuildFile; fileRef = B72353F9624D99DB6F93E400; };
78A66C2F9A9E2E6D011D8E5E = { isa = PBXBuildFile; fileRef = 885A20D277AD743C21C822B5; };
CE5C46E66485B7D77B5ADB4E = { isa = PBXBuildFile; fileRef = 42291DB48BF81754D90FE200; };
2E2DB52D03DD6A56FAC937A4 = { isa = PBXBuildFile; fileRef = 0704E2D6B0D1B38FBBBC6B85; };
8E0E3B718F35E9E1DC3D89C5 = { isa = PBXBuildFile; fileRef = D856109CF311BB94D8EE8826; };
C4C49D2D5D27730E55B27BCB = { isa = PBXBuildFile; fileRef = 411D5D0920812790F4F78462; };
2CD67851BCF3F24E0B5F82CF = { isa = PBXBuildFile; fileRef = 67F817AAB55ED2BE16B376BF; };
29C9F0E2824F63B105234C0A = { isa = PBXBuildFile; fileRef = FBCE524D94BF5BE0160142D4; };
7EFB4E7D738BFFF90F49E0C0 = { isa = PBXBuildFile; fileRef = 048CEE4CC06227D8A57E47F2; };
B69F5957B1729915BFB18735 = { isa = PBXBuildFile; fileRef = 7D65727C8F72F2BCC9A17D34; };
F920A5AB6D0FF01022575079 = { isa = PBXBuildFile; fileRef = 268D7AFE2F3822C2C8E9A612; };
A3AF0F559DD97F1B908AC1CA = { isa = PBXBuildFile; fileRef = F23738E4EFD2323063F82F1C; };
2C0AB902CB01E38D87A2A6A5 = { isa = PBXBuildFile; fileRef = B7F4DAFA5F8F1FC976C8B55D; };
ACD2210FDE1137548F995F85 = { isa = PBXBuildFile; fileRef = F7620D8D567CCE463ADDE0A6; };
2F6BFF7DD839160223057CF7 = { isa = PBXBuildFile; fileRef = DA3BCFCC5BF07FC689DB5C34; };
1552CF5A0A932C5EB88EC56C = { isa = PBXBuildFile; fileRef = D6EF70641473A3E7C0DC5168; };
969C49FA8B55C700ED848494 = { isa = PBXBuildFile; fileRef = 3BC17D4051063C1BF66548C6; };
AE1CB65D73BFB3FA707B59FF = { isa = PBXBuildFile; fileRef = 08B45C29F5EEC874E014D122; };
99D9F5D6FC8A015C603B32C3 = { isa = PBXBuildFile; fileRef = D5F519861915C136BAA8D87A; };
563DEC7941B88163A50E0945 = { isa = PBXBuildFile; fileRef = 402768B1A52E32348D505F18; };
F5691895ACDC7B12DE88EFF4 = { isa = PBXBuildFile; fileRef = F2EB42A070E349D77ACF77C9; };
4D5C0ED42C87FBE02A9C7BE6 = { isa = PBXBuildFile; fileRef = CF7FFEAFF4F386ED4DAED523; };
80926D2B83ACF680958111EC = { isa = PBXBuildFile; fileRef = E6EF5CE04768BA5B10050D51; };
2201A04DDCFC361882F8EA62 = { isa = PBXBuildFile; fileRef = BA05C84C3258A1978AF3D357; };
2E98B1DEA8B7FC20ACCD2E6D = { isa = PBXBuildFile; fileRef = F42C91375F3314CA6EE65697; };
3A2EC17F8472C338D6A26278 = { isa = PBXBuildFile; fileRef = 4D526A336B2E97ED42CADAD7; };
36B5D100604D9A300187B773 = { isa = PBXBuildFile; fileRef = 8679333E781A0A0116AE5D26; };
CE3A43E4FB4D61350C000764 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
90E63FC1333F952D526FF194 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
0D376A9686DFA1EAF983841C = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
7B6D428682221857EAEA1C7D = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
4A96850C150C1C6D87A0D21A = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
B72353F9624D99DB6F93E400 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
39B98C60B57B831FE5215CDD = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
1A9DEA62F6A3CD1FB5CF105B = { isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = SOURCE_ROOT; };
885A20D277AD743C21C822B5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ApplicationStartup.cpp; path = ../../Source/ApplicationStartup.cpp; sourceTree = SOURCE_ROOT; };
42291DB48BF81754D90FE200 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainDemoWindow.cpp; path = ../../Source/MainDemoWindow.cpp; sourceTree = SOURCE_ROOT; };
49138F5652E637AA67CD4B70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainDemoWindow.h; path = ../../Source/MainDemoWindow.h; sourceTree = SOURCE_ROOT; };
18BDC68F9701862603871A7A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucedemo_headers.h; path = ../../Source/jucedemo_headers.h; sourceTree = SOURCE_ROOT; };
0704E2D6B0D1B38FBBBC6B85 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoLatencyPage.cpp; path = ../../Source/demos/AudioDemoLatencyPage.cpp; sourceTree = SOURCE_ROOT; };
D793BFCCD11E218E5CED3320 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoLatencyPage.h; path = ../../Source/demos/AudioDemoLatencyPage.h; sourceTree = SOURCE_ROOT; };
D856109CF311BB94D8EE8826 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoPlaybackPage.cpp; path = ../../Source/demos/AudioDemoPlaybackPage.cpp; sourceTree = SOURCE_ROOT; };
FC989E104DDB02E8A99B6564 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoPlaybackPage.h; path = ../../Source/demos/AudioDemoPlaybackPage.h; sourceTree = SOURCE_ROOT; };
411D5D0920812790F4F78462 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoRecordPage.cpp; path = ../../Source/demos/AudioDemoRecordPage.cpp; sourceTree = SOURCE_ROOT; };
570DE12AFA65E0EF97A76118 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoRecordPage.h; path = ../../Source/demos/AudioDemoRecordPage.h; sourceTree = SOURCE_ROOT; };
67F817AAB55ED2BE16B376BF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoSetupPage.cpp; path = ../../Source/demos/AudioDemoSetupPage.cpp; sourceTree = SOURCE_ROOT; };
91ACA90EFCAD4614B3ECC0C5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoSetupPage.h; path = ../../Source/demos/AudioDemoSetupPage.h; sourceTree = SOURCE_ROOT; };
FBCE524D94BF5BE0160142D4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoSynthPage.cpp; path = ../../Source/demos/AudioDemoSynthPage.cpp; sourceTree = SOURCE_ROOT; };
865617D983052FBE0ADDDEDF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoSynthPage.h; path = ../../Source/demos/AudioDemoSynthPage.h; sourceTree = SOURCE_ROOT; };
048CEE4CC06227D8A57E47F2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioDemoTabComponent.cpp; path = ../../Source/demos/AudioDemoTabComponent.cpp; sourceTree = SOURCE_ROOT; };
8BEA0B754661F3038DBAF558 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioDemoTabComponent.h; path = ../../Source/demos/AudioDemoTabComponent.h; sourceTree = SOURCE_ROOT; };
7D65727C8F72F2BCC9A17D34 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CameraDemo.cpp; path = ../../Source/demos/CameraDemo.cpp; sourceTree = SOURCE_ROOT; };
268D7AFE2F3822C2C8E9A612 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CodeEditorDemo.cpp; path = ../../Source/demos/CodeEditorDemo.cpp; sourceTree = SOURCE_ROOT; };
F23738E4EFD2323063F82F1C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DragAndDropDemo.cpp; path = ../../Source/demos/DragAndDropDemo.cpp; sourceTree = SOURCE_ROOT; };
B7F4DAFA5F8F1FC976C8B55D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FontsAndTextDemo.cpp; path = ../../Source/demos/FontsAndTextDemo.cpp; sourceTree = SOURCE_ROOT; };
F7620D8D567CCE463ADDE0A6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InterprocessCommsDemo.cpp; path = ../../Source/demos/InterprocessCommsDemo.cpp; sourceTree = SOURCE_ROOT; };
DA3BCFCC5BF07FC689DB5C34 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLDemo.cpp; path = ../../Source/demos/OpenGLDemo.cpp; sourceTree = SOURCE_ROOT; };
D6EF70641473A3E7C0DC5168 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = QuickTimeDemo.cpp; path = ../../Source/demos/QuickTimeDemo.cpp; sourceTree = SOURCE_ROOT; };
3BC17D4051063C1BF66548C6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RenderingTestComponent.cpp; path = ../../Source/demos/RenderingTestComponent.cpp; sourceTree = SOURCE_ROOT; };
A6FB61B33BDDB0880203370C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RenderingTestComponent.h; path = ../../Source/demos/RenderingTestComponent.h; sourceTree = SOURCE_ROOT; };
08B45C29F5EEC874E014D122 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TableDemo.cpp; path = ../../Source/demos/TableDemo.cpp; sourceTree = SOURCE_ROOT; };
D5F519861915C136BAA8D87A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadingDemo.cpp; path = ../../Source/demos/ThreadingDemo.cpp; sourceTree = SOURCE_ROOT; };
402768B1A52E32348D505F18 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TreeViewDemo.cpp; path = ../../Source/demos/TreeViewDemo.cpp; sourceTree = SOURCE_ROOT; };
F2EB42A070E349D77ACF77C9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WebBrowserDemo.cpp; path = ../../Source/demos/WebBrowserDemo.cpp; sourceTree = SOURCE_ROOT; };
CF7FFEAFF4F386ED4DAED523 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WidgetsDemo.cpp; path = ../../Source/demos/WidgetsDemo.cpp; sourceTree = SOURCE_ROOT; };
ACFD7F6AAFC09C234D15501D = { isa = PBXFileReference; lastKnownFileType = file.wav; name = cello.wav; path = "../../Binary Data/cello.wav"; sourceTree = SOURCE_ROOT; };
A869663CA0E96FE15BB42A97 = { isa = PBXFileReference; lastKnownFileType = file.xml; name = "demo table data.xml"; path = "../../Binary Data/demo table data.xml"; sourceTree = SOURCE_ROOT; };
A76B69386F1F19647804510D = { isa = PBXFileReference; lastKnownFileType = file.zip; name = icons.zip; path = "../../Binary Data/icons.zip"; sourceTree = SOURCE_ROOT; };
013E12213AD7B4BEB28A31BE = { isa = PBXFileReference; lastKnownFileType = image.png; name = juce.png; path = "../../Binary Data/juce.png"; sourceTree = SOURCE_ROOT; };
C7327AD5191A22C1FBD4F5F9 = { isa = PBXFileReference; lastKnownFileType = file.xml; name = treedemo.xml; path = "../../Binary Data/treedemo.xml"; sourceTree = SOURCE_ROOT; };
EE37A0ECE471A928C6170F9B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
A6B37799E63CCE882A3383FB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
E6EF5CE04768BA5B10050D51 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; };
CC7EB9777A4DE3408705625C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; };
BA05C84C3258A1978AF3D357 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode1.mm; path = ../../JuceLibraryCode/JuceLibraryCode1.mm; sourceTree = SOURCE_ROOT; };
F42C91375F3314CA6EE65697 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode2.mm; path = ../../JuceLibraryCode/JuceLibraryCode2.mm; sourceTree = SOURCE_ROOT; };
4D526A336B2E97ED42CADAD7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode3.mm; path = ../../JuceLibraryCode/JuceLibraryCode3.mm; sourceTree = SOURCE_ROOT; };
8679333E781A0A0116AE5D26 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode4.mm; path = ../../JuceLibraryCode/JuceLibraryCode4.mm; sourceTree = SOURCE_ROOT; };
1045A435754FDEACC6D7259C = { isa = PBXGroup; children = (
0704E2D6B0D1B38FBBBC6B85,
D793BFCCD11E218E5CED3320,
D856109CF311BB94D8EE8826,
FC989E104DDB02E8A99B6564,
411D5D0920812790F4F78462,
570DE12AFA65E0EF97A76118,
67F817AAB55ED2BE16B376BF,
91ACA90EFCAD4614B3ECC0C5,
FBCE524D94BF5BE0160142D4,
865617D983052FBE0ADDDEDF,
048CEE4CC06227D8A57E47F2,
8BEA0B754661F3038DBAF558,
7D65727C8F72F2BCC9A17D34,
268D7AFE2F3822C2C8E9A612,
F23738E4EFD2323063F82F1C,
B7F4DAFA5F8F1FC976C8B55D,
F7620D8D567CCE463ADDE0A6,
DA3BCFCC5BF07FC689DB5C34,
D6EF70641473A3E7C0DC5168,
3BC17D4051063C1BF66548C6,
A6FB61B33BDDB0880203370C,
08B45C29F5EEC874E014D122,
D5F519861915C136BAA8D87A,
402768B1A52E32348D505F18,
F2EB42A070E349D77ACF77C9,
CF7FFEAFF4F386ED4DAED523 ); name = Demos; sourceTree = "<group>"; };
7B2518B268DCBBF7B74F2B1D = { isa = PBXGroup; children = (
ACFD7F6AAFC09C234D15501D,
A869663CA0E96FE15BB42A97,
A76B69386F1F19647804510D,
013E12213AD7B4BEB28A31BE,
C7327AD5191A22C1FBD4F5F9 ); name = "Binary Data"; sourceTree = "<group>"; };
A10CCE1B2A215D5AE12386E3 = { isa = PBXGroup; children = (
885A20D277AD743C21C822B5,
42291DB48BF81754D90FE200,
49138F5652E637AA67CD4B70,
18BDC68F9701862603871A7A,
1045A435754FDEACC6D7259C,
7B2518B268DCBBF7B74F2B1D ); name = Source; sourceTree = "<group>"; };
4C2E644EAC72C263D09C74BB = { isa = PBXGroup; children = (
EE37A0ECE471A928C6170F9B,
A6B37799E63CCE882A3383FB,
E6EF5CE04768BA5B10050D51,
CC7EB9777A4DE3408705625C,
BA05C84C3258A1978AF3D357,
F42C91375F3314CA6EE65697,
4D526A336B2E97ED42CADAD7,
8679333E781A0A0116AE5D26 ); name = "Juce Library Code"; sourceTree = "<group>"; };
019CD423F1EFF7A1A0A079DD = { isa = PBXGroup; children = (
1A9DEA62F6A3CD1FB5CF105B ); name = Resources; sourceTree = "<group>"; };
244B9AF7D858999910FD243E = { isa = PBXGroup; children = (
CE3A43E4FB4D61350C000764,
90E63FC1333F952D526FF194,
0D376A9686DFA1EAF983841C,
7B6D428682221857EAEA1C7D,
4A96850C150C1C6D87A0D21A,
B72353F9624D99DB6F93E400 ); name = Frameworks; sourceTree = "<group>"; };
3F406773369804D0FBF2789A = { isa = PBXGroup; children = (
39B98C60B57B831FE5215CDD ); name = Products; sourceTree = "<group>"; };
D6A4B94A747BFCF299B17932 = { isa = PBXGroup; children = (
A10CCE1B2A215D5AE12386E3,
4C2E644EAC72C263D09C74BB,
019CD423F1EFF7A1A0A079DD,
244B9AF7D858999910FD243E,
3F406773369804D0FBF2789A ); name = Source; sourceTree = "<group>"; };
F46B3E8DBAFA746E04F4F62C = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
PREBINDING = NO;
HEADER_SEARCH_PATHS = " $(inherited)";
@@ -164,7 +170,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"_DEBUG=1",
"DEBUG=1 "); }; name = Debug; };
7DBDB93B1B9DF79BA4819F7F = { isa = XCBuildConfiguration; buildSettings = {
8EF7C7FFD55219581A5075F3 = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
PREBINDING = NO;
HEADER_SEARCH_PATHS = " $(inherited)";
@@ -177,7 +183,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"_NDEBUG=1",
"NDEBUG=1 "); }; name = Release; };
B612DCB6B9D782F3D3744B79 = { isa = XCBuildConfiguration; buildSettings = {
7FA986B99AFC795723E00AB0 = { isa = XCBuildConfiguration; buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -191,7 +197,7 @@
ZERO_LINK = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
PRODUCT_NAME = "JuceDemo"; }; name = Debug; };
ABFBF014E4913E0475A16742 = { isa = XCBuildConfiguration; buildSettings = {
623F392572A48BDD48CE1CC4 = { isa = XCBuildConfiguration; buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -205,50 +211,52 @@
ZERO_LINK = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
PRODUCT_NAME = "JuceDemo"; }; name = Release; };
B89AA9A9D76AFB9FD94E91F1 = { isa = XCConfigurationList; buildConfigurations = (
B612DCB6B9D782F3D3744B79,
ABFBF014E4913E0475A16742 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
29330EA5DC9F3CCDAD719B7B = { isa = XCConfigurationList; buildConfigurations = (
52C29F86E3DBE91F252B8C0D,
7DBDB93B1B9DF79BA4819F7F ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
EEA25E5ECDB75868B1875A36 = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; };
B2757B8179BE66929127AD2D = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
A9D4CEB8BF6B35872821ECCD,
07A544BF39B1B076D6A41228,
73F16F1F0146CEEA5DBCCA0E,
83D2B03EB08B6BC6E0A385E1,
0C722E5F96990CA1B5F27046,
F6BAACC4178B6483EF2089B9,
133B5F3401B8B97010441CA8,
BD4BACF416D7989BAB96272F,
FC7D30005FAF2F55AD31E1F7,
1F90CA68AED3A84286873E2D,
46770F1D01A9249360CAC4F1,
5F598B0DF13D01DB78462450,
443769AEA489DBFE4A6904B0,
F511BC8A5F0B5C9BC19F8FB7,
C02D29C17C874EEB8B811264,
A586096D3A6BAF493634A393,
3F3DECC996DAADBDCD7D276C,
948DB156D3ADAC90034428A9,
554C5D64E0396AF57640E861,
3D4C6B63961E3A0212142B8C,
D451763D1ECDF37C069A3770,
EA6A2F2B7DE0322ED19BFD55,
F97659F31912D12C91E95549,
56752EC63E4979FD534D2009,
C383E3A9627121BF26A2EACA,
2082A87B96A8C980E806A59A ); runOnlyForDeploymentPostprocessing = 0; };
6C1906E1104429D10063FE75 = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
A82540492797AA2A111F534F,
D351446B8D35F4C9EADDF0F8,
DDE2D54D9AF8DEDFC66E75D4,
2C6ED8CEE9C15855321CDEE6 ); runOnlyForDeploymentPostprocessing = 0; };
44C47F7E6BD5B8AB41466286 = { isa = PBXNativeTarget; buildConfigurationList = 29330EA5DC9F3CCDAD719B7B; buildPhases = (
EEA25E5ECDB75868B1875A36,
B2757B8179BE66929127AD2D,
6C1906E1104429D10063FE75 ); buildRules = ( ); dependencies = ( ); name = "Juce Demo"; productName = "Juce Demo"; productReference = 56BC57F08A02495F85DB8DC8; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; };
CBEE715C52BD1D65BBB7F342 = { isa = PBXProject; buildConfigurationList = B89AA9A9D76AFB9FD94E91F1; compatibilityVersion = "Xcode 3.0"; hasScannedForEncodings = 0; mainGroup = 24AF20CBAA4DC5F17CFE8606; projectDirPath = ""; projectRoot = ""; targets = ( 44C47F7E6BD5B8AB41466286 ); };
2B22E1D006C8AF43954EE79D = { isa = XCConfigurationList; buildConfigurations = (
7FA986B99AFC795723E00AB0,
623F392572A48BDD48CE1CC4 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
C264FE1BF62B589B345E0C81 = { isa = XCConfigurationList; buildConfigurations = (
F46B3E8DBAFA746E04F4F62C,
8EF7C7FFD55219581A5075F3 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
AE930F136F638C3C939F7146 = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; };
7A3A0C722E5F96990CA1B5F2 = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
78A66C2F9A9E2E6D011D8E5E,
CE5C46E66485B7D77B5ADB4E,
2E2DB52D03DD6A56FAC937A4,
8E0E3B718F35E9E1DC3D89C5,
C4C49D2D5D27730E55B27BCB,
2CD67851BCF3F24E0B5F82CF,
29C9F0E2824F63B105234C0A,
7EFB4E7D738BFFF90F49E0C0,
B69F5957B1729915BFB18735,
F920A5AB6D0FF01022575079,
A3AF0F559DD97F1B908AC1CA,
2C0AB902CB01E38D87A2A6A5,
ACD2210FDE1137548F995F85,
2F6BFF7DD839160223057CF7,
1552CF5A0A932C5EB88EC56C,
969C49FA8B55C700ED848494,
AE1CB65D73BFB3FA707B59FF,
99D9F5D6FC8A015C603B32C3,
563DEC7941B88163A50E0945,
F5691895ACDC7B12DE88EFF4,
4D5C0ED42C87FBE02A9C7BE6,
80926D2B83ACF680958111EC,
2201A04DDCFC361882F8EA62,
2E98B1DEA8B7FC20ACCD2E6D,
3A2EC17F8472C338D6A26278,
36B5D100604D9A300187B773 ); runOnlyForDeploymentPostprocessing = 0; };
2E5F3CCB074AC0B18683A4F3 = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
1DF18F6B9CCFF7BD07C36AC2,
3BE296F09A47C0ECE4D91CF5,
7938A4501BDD574C4121B988,
36AEC0EAE7AB9D061AD9EFEF,
F1BAE9DCD179C8784FF28F8D,
268F2BF480CF9844E2F2B974 ); runOnlyForDeploymentPostprocessing = 0; };
F26B86DEACDEE5DFB60E10B1 = { isa = PBXNativeTarget; buildConfigurationList = C264FE1BF62B589B345E0C81; buildPhases = (
AE930F136F638C3C939F7146,
7A3A0C722E5F96990CA1B5F2,
2E5F3CCB074AC0B18683A4F3 ); buildRules = ( ); dependencies = ( ); name = "Juce Demo"; productName = "Juce Demo"; productReference = 39B98C60B57B831FE5215CDD; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; };
FD051827ADE403C022034508 = { isa = PBXProject; buildConfigurationList = 2B22E1D006C8AF43954EE79D; compatibilityVersion = "Xcode 3.0"; hasScannedForEncodings = 0; mainGroup = D6A4B94A747BFCF299B17932; projectDirPath = ""; projectRoot = ""; targets = ( F26B86DEACDEE5DFB60E10B1 ); };
};
rootObject = CBEE715C52BD1D65BBB7F342;
rootObject = FD051827ADE403C022034508;
}

+ 3
- 2
extras/juce demo/Juce Demo.jucer View File

@@ -101,11 +101,12 @@
</MAINGROUP>
<JUCEOPTIONS JUCE_FORCE_DEBUG="default" JUCE_LOG_ASSERTIONS="default" JUCE_ASIO="default"
JUCE_WASAPI="enabled" JUCE_DIRECTSOUND="default" JUCE_ALSA="default"
JUCE_QUICKTIME="default" JUCE_OPENGL="enabled" JUCE_USE_FLAC="default"
JUCE_QUICKTIME="enabled" JUCE_OPENGL="enabled" JUCE_USE_FLAC="default"
JUCE_USE_OGGVORBIS="default" JUCE_USE_CDBURNER="default" JUCE_USE_CDREADER="default"
JUCE_USE_CAMERA="enabled" JUCE_ENABLE_REPAINT_DEBUGGING="default"
JUCE_USE_XINERAMA="default" JUCE_USE_XSHM="default" JUCE_PLUGINHOST_VST="disabled"
JUCE_PLUGINHOST_AU="disabled" JUCE_ONLY_BUILD_CORE_LIBRARY="default"
JUCE_WEB_BROWSER="enabled" JUCE_SUPPORT_CARBON="default" JUCE_CHECK_MEMORY_LEAKS="default"
JUCE_CATCH_UNHANDLED_EXCEPTIONS="default" JUCE_STRINGS_ARE_UNICODE="default"/>
JUCE_CATCH_UNHANDLED_EXCEPTIONS="default" JUCE_STRINGS_ARE_UNICODE="default"
JUCE_USE_XRENDER="default"/>
</JUCERPROJECT>

+ 2
- 1
extras/juce demo/JuceLibraryCode/AppConfig.h View File

@@ -17,7 +17,7 @@
#define JUCE_WASAPI 1
//#define JUCE_DIRECTSOUND
//#define JUCE_ALSA
//#define JUCE_QUICKTIME
#define JUCE_QUICKTIME 1
#define JUCE_OPENGL 1
//#define JUCE_USE_FLAC
//#define JUCE_USE_OGGVORBIS
@@ -27,6 +27,7 @@
//#define JUCE_ENABLE_REPAINT_DEBUGGING
//#define JUCE_USE_XINERAMA
//#define JUCE_USE_XSHM
//#define JUCE_USE_XRENDER
#define JUCE_PLUGINHOST_VST 0
#define JUCE_PLUGINHOST_AU 0
//#define JUCE_ONLY_BUILD_CORE_LIBRARY


+ 4
- 3
extras/juce demo/JuceLibraryCode/BinaryData.cpp View File

@@ -8,11 +8,12 @@
#include "BinaryData.h"
const char* BinaryData::getNamedResource (const wchar_t* resourceName, int& numBytes) throw()
const char* BinaryData::getNamedResource (const char* resourceNameUTF8, int& numBytes) throw()
{
int hash = 0;
while (*resourceName != 0)
hash = 31 * hash + *resourceName++;
if (resourceNameUTF8 != 0)
while (*resourceNameUTF8 != 0)
hash = 31 * hash + *resourceNameUTF8++;
switch (hash)
{


+ 1
- 1
extras/juce demo/JuceLibraryCode/BinaryData.h View File

@@ -24,5 +24,5 @@ namespace BinaryData
// If you provide the name of one of the binary resource variables above, this function will
// return the corresponding data and its size (or a null pointer if the name isn't found).
const char* getNamedResource (const wchar_t* resourceName, int& dataSizeInBytes) throw();
const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes) throw();
}

+ 32
- 4
extras/juce demo/Source/demos/OpenGLDemo.cpp View File

@@ -29,7 +29,7 @@
#include "../jucedemo_headers.h"
#if JUCE_OPENGL && ! JUCE_IPHONE
#if JUCE_OPENGL
#if JUCE_WINDOWS
#include <gl/gl.h>
@@ -38,6 +38,9 @@
#include <GL/gl.h>
#include <GL/glut.h>
#undef KeyPress
#elif JUCE_IPHONE
#include <OpenGLES/ES1/gl.h>
#include <OpenGLES/ES1/glext.h>
#elif JUCE_MAC
#include <GLUT/glut.h>
#elif JUCE_IPHONE
@@ -58,6 +61,11 @@ class DemoOpenGLCanvas : public OpenGLComponent,
public:
DemoOpenGLCanvas()
{
#if JUCE_IPHONE
// (On the iPhone, choose a format without a depth buffer)
setPixelFormat (OpenGLPixelFormat (8, 8, 0, 0));
#endif
rotation = 0.0f;
delta = 1.0f;
@@ -106,6 +114,7 @@ public:
// we'll use the opportunity to create the textures needed.
void newOpenGLContextCreated()
{
#if ! JUCE_IPHONE
// (no need to call makeCurrentContextActive(), as that will have
// been done for us before the method call).
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
@@ -133,6 +142,7 @@ public:
glHint (GL_LINE_SMOOTH_HINT, GL_NICEST);
glHint (GL_POINT_SMOOTH_HINT, GL_NICEST);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
#endif
}
void mouseDrag (const MouseEvent& e)
@@ -143,15 +153,32 @@ public:
void renderOpenGL()
{
glClearColor (0.8f, 0.0f, 0.4f, 0.0f);
glClearColor (0.25f, 0.25f, 0.25f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glMatrixMode (GL_PROJECTION);
glLoadIdentity();
#if JUCE_IPHONE
const GLfloat vertices[] = { -0.5f, -0.5f, 0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f };
const GLubyte colours[] = { 255, 255, 0, 255, 0, 255, 255, 255, 0, 0, 0, 0, 255, 0, 255, 255 };
glOrthof (-1.0f, 1.0f, -1.5f, 1.5f, -1.0f, 1.0f);
glMatrixMode (GL_MODELVIEW);
glRotatef (1.0f, 0.0f, 0.0f, 1.0f);
glVertexPointer (2, GL_FLOAT, 0, vertices);
glEnableClientState (GL_VERTEX_ARRAY);
glColorPointer (4, GL_UNSIGNED_BYTE, 0, colours);
glEnableClientState (GL_COLOR_ARRAY);
glDrawArrays (GL_TRIANGLE_STRIP, 0, 4);
#else
glOrtho (0.0, getWidth(), 0.0, getHeight(), 0, 1);
glColor4f (1.0f, 1.0f, 1.0f, fabsf (::sinf (rotation / 100.0f)));
glBegin(GL_QUADS);
glBegin (GL_QUADS);
glTexCoord2i (0, 0); glVertex2f (50.0f, getHeight() - 50.0f);
glTexCoord2i (1, 0); glVertex2f (getWidth() - 50.0f, getHeight() - 50.0f);
glTexCoord2i (1, 1); glVertex2f (getWidth() - 50.0f, 50.0f);
@@ -222,6 +249,7 @@ public:
glEnd();
glPopMatrix();
#endif
}
void timerCallback()


+ 1
- 6
extras/juce demo/Source/jucedemo_headers.h View File

@@ -29,12 +29,7 @@
// include the JUCE headers..
#include "../JuceLibraryCode/JuceHeader.h"
#if JUCE_IPHONE
#undef JUCE_USE_CAMERA
#undef JUCE_OPENGL
#endif
#if JUCE_LINUX
#if JUCE_IPHONE || JUCE_LINUX
#undef JUCE_USE_CAMERA
#endif


+ 4
- 1
juce_Config.h View File

@@ -105,6 +105,9 @@
#define JUCE_QUICKTIME 0
#endif
#if (JUCE_IPHONE || JUCE_LINUX) && JUCE_QUICKTIME
#undef JUCE_QUICKTIME
#endif
//=============================================================================
/** JUCE_OPENGL: Enables the OpenGLComponent class (available on all platforms).
@@ -151,7 +154,7 @@
//=============================================================================
/** JUCE_USE_CAMERA: Enables web-cam support using the CameraDevice class (Mac and Windows).
*/
#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA)
#if (JUCE_QUICKTIME || JUCE_WINDOWS) && ! defined (JUCE_USE_CAMERA)
// #define JUCE_USE_CAMERA 1
#endif


+ 429
- 54
juce_amalgamated.cpp View File

@@ -199,6 +199,10 @@
#define JUCE_QUICKTIME 0
#endif

#if (JUCE_IPHONE || JUCE_LINUX) && JUCE_QUICKTIME
#undef JUCE_QUICKTIME
#endif

#ifndef JUCE_OPENGL
#define JUCE_OPENGL 1
#endif
@@ -219,7 +223,7 @@
#define JUCE_USE_CDREADER 1
#endif

#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA)
#if (JUCE_QUICKTIME || JUCE_WINDOWS) && ! defined (JUCE_USE_CAMERA)
// #define JUCE_USE_CAMERA 1
#endif

@@ -566,7 +570,12 @@ public:
#import <AVFoundation/AVFoundation.h>
#import <CoreData/CoreData.h>
#import <MobileCoreServices/MobileCoreServices.h>
#import <QuartzCore/QuartzCore.h>
#include <sys/fcntl.h>
#if JUCE_OPENGL
#include <OpenGLES/ES1/gl.h>
#include <OpenGLES/ES1/glext.h>
#endif
#else
#import <Cocoa/Cocoa.h>
#import <CoreAudio/HostTime.h>
@@ -7135,10 +7144,6 @@ bool TemporaryFile::overwriteTargetFileWithTemporary() const

Thread::sleep (100);
}

// Failed to overwrite the new file! Make sure you've not left any
// file streams hanging around when you call this method!
jassertfalse
}
else
{
@@ -17816,7 +17821,8 @@ PropertiesFile::PropertiesFile (const File& f, const int millisecondsBeforeSavin

PropertiesFile::~PropertiesFile()
{
saveIfNeeded();
if (! saveIfNeeded())
jassertfalse;
}

bool PropertiesFile::saveIfNeeded()
@@ -74821,8 +74827,9 @@ private:
bool wasShowing;
};

OpenGLComponent::OpenGLComponent()
: context (0),
OpenGLComponent::OpenGLComponent (const OpenGLType type_)
: type (type_),
context (0),
contextToShareListsWith (0),
needToUpdateViewport (true)
{
@@ -74903,9 +74910,7 @@ bool OpenGLComponent::makeCurrentContextActive()

if (isShowing() && getTopLevelComponent()->getPeer() != 0)
{
context = OpenGLContext::createContextForWindow (this,
preferredPixelFormat,
contextToShareListsWith);
context = createContext();

if (context != 0)
{
@@ -219236,18 +219241,13 @@ private:
WindowedGLContext& operator= (const WindowedGLContext&);
};

OpenGLContext* OpenGLContext::createContextForWindow (Component* const component,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith)
OpenGLContext* OpenGLComponent::createContext()
{
WindowedGLContext* c = new WindowedGLContext (component,
contextToShareWith != 0 ? (HGLRC) contextToShareWith->getRawContext() : 0,
pixelFormat);
ScopedPointer<WindowedGLContext> c (new WindowedGLContext (this,
contextToShareListsWith != 0 ? (HGLRC) contextToShareListsWith->getRawContext() : 0,
preferredPixelFormat));

if (c->renderContext == 0)
deleteAndZero (c);

return c;
return (c->renderContext != 0) ? c.release() : 0;
}

void* OpenGLComponent::getNativeWindowHandle() const
@@ -234296,17 +234296,12 @@ private:
WindowedGLContext& operator= (const WindowedGLContext&);
};

OpenGLContext* OpenGLContext::createContextForWindow (Component* const component,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith)
OpenGLContext* OpenGLComponent::createContext()
{
WindowedGLContext* c = new WindowedGLContext (component, pixelFormat,
contextToShareWith != 0 ? (GLXContext) contextToShareWith->getRawContext() : 0);

if (c->renderContext == 0)
deleteAndZero (c);
ScopedPointer<WindowedGLContext> c (new WindowedGLContext (this, preferredPixelFormat,
contextToShareListsWith != 0 ? (GLXContext) contextToShareListsWith->getRawContext() : 0));

return c;
return (c->renderContext != 0) ? c.release() : 0;
}

void juce_glViewport (const int w, const int h)
@@ -240692,11 +240687,7 @@ UIViewComponentPeer::UIViewComponentPeer (Component* const component,
fullScreen (false),
insideDrawRect (false)
{
CGRect r;
r.origin.x = 0;
r.origin.y = 0;
r.size.width = (float) component->getWidth();
r.size.height = (float) component->getHeight();
CGRect r = CGRectMake (0, 0, (float) component->getWidth(), (float) component->getHeight());

view = [[JuceUIView alloc] initWithOwner: this withFrame: r];

@@ -241890,12 +241881,10 @@ private:
WindowedGLContext& operator= (const WindowedGLContext&);
};

OpenGLContext* OpenGLContext::createContextForWindow (Component* const component,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith)
OpenGLContext* OpenGLComponent::createContext()
{
ScopedPointer <WindowedGLContext> c (new WindowedGLContext (component, pixelFormat,
contextToShareWith != 0 ? (NSOpenGLContext*) contextToShareWith->getRawContext() : 0));
ScopedPointer<WindowedGLContext> c (new WindowedGLContext (this, preferredPixelFormat,
contextToShareListsWith != 0 ? (NSOpenGLContext*) contextToShareListsWith->getRawContext() : 0));

return (c->renderContext != 0) ? c.release() : 0;
}
@@ -241948,16 +241937,208 @@ void OpenGLPixelFormat::getAvailablePixelFormats (Component* /*component*/,

#else

OpenGLContext* OpenGLContext::createContextForWindow (Component* const component,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith)
END_JUCE_NAMESPACE

@interface JuceGLView : UIView
{
}
+ (Class) layerClass;
@end

@implementation JuceGLView
+ (Class) layerClass
{
return [CAEAGLLayer class];
}
@end

BEGIN_JUCE_NAMESPACE

class GLESContext : public OpenGLContext
{
public:
GLESContext (UIViewComponentPeer* peer,
Component* const component_,
const OpenGLPixelFormat& pixelFormat_,
const GLESContext* const sharedContext,
NSUInteger apiType)
: component (component_), pixelFormat (pixelFormat_), glLayer (0), context (0),
useDepthBuffer (pixelFormat_.depthBufferBits > 0), frameBufferHandle (0), colorBufferHandle (0),
depthBufferHandle (0), lastWidth (0), lastHeight (0)
{
view = [[JuceGLView alloc] initWithFrame: CGRectMake (0, 0, 64, 64)];
view.opaque = YES;
view.hidden = NO;
view.backgroundColor = [UIColor redColor];

glLayer = (CAEAGLLayer*) [view layer];
[peer->view addSubview: view];

if (sharedContext != 0)
context = [[EAGLContext alloc] initWithAPI: apiType
sharegroup: [sharedContext->context sharegroup]];
else
context = [[EAGLContext alloc] initWithAPI: apiType];

createGLBuffers();
}

~GLESContext()
{
makeInactive();
[context release];
[view removeFromSuperview];
[view release];
freeGLBuffers();
}

bool makeActive() const throw()
{
jassert (context != 0);

[EAGLContext setCurrentContext: context];
glBindFramebufferOES (GL_FRAMEBUFFER_OES, frameBufferHandle);
return true;
}

void swapBuffers()
{
glBindRenderbufferOES (GL_RENDERBUFFER_OES, colorBufferHandle);
[context presentRenderbuffer: GL_RENDERBUFFER_OES];
}

bool makeInactive() const throw()
{
return [EAGLContext setCurrentContext: nil];
}

bool isActive() const throw()
{
return [EAGLContext currentContext] == context;
}

const OpenGLPixelFormat getPixelFormat() const { return pixelFormat; }
void* getRawContext() const throw() { return (void*) glLayer; }

void updateWindowPosition (int x, int y, int w, int h, int outerWindowHeight)
{
view.frame = CGRectMake ((CGFloat) x, (CGFloat) y, (CGFloat) w, (CGFloat) h);

if (lastWidth != w || lastHeight != h)
{
lastWidth = w;
lastHeight = h;
freeGLBuffers();
createGLBuffers();
}
}

bool setSwapInterval (const int numFramesPerSwap)
{
numFrames = numFramesPerSwap;
return true;
}

int getSwapInterval() const
{
return numFrames;
}

void repaint()
{
}

void createGLBuffers()
{
makeActive();

glGenFramebuffersOES (1, &frameBufferHandle);
glGenRenderbuffersOES (1, &colorBufferHandle);
glGenRenderbuffersOES (1, &depthBufferHandle);

glBindRenderbufferOES (GL_RENDERBUFFER_OES, colorBufferHandle);
[context renderbufferStorage: GL_RENDERBUFFER_OES fromDrawable: glLayer];

GLint width, height;
glGetRenderbufferParameterivOES (GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &width);
glGetRenderbufferParameterivOES (GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &height);

if (useDepthBuffer)
{
glBindRenderbufferOES (GL_RENDERBUFFER_OES, depthBufferHandle);
glRenderbufferStorageOES (GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, width, height);
}

glBindRenderbufferOES (GL_RENDERBUFFER_OES, colorBufferHandle);

glBindFramebufferOES (GL_FRAMEBUFFER_OES, frameBufferHandle);
glFramebufferRenderbufferOES (GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, colorBufferHandle);

if (useDepthBuffer)
glFramebufferRenderbufferOES (GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthBufferHandle);

jassert (glCheckFramebufferStatusOES (GL_FRAMEBUFFER_OES) == GL_FRAMEBUFFER_COMPLETE_OES);
}

void freeGLBuffers()
{
if (frameBufferHandle != 0)
{
glDeleteFramebuffersOES (1, &frameBufferHandle);
frameBufferHandle = 0;
}

if (colorBufferHandle != 0)
{
glDeleteRenderbuffersOES (1, &colorBufferHandle);
colorBufferHandle = 0;
}

if (depthBufferHandle != 0)
{
glDeleteRenderbuffersOES (1, &depthBufferHandle);
depthBufferHandle = 0;
}
}

juce_UseDebuggingNewOperator

private:
Component::SafePointer<Component> component;
OpenGLPixelFormat pixelFormat;
JuceGLView* view;
CAEAGLLayer* glLayer;
EAGLContext* context;
bool useDepthBuffer;
GLuint frameBufferHandle, colorBufferHandle, depthBufferHandle;
int numFrames;
int lastWidth, lastHeight;

GLESContext (const GLESContext&);
GLESContext& operator= (const GLESContext&);
};

OpenGLContext* OpenGLComponent::createContext()
{
ScopedAutoReleasePool pool;
UIViewComponentPeer* peer = dynamic_cast <UIViewComponentPeer*> (getPeer());

if (peer != 0)
return new GLESContext (peer, this, preferredPixelFormat,
dynamic_cast <const GLESContext*> (contextToShareListsWith),
type == openGLES2 ? kEAGLRenderingAPIOpenGLES2 : kEAGLRenderingAPIOpenGLES1);

return 0;
}

void OpenGLPixelFormat::getAvailablePixelFormats (Component* /*component*/,
OwnedArray <OpenGLPixelFormat>& /*results*/)
{
}

void juce_glViewport (const int w, const int h)
{
//glViewport (0, 0, w, h);
glViewport (0, 0, w, h);
}

#endif
@@ -247252,12 +247433,10 @@ private:
WindowedGLContext& operator= (const WindowedGLContext&);
};

OpenGLContext* OpenGLContext::createContextForWindow (Component* const component,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith)
OpenGLContext* OpenGLComponent::createContext()
{
ScopedPointer <WindowedGLContext> c (new WindowedGLContext (component, pixelFormat,
contextToShareWith != 0 ? (NSOpenGLContext*) contextToShareWith->getRawContext() : 0));
ScopedPointer<WindowedGLContext> c (new WindowedGLContext (this, preferredPixelFormat,
contextToShareListsWith != 0 ? (NSOpenGLContext*) contextToShareListsWith->getRawContext() : 0));

return (c->renderContext != 0) ? c.release() : 0;
}
@@ -247310,16 +247489,208 @@ void OpenGLPixelFormat::getAvailablePixelFormats (Component* /*component*/,

#else

OpenGLContext* OpenGLContext::createContextForWindow (Component* const component,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith)
END_JUCE_NAMESPACE

@interface JuceGLView : UIView
{
}
+ (Class) layerClass;
@end

@implementation JuceGLView
+ (Class) layerClass
{
return [CAEAGLLayer class];
}
@end

BEGIN_JUCE_NAMESPACE

class GLESContext : public OpenGLContext
{
public:
GLESContext (UIViewComponentPeer* peer,
Component* const component_,
const OpenGLPixelFormat& pixelFormat_,
const GLESContext* const sharedContext,
NSUInteger apiType)
: component (component_), pixelFormat (pixelFormat_), glLayer (0), context (0),
useDepthBuffer (pixelFormat_.depthBufferBits > 0), frameBufferHandle (0), colorBufferHandle (0),
depthBufferHandle (0), lastWidth (0), lastHeight (0)
{
view = [[JuceGLView alloc] initWithFrame: CGRectMake (0, 0, 64, 64)];
view.opaque = YES;
view.hidden = NO;
view.backgroundColor = [UIColor redColor];

glLayer = (CAEAGLLayer*) [view layer];
[peer->view addSubview: view];

if (sharedContext != 0)
context = [[EAGLContext alloc] initWithAPI: apiType
sharegroup: [sharedContext->context sharegroup]];
else
context = [[EAGLContext alloc] initWithAPI: apiType];

createGLBuffers();
}

~GLESContext()
{
makeInactive();
[context release];
[view removeFromSuperview];
[view release];
freeGLBuffers();
}

bool makeActive() const throw()
{
jassert (context != 0);

[EAGLContext setCurrentContext: context];
glBindFramebufferOES (GL_FRAMEBUFFER_OES, frameBufferHandle);
return true;
}

void swapBuffers()
{
glBindRenderbufferOES (GL_RENDERBUFFER_OES, colorBufferHandle);
[context presentRenderbuffer: GL_RENDERBUFFER_OES];
}

bool makeInactive() const throw()
{
return [EAGLContext setCurrentContext: nil];
}

bool isActive() const throw()
{
return [EAGLContext currentContext] == context;
}

const OpenGLPixelFormat getPixelFormat() const { return pixelFormat; }
void* getRawContext() const throw() { return (void*) glLayer; }

void updateWindowPosition (int x, int y, int w, int h, int outerWindowHeight)
{
view.frame = CGRectMake ((CGFloat) x, (CGFloat) y, (CGFloat) w, (CGFloat) h);

if (lastWidth != w || lastHeight != h)
{
lastWidth = w;
lastHeight = h;
freeGLBuffers();
createGLBuffers();
}
}

bool setSwapInterval (const int numFramesPerSwap)
{
numFrames = numFramesPerSwap;
return true;
}

int getSwapInterval() const
{
return numFrames;
}

void repaint()
{
}

void createGLBuffers()
{
makeActive();

glGenFramebuffersOES (1, &frameBufferHandle);
glGenRenderbuffersOES (1, &colorBufferHandle);
glGenRenderbuffersOES (1, &depthBufferHandle);

glBindRenderbufferOES (GL_RENDERBUFFER_OES, colorBufferHandle);
[context renderbufferStorage: GL_RENDERBUFFER_OES fromDrawable: glLayer];

GLint width, height;
glGetRenderbufferParameterivOES (GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &width);
glGetRenderbufferParameterivOES (GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &height);

if (useDepthBuffer)
{
glBindRenderbufferOES (GL_RENDERBUFFER_OES, depthBufferHandle);
glRenderbufferStorageOES (GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, width, height);
}

glBindRenderbufferOES (GL_RENDERBUFFER_OES, colorBufferHandle);

glBindFramebufferOES (GL_FRAMEBUFFER_OES, frameBufferHandle);
glFramebufferRenderbufferOES (GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, colorBufferHandle);

if (useDepthBuffer)
glFramebufferRenderbufferOES (GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthBufferHandle);

jassert (glCheckFramebufferStatusOES (GL_FRAMEBUFFER_OES) == GL_FRAMEBUFFER_COMPLETE_OES);
}

void freeGLBuffers()
{
if (frameBufferHandle != 0)
{
glDeleteFramebuffersOES (1, &frameBufferHandle);
frameBufferHandle = 0;
}

if (colorBufferHandle != 0)
{
glDeleteRenderbuffersOES (1, &colorBufferHandle);
colorBufferHandle = 0;
}

if (depthBufferHandle != 0)
{
glDeleteRenderbuffersOES (1, &depthBufferHandle);
depthBufferHandle = 0;
}
}

juce_UseDebuggingNewOperator

private:
Component::SafePointer<Component> component;
OpenGLPixelFormat pixelFormat;
JuceGLView* view;
CAEAGLLayer* glLayer;
EAGLContext* context;
bool useDepthBuffer;
GLuint frameBufferHandle, colorBufferHandle, depthBufferHandle;
int numFrames;
int lastWidth, lastHeight;

GLESContext (const GLESContext&);
GLESContext& operator= (const GLESContext&);
};

OpenGLContext* OpenGLComponent::createContext()
{
ScopedAutoReleasePool pool;
UIViewComponentPeer* peer = dynamic_cast <UIViewComponentPeer*> (getPeer());

if (peer != 0)
return new GLESContext (peer, this, preferredPixelFormat,
dynamic_cast <const GLESContext*> (contextToShareListsWith),
type == openGLES2 ? kEAGLRenderingAPIOpenGLES2 : kEAGLRenderingAPIOpenGLES1);

return 0;
}

void OpenGLPixelFormat::getAvailablePixelFormats (Component* /*component*/,
OwnedArray <OpenGLPixelFormat>& /*results*/)
{
}

void juce_glViewport (const int w, const int h)
{
//glViewport (0, 0, w, h);
glViewport (0, 0, w, h);
}

#endif
@@ -251607,7 +251978,11 @@ MidiInput* MidiInput::openDevice (int index, MidiInputCallback* callback)
/*** Start of inlined file: juce_mac_CameraDevice.mm ***/
// (This file gets included by juce_mac_NativeCode.mm, rather than being
// compiled on its own).
#if JUCE_INCLUDED_FILE && JUCE_QUICKTIME && JUCE_USE_CAMERA
#if JUCE_INCLUDED_FILE && JUCE_USE_CAMERA

#if ! JUCE_QUICKTIME
#error "On the Mac, cameras use Quicktime, so if you turn on JUCE_USE_CAMERA, you also need to enable JUCE_QUICKTIME"
#endif

#define QTCaptureCallbackDelegate MakeObjCClassName(QTCaptureCallbackDelegate)



+ 20
- 7
juce_amalgamated.h View File

@@ -43,7 +43,7 @@

#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 51
#define JUCE_BUILDNUMBER 11
#define JUCE_BUILDNUMBER 12

#define JUCE_VERSION ((JUCE_MAJOR_VERSION << 16) + (JUCE_MINOR_VERSION << 8) + JUCE_BUILDNUMBER)

@@ -220,6 +220,10 @@
#define JUCE_QUICKTIME 0
#endif

#if (JUCE_IPHONE || JUCE_LINUX) && JUCE_QUICKTIME
#undef JUCE_QUICKTIME
#endif

#ifndef JUCE_OPENGL
#define JUCE_OPENGL 1
#endif
@@ -240,7 +244,7 @@
#define JUCE_USE_CDREADER 1
#endif

#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA)
#if (JUCE_QUICKTIME || JUCE_WINDOWS) && ! defined (JUCE_USE_CAMERA)
// #define JUCE_USE_CAMERA 1
#endif

@@ -26746,10 +26750,6 @@ public:

virtual void* getRawContext() const throw() = 0;

static OpenGLContext* createContextForWindow (Component* componentToDrawTo,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith);

static OpenGLContext* getCurrentContext();

juce_UseDebuggingNewOperator
@@ -26762,7 +26762,17 @@ class JUCE_API OpenGLComponent : public Component
{
public:

OpenGLComponent();
enum OpenGLType
{
openGLDefault = 0,

#if JUCE_IPHONE
openGLES1, /**< On the iPhone, this selects openGL ES 1.0 */
openGLES2 /**< On the iPhone, this selects openGL ES 2.0 */
#endif
};

OpenGLComponent (OpenGLType type = openGLDefault);

~OpenGLComponent();

@@ -26799,6 +26809,8 @@ public:
juce_UseDebuggingNewOperator

private:
const OpenGLType type;

class OpenGLComponentWatcher;
friend class OpenGLComponentWatcher;
friend class ScopedPointer <OpenGLComponentWatcher>;
@@ -26811,6 +26823,7 @@ private:
OpenGLPixelFormat preferredPixelFormat;
bool needToUpdateViewport;

OpenGLContext* createContext();
void deleteContext();
void updateContextPosition();
void internalRepaint (int x, int y, int w, int h);


+ 1
- 1
src/core/juce_StandardHeader.h View File

@@ -33,7 +33,7 @@
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 51
#define JUCE_BUILDNUMBER 11
#define JUCE_BUILDNUMBER 12
/** Current Juce version number.


+ 4
- 5
src/gui/components/special/juce_OpenGLComponent.cpp View File

@@ -177,8 +177,9 @@ private:
};
//==============================================================================
OpenGLComponent::OpenGLComponent()
: context (0),
OpenGLComponent::OpenGLComponent (const OpenGLType type_)
: type (type_),
context (0),
contextToShareListsWith (0),
needToUpdateViewport (true)
{
@@ -259,9 +260,7 @@ bool OpenGLComponent::makeCurrentContextActive()
if (isShowing() && getTopLevelComponent()->getPeer() != 0)
{
context = OpenGLContext::createContextForWindow (this,
preferredPixelFormat,
contextToShareListsWith);
context = createContext();
if (context != 0)
{


+ 17
- 14
src/gui/components/special/juce_OpenGLComponent.h View File

@@ -146,18 +146,6 @@ public:
*/
virtual void* getRawContext() const throw() = 0;
//==============================================================================
/** This tries to create a context that can be used for drawing into the
area occupied by the specified component.
Note that you probably shouldn't use this method directly unless you know what
you're doing - the OpenGLComponent calls this and manages the context for you.
*/
static OpenGLContext* createContextForWindow (Component* componentToDrawTo,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith);
//==============================================================================
/** Returns the context that's currently in active use by the calling thread.
@@ -185,9 +173,21 @@ class JUCE_API OpenGLComponent : public Component
{
public:
//==============================================================================
/** Creates an OpenGLComponent.
/** Used to select the type of openGL API to use, if more than one choice is available
on a particular platform.
*/
OpenGLComponent();
enum OpenGLType
{
openGLDefault = 0,
#if JUCE_IPHONE
openGLES1, /**< On the iPhone, this selects openGL ES 1.0 */
openGLES2 /**< On the iPhone, this selects openGL ES 2.0 */
#endif
};
/** Creates an OpenGLComponent. */
OpenGLComponent (OpenGLType type = openGLDefault);
/** Destructor. */
~OpenGLComponent();
@@ -333,6 +333,8 @@ public:
juce_UseDebuggingNewOperator
private:
const OpenGLType type;
class OpenGLComponentWatcher;
friend class OpenGLComponentWatcher;
friend class ScopedPointer <OpenGLComponentWatcher>;
@@ -345,6 +347,7 @@ private:
OpenGLPixelFormat preferredPixelFormat;
bool needToUpdateViewport;
OpenGLContext* createContext();
void deleteContext();
void updateContextPosition();
void internalRepaint (int x, int y, int w, int h);


+ 0
- 4
src/io/files/juce_TemporaryFile.cpp View File

@@ -95,10 +95,6 @@ bool TemporaryFile::overwriteTargetFileWithTemporary() const
Thread::sleep (100);
}
// Failed to overwrite the new file! Make sure you've not left any
// file streams hanging around when you call this method!
jassertfalse
}
else
{


+ 4
- 9
src/native/linux/juce_linux_Windowing.cpp View File

@@ -3349,17 +3349,12 @@ private:
};
//==============================================================================
OpenGLContext* OpenGLContext::createContextForWindow (Component* const component,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith)
OpenGLContext* OpenGLComponent::createContext()
{
WindowedGLContext* c = new WindowedGLContext (component, pixelFormat,
contextToShareWith != 0 ? (GLXContext) contextToShareWith->getRawContext() : 0);
ScopedPointer<WindowedGLContext> c (new WindowedGLContext (this, preferredPixelFormat,
contextToShareListsWith != 0 ? (GLXContext) contextToShareListsWith->getRawContext() : 0));
if (c->renderContext == 0)
deleteAndZero (c);
return c;
return (c->renderContext != 0) ? c.release() : 0;
}
void juce_glViewport (const int w, const int h)


+ 1
- 5
src/native/mac/juce_iphone_UIViewComponentPeer.mm View File

@@ -283,11 +283,7 @@ UIViewComponentPeer::UIViewComponentPeer (Component* const component,
fullScreen (false),
insideDrawRect (false)
{
CGRect r;
r.origin.x = 0;
r.origin.y = 0;
r.size.width = (float) component->getWidth();
r.size.height = (float) component->getHeight();
CGRect r = CGRectMake (0, 0, (float) component->getWidth(), (float) component->getHeight());
view = [[JuceUIView alloc] initWithOwner: this withFrame: r];


+ 5
- 1
src/native/mac/juce_mac_CameraDevice.mm View File

@@ -25,7 +25,11 @@
// (This file gets included by juce_mac_NativeCode.mm, rather than being
// compiled on its own).
#if JUCE_INCLUDED_FILE && JUCE_QUICKTIME && JUCE_USE_CAMERA
#if JUCE_INCLUDED_FILE && JUCE_USE_CAMERA
#if ! JUCE_QUICKTIME
#error "On the Mac, cameras use Quicktime, so if you turn on JUCE_USE_CAMERA, you also need to enable JUCE_QUICKTIME"
#endif
//==============================================================================
#define QTCaptureCallbackDelegate MakeObjCClassName(QTCaptureCallbackDelegate)


+ 5
- 0
src/native/mac/juce_mac_NativeIncludes.h View File

@@ -44,7 +44,12 @@
#import <AVFoundation/AVFoundation.h>
#import <CoreData/CoreData.h>
#import <MobileCoreServices/MobileCoreServices.h>
#import <QuartzCore/QuartzCore.h>
#include <sys/fcntl.h>
#if JUCE_OPENGL
#include <OpenGLES/ES1/gl.h>
#include <OpenGLES/ES1/glext.h>
#endif
#else
#import <Cocoa/Cocoa.h>
#import <CoreAudio/HostTime.h>


+ 204
- 9
src/native/mac/juce_mac_OpenGLComponent.mm View File

@@ -258,12 +258,10 @@ private:
};
//==============================================================================
OpenGLContext* OpenGLContext::createContextForWindow (Component* const component,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith)
OpenGLContext* OpenGLComponent::createContext()
{
ScopedPointer <WindowedGLContext> c (new WindowedGLContext (component, pixelFormat,
contextToShareWith != 0 ? (NSOpenGLContext*) contextToShareWith->getRawContext() : 0));
ScopedPointer<WindowedGLContext> c (new WindowedGLContext (this, preferredPixelFormat,
contextToShareListsWith != 0 ? (NSOpenGLContext*) contextToShareListsWith->getRawContext() : 0));
return (c->renderContext != 0) ? c.release() : 0;
}
@@ -317,16 +315,213 @@ void OpenGLPixelFormat::getAvailablePixelFormats (Component* /*component*/,
#else
//==============================================================================
OpenGLContext* OpenGLContext::createContextForWindow (Component* const component,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith)
END_JUCE_NAMESPACE
@interface JuceGLView : UIView
{
}
+ (Class) layerClass;
@end
@implementation JuceGLView
+ (Class) layerClass
{
return [CAEAGLLayer class];
}
@end
BEGIN_JUCE_NAMESPACE
//==============================================================================
class GLESContext : public OpenGLContext
{
public:
GLESContext (UIViewComponentPeer* peer,
Component* const component_,
const OpenGLPixelFormat& pixelFormat_,
const GLESContext* const sharedContext,
NSUInteger apiType)
: component (component_), pixelFormat (pixelFormat_), glLayer (0), context (0),
useDepthBuffer (pixelFormat_.depthBufferBits > 0), frameBufferHandle (0), colorBufferHandle (0),
depthBufferHandle (0), lastWidth (0), lastHeight (0)
{
view = [[JuceGLView alloc] initWithFrame: CGRectMake (0, 0, 64, 64)];
view.opaque = YES;
view.hidden = NO;
view.backgroundColor = [UIColor redColor];
glLayer = (CAEAGLLayer*) [view layer];
[peer->view addSubview: view];
if (sharedContext != 0)
context = [[EAGLContext alloc] initWithAPI: apiType
sharegroup: [sharedContext->context sharegroup]];
else
context = [[EAGLContext alloc] initWithAPI: apiType];
createGLBuffers();
}
~GLESContext()
{
makeInactive();
[context release];
[view removeFromSuperview];
[view release];
freeGLBuffers();
}
bool makeActive() const throw()
{
jassert (context != 0);
[EAGLContext setCurrentContext: context];
glBindFramebufferOES (GL_FRAMEBUFFER_OES, frameBufferHandle);
return true;
}
void swapBuffers()
{
glBindRenderbufferOES (GL_RENDERBUFFER_OES, colorBufferHandle);
[context presentRenderbuffer: GL_RENDERBUFFER_OES];
}
bool makeInactive() const throw()
{
return [EAGLContext setCurrentContext: nil];
}
bool isActive() const throw()
{
return [EAGLContext currentContext] == context;
}
const OpenGLPixelFormat getPixelFormat() const { return pixelFormat; }
void* getRawContext() const throw() { return (void*) glLayer; }
void updateWindowPosition (int x, int y, int w, int h, int outerWindowHeight)
{
view.frame = CGRectMake ((CGFloat) x, (CGFloat) y, (CGFloat) w, (CGFloat) h);
if (lastWidth != w || lastHeight != h)
{
lastWidth = w;
lastHeight = h;
freeGLBuffers();
createGLBuffers();
}
}
bool setSwapInterval (const int numFramesPerSwap)
{
numFrames = numFramesPerSwap;
return true;
}
int getSwapInterval() const
{
return numFrames;
}
void repaint()
{
}
//==============================================================================
void createGLBuffers()
{
makeActive();
glGenFramebuffersOES (1, &frameBufferHandle);
glGenRenderbuffersOES (1, &colorBufferHandle);
glGenRenderbuffersOES (1, &depthBufferHandle);
glBindRenderbufferOES (GL_RENDERBUFFER_OES, colorBufferHandle);
[context renderbufferStorage: GL_RENDERBUFFER_OES fromDrawable: glLayer];
GLint width, height;
glGetRenderbufferParameterivOES (GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &width);
glGetRenderbufferParameterivOES (GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &height);
if (useDepthBuffer)
{
glBindRenderbufferOES (GL_RENDERBUFFER_OES, depthBufferHandle);
glRenderbufferStorageOES (GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, width, height);
}
glBindRenderbufferOES (GL_RENDERBUFFER_OES, colorBufferHandle);
glBindFramebufferOES (GL_FRAMEBUFFER_OES, frameBufferHandle);
glFramebufferRenderbufferOES (GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, colorBufferHandle);
if (useDepthBuffer)
glFramebufferRenderbufferOES (GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthBufferHandle);
jassert (glCheckFramebufferStatusOES (GL_FRAMEBUFFER_OES) == GL_FRAMEBUFFER_COMPLETE_OES);
}
void freeGLBuffers()
{
if (frameBufferHandle != 0)
{
glDeleteFramebuffersOES (1, &frameBufferHandle);
frameBufferHandle = 0;
}
if (colorBufferHandle != 0)
{
glDeleteRenderbuffersOES (1, &colorBufferHandle);
colorBufferHandle = 0;
}
if (depthBufferHandle != 0)
{
glDeleteRenderbuffersOES (1, &depthBufferHandle);
depthBufferHandle = 0;
}
}
//==============================================================================
juce_UseDebuggingNewOperator
private:
Component::SafePointer<Component> component;
OpenGLPixelFormat pixelFormat;
JuceGLView* view;
CAEAGLLayer* glLayer;
EAGLContext* context;
bool useDepthBuffer;
GLuint frameBufferHandle, colorBufferHandle, depthBufferHandle;
int numFrames;
int lastWidth, lastHeight;
//==============================================================================
GLESContext (const GLESContext&);
GLESContext& operator= (const GLESContext&);
};
OpenGLContext* OpenGLComponent::createContext()
{
ScopedAutoReleasePool pool;
UIViewComponentPeer* peer = dynamic_cast <UIViewComponentPeer*> (getPeer());
if (peer != 0)
return new GLESContext (peer, this, preferredPixelFormat,
dynamic_cast <const GLESContext*> (contextToShareListsWith),
type == openGLES2 ? kEAGLRenderingAPIOpenGLES2 : kEAGLRenderingAPIOpenGLES1);
return 0;
}
void OpenGLPixelFormat::getAvailablePixelFormats (Component* /*component*/,
OwnedArray <OpenGLPixelFormat>& /*results*/)
{
}
void juce_glViewport (const int w, const int h)
{
//glViewport (0, 0, w, h);
glViewport (0, 0, w, h);
}
#endif


+ 5
- 10
src/native/windows/juce_win32_OpenGLComponent.cpp View File

@@ -498,18 +498,13 @@ private:
};
//==============================================================================
OpenGLContext* OpenGLContext::createContextForWindow (Component* const component,
const OpenGLPixelFormat& pixelFormat,
const OpenGLContext* const contextToShareWith)
OpenGLContext* OpenGLComponent::createContext()
{
WindowedGLContext* c = new WindowedGLContext (component,
contextToShareWith != 0 ? (HGLRC) contextToShareWith->getRawContext() : 0,
pixelFormat);
ScopedPointer<WindowedGLContext> c (new WindowedGLContext (this,
contextToShareListsWith != 0 ? (HGLRC) contextToShareListsWith->getRawContext() : 0,
preferredPixelFormat));
if (c->renderContext == 0)
deleteAndZero (c);
return c;
return (c->renderContext != 0) ? c.release() : 0;
}
void* OpenGLComponent::getNativeWindowHandle() const


+ 2
- 1
src/utilities/juce_PropertiesFile.cpp View File

@@ -139,7 +139,8 @@ PropertiesFile::PropertiesFile (const File& f, const int millisecondsBeforeSavin
PropertiesFile::~PropertiesFile()
{
saveIfNeeded();
if (! saveIfNeeded())
jassertfalse;
}
bool PropertiesFile::saveIfNeeded()


Loading…
Cancel
Save