diff --git a/Builds/MacOSX/Juce.xcodeproj/project.pbxproj b/Builds/MacOSX/Juce.xcodeproj/project.pbxproj index 4e836665f1..bdc7a33f95 100644 --- a/Builds/MacOSX/Juce.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/Juce.xcodeproj/project.pbxproj @@ -1947,7 +1947,6 @@ 23256FCDBD84A2E259E40908, 3E3A3D491CB40D2943E95E64 ); name = Source; sourceTree = ""; }; 0344046290267DB74DECDC05 = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; @@ -1967,7 +1966,6 @@ "JUCE_ObjCExtraSuffix=JSlRKlNBb5", "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; 9DE19CD5BB8E12A153385ADD = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = s; diff --git a/Builds/iOS/Juce.xcodeproj/project.pbxproj b/Builds/iOS/Juce.xcodeproj/project.pbxproj index c11fddcc8f..af9fd39e91 100644 --- a/Builds/iOS/Juce.xcodeproj/project.pbxproj +++ b/Builds/iOS/Juce.xcodeproj/project.pbxproj @@ -1947,7 +1947,6 @@ 23256FCDBD84A2E259E40908, 3E3A3D491CB40D2943E95E64 ); name = Source; sourceTree = ""; }; 0344046290267DB74DECDC05 = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; @@ -1966,7 +1965,6 @@ "JUCE_ObjCExtraSuffix=JSlRKlNBb5", "JUCER_XCODE_IPHONE_5BC26AE3=1"); }; name = Debug; }; 9DE19CD5BB8E12A153385ADD = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = s; diff --git a/extras/Introjucer/Builds/MacOSX/Icon.icns b/extras/Introjucer/Builds/MacOSX/Icon.icns new file mode 100644 index 0000000000..7763077cfb Binary files /dev/null and b/extras/Introjucer/Builds/MacOSX/Icon.icns differ diff --git a/extras/Introjucer/Builds/MacOSX/Info.plist b/extras/Introjucer/Builds/MacOSX/Info.plist index d925a03388..ad4f68de13 100644 --- a/extras/Introjucer/Builds/MacOSX/Info.plist +++ b/extras/Introjucer/Builds/MacOSX/Info.plist @@ -6,7 +6,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile - + Icon.icns CFBundleIdentifier com.rawmaterialsoftware.introjucer CFBundleName diff --git a/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj b/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj index 29bd67ce5d..0747b89762 100644 --- a/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj +++ b/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj @@ -17,6 +17,7 @@ DBE3CE9482B19CF1AE700805 = { isa = PBXBuildFile; fileRef = 23CF69B4C644D1E6E61E5C82; }; 93C9F3F27602A33DDC9C2250 = { isa = PBXBuildFile; fileRef = 2767E1D082874D301D5D5F43; }; 2E6836738CE7EB452FDC7E9A = { isa = PBXBuildFile; fileRef = D9FB1A5365FEEB854A0FF7BF; }; + AADBA9EB828F8C6A5E38593B = { isa = PBXBuildFile; fileRef = 3417A0C1AE7900A7E07C1CA1; }; D6D0659F3F3504012246F13D = { isa = PBXBuildFile; fileRef = AA3CBE4A2AC3E9411426F630; }; 8BAE4D8EA7F247DA0A4D3A5C = { isa = PBXBuildFile; fileRef = F617CE0630ADB0628A34D6BF; }; 280FE650B3F02AD9E821EA37 = { isa = PBXBuildFile; fileRef = 832701705EC0EC9484F9D9C2; }; @@ -57,6 +58,7 @@ D9FB1A5365FEEB854A0FF7BF = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; 12E1601866B3489844AFD645 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Introjucer.app; sourceTree = BUILT_PRODUCTS_DIR; }; F4C5CF1AA7EB9298043D89D3 = { isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = SOURCE_ROOT; }; + 3417A0C1AE7900A7E07C1CA1 = { isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; }; 2CB488FB81118B62A06AA82B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_Application.h; path = ../../Source/Application/jucer_Application.h; sourceTree = SOURCE_ROOT; }; 6B373B89AA84EBE5964C7452 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_CommandIDs.h; path = ../../Source/Application/jucer_CommandIDs.h; sourceTree = SOURCE_ROOT; }; D759DE26060A86B38AECF753 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_CommonHeaders.h; path = ../../Source/Application/jucer_CommonHeaders.h; sourceTree = SOURCE_ROOT; }; @@ -218,7 +220,8 @@ 268B4FFB1C675B679138545F, 60A217F62952DE8A752BD79F ); name = "Juce Library Code"; sourceTree = ""; }; EAC5B9DBB227CB2A002EF355 = { isa = PBXGroup; children = ( - F4C5CF1AA7EB9298043D89D3 ); name = Resources; sourceTree = ""; }; + F4C5CF1AA7EB9298043D89D3, + 3417A0C1AE7900A7E07C1CA1 ); name = Resources; sourceTree = ""; }; 0D737FA088906E13707BAEB7 = { isa = PBXGroup; children = ( 046FA2877C08618339161EE2, 43A5218D223AA21E0A55D986, @@ -244,7 +247,6 @@ 0D737FA088906E13707BAEB7, 18794C3CE7D0C95A5A70F213 ); name = Source; sourceTree = ""; }; DD9313457B3248E7646270A4 = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; @@ -267,6 +269,7 @@ GCC_OPTIMIZATION_LEVEL = 3; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET = 10.5; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_SYMBOLS_PRIVATE_EXTERN = YES; @@ -311,7 +314,8 @@ AC9DE3D3A6632D0494CC8609 = { isa = XCConfigurationList; buildConfigurations = ( DD9313457B3248E7646270A4, 673FACB8969ADED17ACEFF7C ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 87CCE4CB1FAB40B6F21DEACE = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; + 87CCE4CB1FAB40B6F21DEACE = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + AADBA9EB828F8C6A5E38593B ); runOnlyForDeploymentPostprocessing = 0; }; 5362E03ADF975A126C1F2F7B = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( D6D0659F3F3504012246F13D, 8BAE4D8EA7F247DA0A4D3A5C, diff --git a/extras/Introjucer/Builds/VisualStudio2005/The Introjucer.vcproj b/extras/Introjucer/Builds/VisualStudio2005/The Introjucer.vcproj index 7adc9e34c3..a0ada28247 100644 --- a/extras/Introjucer/Builds/VisualStudio2005/The Introjucer.vcproj +++ b/extras/Introjucer/Builds/VisualStudio2005/The Introjucer.vcproj @@ -334,6 +334,8 @@ + + diff --git a/extras/Introjucer/Builds/VisualStudio2005/icon.ico b/extras/Introjucer/Builds/VisualStudio2005/icon.ico new file mode 100644 index 0000000000..b5dbab53ed Binary files /dev/null and b/extras/Introjucer/Builds/VisualStudio2005/icon.ico differ diff --git a/extras/Introjucer/Builds/VisualStudio2005/resources.rc b/extras/Introjucer/Builds/VisualStudio2005/resources.rc new file mode 100644 index 0000000000..b20115c096 --- /dev/null +++ b/extras/Introjucer/Builds/VisualStudio2005/resources.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/extras/Introjucer/Builds/VisualStudio2008/The Introjucer.vcproj b/extras/Introjucer/Builds/VisualStudio2008/The Introjucer.vcproj index 9f66295670..583949dde6 100644 --- a/extras/Introjucer/Builds/VisualStudio2008/The Introjucer.vcproj +++ b/extras/Introjucer/Builds/VisualStudio2008/The Introjucer.vcproj @@ -334,6 +334,8 @@ + + diff --git a/extras/Introjucer/Builds/VisualStudio2008/icon.ico b/extras/Introjucer/Builds/VisualStudio2008/icon.ico new file mode 100644 index 0000000000..b5dbab53ed Binary files /dev/null and b/extras/Introjucer/Builds/VisualStudio2008/icon.ico differ diff --git a/extras/Introjucer/Builds/VisualStudio2008/resources.rc b/extras/Introjucer/Builds/VisualStudio2008/resources.rc new file mode 100644 index 0000000000..b20115c096 --- /dev/null +++ b/extras/Introjucer/Builds/VisualStudio2008/resources.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj b/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj index 8ceb82aebe..4b4aa6a3e2 100644 --- a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj +++ b/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj @@ -193,6 +193,12 @@ + + + + + + diff --git a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters b/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters index b7cd155aac..cbf326191b 100644 --- a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters +++ b/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters @@ -259,4 +259,14 @@ Juce Library Code + + + Juce Library Code + + + + + Juce Library Code + + diff --git a/extras/Introjucer/Builds/VisualStudio2010/icon.ico b/extras/Introjucer/Builds/VisualStudio2010/icon.ico new file mode 100644 index 0000000000..b5dbab53ed Binary files /dev/null and b/extras/Introjucer/Builds/VisualStudio2010/icon.ico differ diff --git a/extras/Introjucer/Builds/VisualStudio2010/resources.rc b/extras/Introjucer/Builds/VisualStudio2010/resources.rc new file mode 100644 index 0000000000..b20115c096 --- /dev/null +++ b/extras/Introjucer/Builds/VisualStudio2010/resources.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/extras/Introjucer/Introjucer.jucer b/extras/Introjucer/Introjucer.jucer index 968d85458f..7cb449f08d 100644 --- a/extras/Introjucer/Introjucer.jucer +++ b/extras/Introjucer/Introjucer.jucer @@ -10,7 +10,8 @@ pluginIsSynth="0" pluginWantsMidiIn="0" pluginProducesMidiOut="0" pluginSilenceInIsSilenceOut="0" pluginTailLength="0" pluginEditorRequiresKeys="0" pluginAUExportPrefix="TheIntrojucerAU" pluginAUViewClass="TheIntrojucerAU_V1" - pluginRTASCategory="" bundleIdentifier="com.rawmaterialsoftware.introjucer"> + pluginRTASCategory="" bundleIdentifier="com.rawmaterialsoftware.introjucer" + bigIcon="rVgowdy"> @@ -24,9 +25,9 @@ + osxSDK="default" osxCompatibility="default" osxArchitecture="default"/> + osxSDK="default" osxCompatibility="10.5 SDK" osxArchitecture="32BitUniversal"/> diff --git a/extras/Introjucer/Source/Project/jucer_Project.cpp b/extras/Introjucer/Source/Project/jucer_Project.cpp index 9b116920e0..06378eaa9d 100644 --- a/extras/Introjucer/Source/Project/jucer_Project.cpp +++ b/extras/Introjucer/Source/Project/jucer_Project.cpp @@ -994,6 +994,12 @@ const char* const Project::BuildConfiguration::osxVersion10_4 = "10.4 SDK"; const char* const Project::BuildConfiguration::osxVersion10_5 = "10.5 SDK"; const char* const Project::BuildConfiguration::osxVersion10_6 = "10.6 SDK"; +const char* const Project::BuildConfiguration::osxArch_Default = "default"; +const char* const Project::BuildConfiguration::osxArch_Native = "Native"; +const char* const Project::BuildConfiguration::osxArch_32BitUniversal = "32BitUniversal"; +const char* const Project::BuildConfiguration::osxArch_64BitUniversal = "64BitUniversal"; +const char* const Project::BuildConfiguration::osxArch_64Bit = "64BitIntel"; + void Project::BuildConfiguration::createPropertyEditors (Array & props) { props.add (new TextPropertyComponent (getName(), "Name", 96, false)); @@ -1034,6 +1040,15 @@ void Project::BuildConfiguration::createPropertyEditors (Array (osxVersionValues))); props.getLast()->setTooltip ("The minimum version of OSX that the target binary will be compatible with."); + const char* osxArch[] = { "Use Default", "Native architecture of build machine", "Universal Binary (32-bit)", "Universal Binary (64-bit)", "64-bit Intel", 0 }; + const char* osxArchValues[] = { osxArch_Default, osxArch_Native, osxArch_32BitUniversal, osxArch_64BitUniversal, osxArch_64Bit, 0 }; + + if (getMacArchitecture().toString().isEmpty()) + getMacArchitecture() = osxArch_Default; + + props.add (new ChoicePropertyComponent (getMacArchitecture(), "OSX Architecture", StringArray (osxArch), Array (osxArchValues))); + props.getLast()->setTooltip ("The type of OSX binary that will be produced."); + for (int i = props.size(); --i >= 0;) props.getUnchecked(i)->setPreferredHeight (22); } diff --git a/extras/Introjucer/Source/Project/jucer_Project.h b/extras/Introjucer/Source/Project/jucer_Project.h index 8859cf2e17..bda65620f0 100644 --- a/extras/Introjucer/Source/Project/jucer_Project.h +++ b/extras/Introjucer/Source/Project/jucer_Project.h @@ -253,6 +253,13 @@ public: Value getMacSDKVersion() const { return getValue (Ids::osxSDK); } Value getMacCompatibilityVersion() const { return getValue (Ids::osxCompatibility); } + static const char* const osxArch_Default; + static const char* const osxArch_Native; + static const char* const osxArch_32BitUniversal; + static const char* const osxArch_64BitUniversal; + static const char* const osxArch_64Bit; + Value getMacArchitecture() const { return getValue (Ids::osxArchitecture); } + //============================================================================== private: friend class Project; diff --git a/extras/Introjucer/Source/Project/jucer_ProjectExport_XCode.h b/extras/Introjucer/Source/Project/jucer_ProjectExport_XCode.h index 0cf136f217..be46847fec 100644 --- a/extras/Introjucer/Source/Project/jucer_ProjectExport_XCode.h +++ b/extras/Introjucer/Source/Project/jucer_ProjectExport_XCode.h @@ -529,7 +529,13 @@ private: const StringArray getTargetSettings (const Project::BuildConfiguration& config) { StringArray s; - s.add ("ARCHS = \"$(ARCHS_STANDARD_32_BIT)\""); + + const String arch (config.getMacArchitecture().toString()); + if (arch == Project::BuildConfiguration::osxArch_Native) s.add ("ARCHS = \"$(ARCHS_NATIVE)\""); + else if (arch == Project::BuildConfiguration::osxArch_32BitUniversal) s.add ("ARCHS = \"$(ARCHS_STANDARD_32_BIT)\""); + else if (arch == Project::BuildConfiguration::osxArch_64BitUniversal) s.add ("ARCHS = \"$(ARCHS_STANDARD_32_64_BIT)\""); + else if (arch == Project::BuildConfiguration::osxArch_64Bit) s.add ("ARCHS = \"$(ARCHS_STANDARD_64_BIT)\""); + s.add ("PREBINDING = NO"); s.add ("HEADER_SEARCH_PATHS = \"" + replacePreprocessorTokens (config, getHeaderSearchPaths (config).joinIntoString (" ")) + " $(inherited)\""); s.add ("GCC_OPTIMIZATION_LEVEL = " + config.getGCCOptimisationFlag()); diff --git a/extras/Introjucer/Source/Utility/jucer_PresetIDs.h b/extras/Introjucer/Source/Utility/jucer_PresetIDs.h index c2991bc10e..95d8827ebd 100644 --- a/extras/Introjucer/Source/Utility/jucer_PresetIDs.h +++ b/extras/Introjucer/Source/Utility/jucer_PresetIDs.h @@ -90,6 +90,7 @@ namespace Ids DECLARE_ID (headerPath); DECLARE_ID (osxSDK); DECLARE_ID (osxCompatibility); + DECLARE_ID (osxArchitecture); DECLARE_ID (jucerVersion); DECLARE_ID (projectType); DECLARE_ID (juceLinkage); diff --git a/extras/JuceDemo/Builds/MacOSX/Icon.icns b/extras/JuceDemo/Builds/MacOSX/Icon.icns index 397a57cec2..7763077cfb 100644 Binary files a/extras/JuceDemo/Builds/MacOSX/Icon.icns and b/extras/JuceDemo/Builds/MacOSX/Icon.icns differ diff --git a/extras/JuceDemo/Builds/MacOSX/Juce Demo.xcodeproj/project.pbxproj b/extras/JuceDemo/Builds/MacOSX/Juce Demo.xcodeproj/project.pbxproj index 2ec90b6eb4..5f835b6dd6 100644 --- a/extras/JuceDemo/Builds/MacOSX/Juce Demo.xcodeproj/project.pbxproj +++ b/extras/JuceDemo/Builds/MacOSX/Juce Demo.xcodeproj/project.pbxproj @@ -176,7 +176,6 @@ 244B9AF7D858999910FD243E, 3F406773369804D0FBF2789A ); name = Source; sourceTree = ""; }; F46B3E8DBAFA746E04F4F62C = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; @@ -200,6 +199,7 @@ GCC_OPTIMIZATION_LEVEL = s; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET = 10.4; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_SYMBOLS_PRIVATE_EXTERN = YES; diff --git a/extras/JuceDemo/Builds/VisualStudio2005/icon.ico b/extras/JuceDemo/Builds/VisualStudio2005/icon.ico index f95f8be2b7..b5dbab53ed 100644 Binary files a/extras/JuceDemo/Builds/VisualStudio2005/icon.ico and b/extras/JuceDemo/Builds/VisualStudio2005/icon.ico differ diff --git a/extras/JuceDemo/Builds/VisualStudio2008/icon.ico b/extras/JuceDemo/Builds/VisualStudio2008/icon.ico index f95f8be2b7..b5dbab53ed 100644 Binary files a/extras/JuceDemo/Builds/VisualStudio2008/icon.ico and b/extras/JuceDemo/Builds/VisualStudio2008/icon.ico differ diff --git a/extras/JuceDemo/Builds/VisualStudio2010/icon.ico b/extras/JuceDemo/Builds/VisualStudio2010/icon.ico index f95f8be2b7..b5dbab53ed 100644 Binary files a/extras/JuceDemo/Builds/VisualStudio2010/icon.ico and b/extras/JuceDemo/Builds/VisualStudio2010/icon.ico differ diff --git a/extras/JuceDemo/Builds/iOS/Icon.icns b/extras/JuceDemo/Builds/iOS/Icon.icns index 397a57cec2..7763077cfb 100644 Binary files a/extras/JuceDemo/Builds/iOS/Icon.icns and b/extras/JuceDemo/Builds/iOS/Icon.icns differ diff --git a/extras/JuceDemo/Builds/iOS/Juce Demo.xcodeproj/project.pbxproj b/extras/JuceDemo/Builds/iOS/Juce Demo.xcodeproj/project.pbxproj index 4de8429ac9..bdd390fa9a 100644 --- a/extras/JuceDemo/Builds/iOS/Juce Demo.xcodeproj/project.pbxproj +++ b/extras/JuceDemo/Builds/iOS/Juce Demo.xcodeproj/project.pbxproj @@ -161,7 +161,6 @@ 244B9AF7D858999910FD243E, 3F406773369804D0FBF2789A ); name = Source; sourceTree = ""; }; F46B3E8DBAFA746E04F4F62C = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; diff --git a/extras/JuceDemo/Juce Demo.jucer b/extras/JuceDemo/Juce Demo.jucer index 3551b43418..4d30164408 100644 --- a/extras/JuceDemo/Juce Demo.jucer +++ b/extras/JuceDemo/Juce Demo.jucer @@ -27,9 +27,11 @@ + osxSDK="default" osxCompatibility="default" defines="JUCE_UNIT_TESTS=1" + osxArchitecture="default"/> + osxSDK="default" osxCompatibility="10.4 SDK" defines="JUCE_UNIT_TESTS=1" + osxArchitecture="32BitUniversal"/> diff --git a/extras/amalgamator/Builds/MacOSX/Amalgamator.xcodeproj/project.pbxproj b/extras/amalgamator/Builds/MacOSX/Amalgamator.xcodeproj/project.pbxproj index 3c6b4216d6..ee9fa78fc0 100644 --- a/extras/amalgamator/Builds/MacOSX/Amalgamator.xcodeproj/project.pbxproj +++ b/extras/amalgamator/Builds/MacOSX/Amalgamator.xcodeproj/project.pbxproj @@ -63,7 +63,6 @@ E33E9595882A25EE14ED65F4, FE436211E76A80250EE3B950 ); name = Source; sourceTree = ""; }; B35E392A6BCC0FB318E537E2 = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; @@ -79,7 +78,6 @@ "JUCE_ObjCExtraSuffix=OTDGfH", "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; 4DFAC29D863495AD1E31B6B9 = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = s; diff --git a/extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj b/extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj index 1af27e2b4a..0017eb924d 100644 --- a/extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj +++ b/extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj @@ -100,7 +100,6 @@ 26D5E869E6FD8DB238036278, 31DAB5E5452DF8F91208B6C4 ); name = Source; sourceTree = ""; }; 06F48CFFC99F68872CFA3466 = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; @@ -117,7 +116,6 @@ "JUCE_ObjCExtraSuffix=M73TRi", "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; 90901561E3F7FD713257B23D = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 $(inherited)"; GCC_OPTIMIZATION_LEVEL = s; diff --git a/extras/audio plugins/demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj b/extras/audio plugins/demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj index d9d1f7edc4..8b98440788 100644 --- a/extras/audio plugins/demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj +++ b/extras/audio plugins/demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj @@ -232,7 +232,6 @@ 9B041E4036493224CFD075FF, A60AEBCC9579AD6BA9D5CA4B ); name = Source; sourceTree = ""; }; 6B24C2D519EB1D09B3C748EC = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 $(DEVELOPER_DIR)/Extras/CoreAudio/PublicUtility $(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/Utility $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; @@ -254,7 +253,6 @@ "JUCE_ObjCExtraSuffix=JuceDemo", "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; F4B05B483343A2F3C923C6B4 = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 $(DEVELOPER_DIR)/Extras/CoreAudio/PublicUtility $(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/Utility $(inherited)"; GCC_OPTIMIZATION_LEVEL = s; diff --git a/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj b/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj index dcd9396e75..72d210fff7 100644 --- a/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj +++ b/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj @@ -63,7 +63,6 @@ 6A2DE3401F8295169E892596, 8532B0CC7DC2F05D888E79F2 ); name = Source; sourceTree = ""; }; 4B4D97D6F12470EB9280F783 = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; @@ -79,7 +78,6 @@ "JUCE_ObjCExtraSuffix=OeJtJb", "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; D4E910481C9C05D598DC755B = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = s; diff --git a/extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj b/extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj index db5f76179e..51ece39ef3 100644 --- a/extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj +++ b/extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj @@ -79,7 +79,6 @@ C134A2DBF8134BD791778F0F, DC3A70675753A61E8C7CD36B ); name = Source; sourceTree = ""; }; 91545771DBB516AC857F51FD = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; @@ -96,7 +95,6 @@ "JUCE_ObjCExtraSuffix=JtTAKTK1s", "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; 2BF0DFE3F61DBC969BCBD0C4 = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = s; diff --git a/extras/example projects/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj b/extras/example projects/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj index 23190df283..4baaa6e159 100644 --- a/extras/example projects/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj +++ b/extras/example projects/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj @@ -64,7 +64,6 @@ C134A2DBF8134BD791778F0F, DC3A70675753A61E8C7CD36B ); name = Source; sourceTree = ""; }; 91545771DBB516AC857F51FD = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = 0; @@ -80,7 +79,6 @@ "JUCE_ObjCExtraSuffix=JtTAKTK1s", "JUCER_XCODE_IPHONE_5BC26AE3=1"); }; name = Debug; }; 2BF0DFE3F61DBC969BCBD0C4 = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; PREBINDING = NO; HEADER_SEARCH_PATHS = " $(inherited)"; GCC_OPTIMIZATION_LEVEL = s; diff --git a/juce_amalgamated.cpp b/juce_amalgamated.cpp index e3795cbc3e..011e59e1c3 100644 --- a/juce_amalgamated.cpp +++ b/juce_amalgamated.cpp @@ -44704,7 +44704,7 @@ public: CodeDocument::Iterator::Iterator (CodeDocument* const document_) : document (document_), - currentLine (document_->lines[0]), + charPointer (0), line (0), position (0) { @@ -44712,7 +44712,7 @@ CodeDocument::Iterator::Iterator (CodeDocument* const document_) CodeDocument::Iterator::Iterator (const CodeDocument::Iterator& other) : document (other.document), - currentLine (other.currentLine), + charPointer (other.charPointer), line (other.line), position (other.position) { @@ -44721,7 +44721,7 @@ CodeDocument::Iterator::Iterator (const CodeDocument::Iterator& other) CodeDocument::Iterator& CodeDocument::Iterator::operator= (const CodeDocument::Iterator& other) throw() { document = other.document; - currentLine = other.currentLine; + charPointer = other.charPointer; line = other.line; position = other.position; @@ -44734,58 +44734,74 @@ CodeDocument::Iterator::~Iterator() throw() juce_wchar CodeDocument::Iterator::nextChar() { - if (currentLine == 0) - return 0; - - jassert (currentLine == document->lines.getUnchecked (line)); - const juce_wchar result = currentLine->line [position - currentLine->lineStartInFile]; - - if (++position >= currentLine->lineStartInFile + currentLine->lineLength) + for (;;) { - ++line; - currentLine = document->lines [line]; - } + if (charPointer.getAddress() == 0) + { + CodeDocumentLine* const l = document->lines[line]; - return result; -} + if (l == 0) + return 0; -void CodeDocument::Iterator::skip() -{ - if (currentLine != 0) - { - jassert (currentLine == document->lines.getUnchecked (line)); + charPointer = l->line.getCharPointer(); + } + + const juce_wchar result = charPointer.getAndAdvance(); - if (++position >= currentLine->lineStartInFile + currentLine->lineLength) + if (result == 0) { ++line; - currentLine = document->lines [line]; + charPointer = 0; + } + else + { + ++position; + return result; } } } +void CodeDocument::Iterator::skip() +{ + nextChar(); +} + void CodeDocument::Iterator::skipToEndOfLine() { - if (currentLine != 0) + if (charPointer.getAddress() == 0) { - jassert (currentLine == document->lines.getUnchecked (line)); + CodeDocumentLine* const l = document->lines[line]; - ++line; - currentLine = document->lines [line]; + if (l == 0) + return; - if (currentLine != 0) - position = currentLine->lineStartInFile; - else - position = document->getNumCharacters(); + charPointer = l->line.getCharPointer(); } + + position += charPointer.length(); + ++line; + charPointer = 0; } juce_wchar CodeDocument::Iterator::peekNextChar() const { - if (currentLine == 0 || currentLine->line.isEmpty()) - return 0; + if (charPointer.getAddress() == 0) + { + CodeDocumentLine* const l = document->lines[line]; + + if (l == 0) + return 0; + + charPointer = l->line.getCharPointer(); + } + + const juce_wchar c = *charPointer; - jassert (currentLine == document->lines.getUnchecked (line)); - return const_cast (currentLine->line) [position - currentLine->lineStartInFile]; + if (c != 0) + return c; + + CodeDocumentLine* const l = document->lines [line + 1]; + return l == 0 ? 0 : l->line[0]; } void CodeDocument::Iterator::skipWhitespace() @@ -44796,7 +44812,7 @@ void CodeDocument::Iterator::skipWhitespace() bool CodeDocument::Iterator::isEOF() const throw() { - return currentLine == 0; + return charPointer.getAddress() == 0 && line >= document->lines.size(); } CodeDocument::Position::Position() throw() @@ -49085,8 +49101,22 @@ bool ListBox::keyStateChanged (const bool isKeyDown) void ListBox::mouseWheelMove (const MouseEvent& e, float wheelIncrementX, float wheelIncrementY) { - getHorizontalScrollBar()->mouseWheelMove (e, wheelIncrementX, 0); - getVerticalScrollBar()->mouseWheelMove (e, 0, wheelIncrementY); + bool eventWasUsed = false; + + if (viewport->getHorizontalScrollBar()->isVisible() && wheelIncrementX != 0) + { + eventWasUsed = true; + viewport->getHorizontalScrollBar()->mouseWheelMove (e, wheelIncrementX, 0); + } + + if (viewport->getVerticalScrollBar()->isVisible() && wheelIncrementY != 0) + { + eventWasUsed = true; + viewport->getVerticalScrollBar()->mouseWheelMove (e, 0, wheelIncrementY); + } + + if (! eventWasUsed) + Component::mouseWheelMove (e, wheelIncrementX, wheelIncrementY); } void ListBox::mouseMove (const MouseEvent& e) diff --git a/juce_amalgamated.h b/juce_amalgamated.h index a45e4fdb1c..2dd7d875d7 100644 --- a/juce_amalgamated.h +++ b/juce_amalgamated.h @@ -73,7 +73,7 @@ namespace JuceDummyNamespace {} */ #define JUCE_MAJOR_VERSION 1 #define JUCE_MINOR_VERSION 53 -#define JUCE_BUILDNUMBER 46 +#define JUCE_BUILDNUMBER 47 /** Current Juce version number. @@ -50900,7 +50900,7 @@ public: private: CodeDocument* document; - CodeDocumentLine* currentLine; + mutable String::CharPointerType charPointer; int line, position; }; diff --git a/src/core/juce_StandardHeader.h b/src/core/juce_StandardHeader.h index 0c4cdcf66b..3a70942259 100644 --- a/src/core/juce_StandardHeader.h +++ b/src/core/juce_StandardHeader.h @@ -33,7 +33,7 @@ */ #define JUCE_MAJOR_VERSION 1 #define JUCE_MINOR_VERSION 53 -#define JUCE_BUILDNUMBER 46 +#define JUCE_BUILDNUMBER 47 /** Current Juce version number. diff --git a/src/gui/components/code_editor/juce_CodeDocument.cpp b/src/gui/components/code_editor/juce_CodeDocument.cpp index 2c3f68ad26..2a11e911d2 100644 --- a/src/gui/components/code_editor/juce_CodeDocument.cpp +++ b/src/gui/components/code_editor/juce_CodeDocument.cpp @@ -134,7 +134,7 @@ public: //============================================================================== CodeDocument::Iterator::Iterator (CodeDocument* const document_) : document (document_), - currentLine (document_->lines[0]), + charPointer (0), line (0), position (0) { @@ -142,7 +142,7 @@ CodeDocument::Iterator::Iterator (CodeDocument* const document_) CodeDocument::Iterator::Iterator (const CodeDocument::Iterator& other) : document (other.document), - currentLine (other.currentLine), + charPointer (other.charPointer), line (other.line), position (other.position) { @@ -151,7 +151,7 @@ CodeDocument::Iterator::Iterator (const CodeDocument::Iterator& other) CodeDocument::Iterator& CodeDocument::Iterator::operator= (const CodeDocument::Iterator& other) throw() { document = other.document; - currentLine = other.currentLine; + charPointer = other.charPointer; line = other.line; position = other.position; @@ -164,58 +164,74 @@ CodeDocument::Iterator::~Iterator() throw() juce_wchar CodeDocument::Iterator::nextChar() { - if (currentLine == 0) - return 0; - - jassert (currentLine == document->lines.getUnchecked (line)); - const juce_wchar result = currentLine->line [position - currentLine->lineStartInFile]; - - if (++position >= currentLine->lineStartInFile + currentLine->lineLength) + for (;;) { - ++line; - currentLine = document->lines [line]; - } + if (charPointer.getAddress() == 0) + { + CodeDocumentLine* const l = document->lines[line]; - return result; -} + if (l == 0) + return 0; -void CodeDocument::Iterator::skip() -{ - if (currentLine != 0) - { - jassert (currentLine == document->lines.getUnchecked (line)); + charPointer = l->line.getCharPointer(); + } + + const juce_wchar result = charPointer.getAndAdvance(); - if (++position >= currentLine->lineStartInFile + currentLine->lineLength) + if (result == 0) { ++line; - currentLine = document->lines [line]; + charPointer = 0; + } + else + { + ++position; + return result; } } } +void CodeDocument::Iterator::skip() +{ + nextChar(); +} + void CodeDocument::Iterator::skipToEndOfLine() { - if (currentLine != 0) + if (charPointer.getAddress() == 0) { - jassert (currentLine == document->lines.getUnchecked (line)); + CodeDocumentLine* const l = document->lines[line]; - ++line; - currentLine = document->lines [line]; + if (l == 0) + return; - if (currentLine != 0) - position = currentLine->lineStartInFile; - else - position = document->getNumCharacters(); + charPointer = l->line.getCharPointer(); } + + position += charPointer.length(); + ++line; + charPointer = 0; } juce_wchar CodeDocument::Iterator::peekNextChar() const { - if (currentLine == 0 || currentLine->line.isEmpty()) - return 0; + if (charPointer.getAddress() == 0) + { + CodeDocumentLine* const l = document->lines[line]; + + if (l == 0) + return 0; + + charPointer = l->line.getCharPointer(); + } + + const juce_wchar c = *charPointer; + + if (c != 0) + return c; - jassert (currentLine == document->lines.getUnchecked (line)); - return const_cast (currentLine->line) [position - currentLine->lineStartInFile]; + CodeDocumentLine* const l = document->lines [line + 1]; + return l == 0 ? 0 : l->line[0]; } void CodeDocument::Iterator::skipWhitespace() @@ -226,7 +242,7 @@ void CodeDocument::Iterator::skipWhitespace() bool CodeDocument::Iterator::isEOF() const throw() { - return currentLine == 0; + return charPointer.getAddress() == 0 && line >= document->lines.size(); } //============================================================================== diff --git a/src/gui/components/code_editor/juce_CodeDocument.h b/src/gui/components/code_editor/juce_CodeDocument.h index 14ff23d8e5..c8cd0571ef 100644 --- a/src/gui/components/code_editor/juce_CodeDocument.h +++ b/src/gui/components/code_editor/juce_CodeDocument.h @@ -374,7 +374,7 @@ public: private: CodeDocument* document; - CodeDocumentLine* currentLine; + mutable String::CharPointerType charPointer; int line, position; }; diff --git a/src/gui/components/controls/juce_ListBox.cpp b/src/gui/components/controls/juce_ListBox.cpp index 5fa3dcf41c..7f91a6917c 100644 --- a/src/gui/components/controls/juce_ListBox.cpp +++ b/src/gui/components/controls/juce_ListBox.cpp @@ -775,7 +775,7 @@ void ListBox::mouseWheelMove (const MouseEvent& e, float wheelIncrementX, float eventWasUsed = true; viewport->getHorizontalScrollBar()->mouseWheelMove (e, wheelIncrementX, 0); } - + if (viewport->getVerticalScrollBar()->isVisible() && wheelIncrementY != 0) { eventWasUsed = true; diff --git a/src/io/network/juce_Socket.cpp b/src/io/network/juce_Socket.cpp index 2690af6e3e..a910e1935f 100644 --- a/src/io/network/juce_Socket.cpp +++ b/src/io/network/juce_Socket.cpp @@ -61,6 +61,7 @@ BEGIN_JUCE_NAMESPACE #include "../../threads/juce_ScopedLock.h" #include "../../threads/juce_Thread.h" #include "../../utilities/juce_DeletedAtShutdown.h" +#include "../../core/juce_Singleton.h" #if JUCE_WINDOWS typedef int juce_socklen_t;