Changeset 1101
- Timestamp:
- 07/10/09 13:15:47 (8 months ago)
- Files:
-
- branches/perian-1.1 (modified) (1 prop)
- branches/perian-1.1/CPFPerianPrefPaneController.m (modified) (1 diff)
- branches/perian-1.1/Perian.xcodeproj/project.pbxproj (modified) (48 diffs)
- branches/perian-1.1/Prefix.h (copied) (copied from trunk/Prefix.h)
- branches/perian-1.1/Release/Changes.txt (modified) (1 diff)
- branches/perian-1.1/Subtitles/SubATSUIRenderer.h (modified) (1 diff)
- branches/perian-1.1/Subtitles/SubATSUIRenderer.m (modified) (16 diffs)
- branches/perian-1.1/UniversalDetector/UniversalDetector.h (modified) (1 diff)
- branches/perian-1.1/UniversalDetector/UniversalDetector.xcodeproj/project.pbxproj (modified) (7 diffs)
- branches/perian-1.1/createStaticLibs.sh (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/perian-1.1
- Property svn:mergeinfo changed from /trunk:969-1095 to /trunk:969-1100
branches/perian-1.1/CPFPerianPrefPaneController.m
r1087 r1101 382 382 BOOL isDir = NO; 383 383 NSString *tempPrefPane = [NSTemporaryDirectory() stringByAppendingPathComponent:@"PerianPane.prefPane"]; 384 385 //10.4 doesn't have NSInteger, but 64-bit requires it 386 #ifdef __LP64__ 387 NSInteger tag; 388 #else 384 389 int tag; 390 #endif 385 391 386 392 if([[NSFileManager defaultManager] fileExistsAtPath:tempPrefPane isDirectory:&isDir] && isDir) branches/perian-1.1/Perian.xcodeproj/project.pbxproj
r1087 r1101 114 114 11C85FE60A64314500DF3D73 /* FFusionCodec.r in Rez */ = {isa = PBXBuildFile; fileRef = F560DF0203D622D001ABA332 /* FFusionCodec.r */; }; 115 115 11F28DAD0B52EB75000AF78C /* SUUpdateAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F28DAC0B52EB75000AF78C /* SUUpdateAlert.m */; }; 116 3D0A03BD100692E20087E580 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 11629EEA0B51E4F1006591C8 /* Cocoa.framework */; }; 117 3D0A03BE100692E30087E580 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 11D4EEFC0A3CE7FA0066D45F /* Carbon.framework */; }; 116 118 3D211A1D0B6B18880051299D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F539CD110B62BC82005A72C9 /* Foundation.framework */; }; 117 119 3D211A200B6B1A540051299D /* SubContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D211A1F0B6B1A540051299D /* SubContext.m */; }; … … 543 545 11F28DAB0B52EB75000AF78C /* SUUpdateAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdateAlert.h; sourceTree = "<group>"; }; 544 546 11F28DAC0B52EB75000AF78C /* SUUpdateAlert.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUpdateAlert.m; sourceTree = "<group>"; }; 547 3D0A039710068CAF0087E580 /* Prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.h; sourceTree = "<group>"; }; 545 548 3D211A1E0B6B1A540051299D /* SubContext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SubContext.h; path = Subtitles/SubContext.h; sourceTree = "<group>"; }; 546 549 3D211A1F0B6B1A540051299D /* SubContext.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SubContext.m; path = Subtitles/SubContext.m; sourceTree = "<group>"; }; … … 827 830 F57755F50B51EB1800C7D833 /* CoreFoundation.framework in Frameworks */, 828 831 3D95B9010E208965007C8F51 /* libbz2.dylib in Frameworks */, 832 3D0A03BD100692E20087E580 /* Cocoa.framework in Frameworks */, 833 3D0A03BE100692E30087E580 /* Carbon.framework in Frameworks */, 829 834 ); 830 835 runOnlyForDeploymentPostprocessing = 0; … … 920 925 61D517720AE0402E00A671E1 /* CommonUtils.c */, 921 926 6116E74E0B4738CE0020F1CE /* CodecIDs.h */, 927 3D0A039710068CAF0087E580 /* Prefix.h */, 922 928 ); 923 929 indentWidth = 4; … … 1982 1988 isa = XCBuildConfiguration; 1983 1989 buildSettings = { 1984 COPY_PHASE_STRIP = NO;1985 1990 GCC_ENABLE_OBJC_EXCEPTIONS = YES; 1986 GCC_GENERATE_DEBUGGING_SYMBOLS = YES;1987 1991 GCC_MODEL_TUNING = G5; 1988 1992 GCC_OPTIMIZATION_LEVEL = 0; 1989 GCC_PRECOMPILE_PREFIX_HEADER = YES;1990 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";1991 1993 GCC_VERSION = 4.0; 1992 1994 INFOPLIST_FILE = "Plists/PerianUpdateChecker-Info.plist"; 1993 1995 INSTALL_PATH = "$(HOME)/Applications"; 1994 OTHER_LDFLAGS = (1995 "-framework",1996 Foundation,1997 "-framework",1998 AppKit,1999 );2000 PREBINDING = NO;2001 1996 PRODUCT_NAME = PerianUpdateChecker; 2002 1997 WRAPPER_EXTENSION = app; … … 2007 2002 isa = XCBuildConfiguration; 2008 2003 buildSettings = { 2009 COPY_PHASE_STRIP = YES;2010 2004 GCC_ENABLE_OBJC_EXCEPTIONS = YES; 2011 GCC_GENERATE_DEBUGGING_SYMBOLS = NO;2012 2005 GCC_MODEL_TUNING = G5; 2013 GCC_PRECOMPILE_PREFIX_HEADER = YES;2014 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";2015 2006 GCC_VERSION = 4.0; 2016 2007 INFOPLIST_FILE = "Plists/PerianUpdateChecker-Info.plist"; 2017 2008 INSTALL_PATH = "$(HOME)/Applications"; 2018 OTHER_LDFLAGS = (2019 "-framework",2020 Foundation,2021 "-framework",2022 AppKit,2023 );2024 PREBINDING = NO;2025 2009 PRODUCT_NAME = PerianUpdateChecker; 2026 2010 WRAPPER_EXTENSION = app; … … 2031 2015 isa = XCBuildConfiguration; 2032 2016 buildSettings = { 2033 COPY_PHASE_STRIP = NO;2034 DEAD_CODE_STRIPPING = NO;2035 2017 EXPORTED_SYMBOLS_FILE = "$(SOURCE_ROOT)/exportedSymbols"; 2018 GCC_ALTIVEC_EXTENSIONS = YES; 2036 2019 GCC_ENABLE_OBJC_GC = supported; 2037 GCC_GENERATE_DEBUGGING_SYMBOLS = YES;2038 2020 GCC_MODEL_TUNING = G5; 2039 2021 GCC_OPTIMIZATION_LEVEL = 0; 2040 GCC_PRECOMPILE_PREFIX_HEADER = YES;2041 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";2042 2022 GCC_VERSION = 4.0; 2043 2023 "GCC_VERSION[arch=*]" = ""; … … 2053 2033 INSTALL_PATH = "$(HOME)/Library/QuickTime"; 2054 2034 OTHER_LDFLAGS = ( 2055 "-framework",2056 Carbon,2057 2035 "-read_only_relocs", 2058 2036 suppress, … … 2069 2047 isa = XCBuildConfiguration; 2070 2048 buildSettings = { 2071 DEAD_CODE_STRIPPING = YES;2072 2049 EXPORTED_SYMBOLS_FILE = "$(SOURCE_ROOT)/exportedSymbols"; 2073 2050 GCC_ALTIVEC_EXTENSIONS = YES; 2074 2051 GCC_ENABLE_OBJC_GC = supported; 2075 GCC_GENERATE_DEBUGGING_SYMBOLS = NO;2076 2052 GCC_MODEL_TUNING = G5; 2077 2053 GCC_OPTIMIZATION_LEVEL = 3; 2078 GCC_PRECOMPILE_PREFIX_HEADER = YES;2079 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";2080 2054 GCC_VERSION = 4.0; 2081 2055 "GCC_VERSION[arch=*]" = ""; … … 2091 2065 INFOPLIST_PREPROCESS = YES; 2092 2066 INSTALL_PATH = "$(HOME)/Library/QuickTime"; 2093 OTHER_CFLAGS = "$(OTHER_CFLAGS_$(CURRENT_ARCH))"; 2094 OTHER_CFLAGS_i386 = "-march=pentium-m -mtune=nocona $(OTHER_CFLAGS)"; 2095 OTHER_CFLAGS_ppc = "$(OTHER_CFLAGS)"; 2067 OTHER_LDFLAGS = ( 2068 "-read_only_relocs", 2069 suppress, 2070 ); 2096 2071 OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386) -d TARGET_REZ_CARBON_MACHO=1"; 2097 PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;2098 2072 PRODUCT_NAME = Perian; 2099 2073 WARNING_CFLAGS = "-Wimplicit"; … … 2119 2093 isa = XCBuildConfiguration; 2120 2094 buildSettings = { 2095 ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 2121 2096 DEAD_CODE_STRIPPING = YES; 2122 2097 DEBUG_INFORMATION_FORMAT = dwarf; 2123 2098 GCC_ALTIVEC_EXTENSIONS = YES; 2124 2099 GCC_DYNAMIC_NO_PIC = YES; 2100 GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; 2125 2101 GCC_MODEL_TUNING = G5; 2102 GCC_PREFIX_HEADER = Prefix.h; 2126 2103 GCC_PREPROCESSOR_DEFINITIONS = DEBUG_BUILD; 2104 GCC_STRICT_ALIASING = YES; 2127 2105 HEADER_SEARCH_PATHS = ( 2128 2106 libmatroska, … … 2132 2110 ); 2133 2111 LIBRARY_SEARCH_PATHS = $SYMROOT/Universal; 2134 OTHER_LDFLAGS = ( 2135 "-read_only_relocs", 2136 suppress, 2137 ); 2112 ONLY_ACTIVE_ARCH = YES; 2138 2113 PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; 2114 SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; 2139 2115 SDKROOT = macosx10.4; 2140 2116 }; … … 2144 2120 isa = XCBuildConfiguration; 2145 2121 buildSettings = { 2146 ARCHS = ( 2147 ppc, 2148 i386, 2149 ); 2122 ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 2150 2123 DEAD_CODE_STRIPPING = YES; 2151 2124 DEBUG_INFORMATION_FORMAT = dwarf; 2125 GCC_ALTIVEC_EXTENSIONS = YES; 2152 2126 GCC_DYNAMIC_NO_PIC = YES; 2127 GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; 2153 2128 GCC_MODEL_TUNING = G5; 2129 GCC_PREFIX_HEADER = Prefix.h; 2154 2130 GCC_STRICT_ALIASING = YES; 2155 2131 HEADER_SEARCH_PATHS = ( … … 2161 2137 LIBRARY_SEARCH_PATHS = $SYMROOT/Universal; 2162 2138 MACOSX_DEPLOYMENT_TARGET = 10.4; 2163 OTHER_LDFLAGS = ( 2164 "-read_only_relocs", 2165 suppress, 2166 ); 2139 OTHER_CFLAGS_i386 = "-march=pentium-m -frerun-cse-after-loop $(OTHER_CFLAGS)"; 2140 OTHER_CFLAGS_ppc = "-mcpu=G3 -mtune=G5 -funroll-loops -mmultiple $(OTHER_CFLAGS)"; 2167 2141 PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; 2142 SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; 2168 2143 SDKROOT = macosx10.4; 2169 STRIP_INSTALLED_PRODUCT = NO;2170 2144 }; 2171 2145 name = Deployment; … … 2181 2155 isa = XCBuildConfiguration; 2182 2156 buildSettings = { 2183 COPY_PHASE_STRIP = YES;2184 GCC_GENERATE_DEBUGGING_SYMBOLS = NO;2185 2157 GCC_MODEL_TUNING = G5; 2186 2158 GCC_OPTIMIZATION_LEVEL = s; 2187 2159 GCC_VERSION = 4.0; 2188 2160 INSTALL_PATH = /usr/local/lib; 2189 PREBINDING = NO;2190 2161 PRODUCT_NAME = ebml; 2191 STRIP_STYLE = "non-global";2192 2162 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libebml"; 2193 2163 }; … … 2197 2167 isa = XCBuildConfiguration; 2198 2168 buildSettings = { 2199 COPY_PHASE_STRIP = YES;2200 GCC_GENERATE_DEBUGGING_SYMBOLS = NO;2201 2169 GCC_MODEL_TUNING = G5; 2202 2170 GCC_VERSION = 4.0; 2203 2171 INSTALL_PATH = /usr/local/lib; 2204 PREBINDING = NO;2205 2172 PRODUCT_NAME = matroska; 2206 STRIP_STYLE = "non-global";2207 2173 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libmatroska $(SRCROOT)/libebml"; 2208 2174 }; … … 2212 2178 isa = XCBuildConfiguration; 2213 2179 buildSettings = { 2214 DEAD_CODE_STRIPPING = YES;2215 2180 EXPORTED_SYMBOLS_FILE = "$(SOURCE_ROOT)/exportedSymbols"; 2216 2181 GCC_ALTIVEC_EXTENSIONS = YES; 2217 2182 GCC_ENABLE_OBJC_GC = supported; 2218 GCC_FAST_MATH = YES;2219 2183 GCC_MODEL_TUNING = G5; 2220 2184 GCC_OPTIMIZATION_LEVEL = 3; 2221 GCC_PRECOMPILE_PREFIX_HEADER = YES;2222 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";2223 GCC_STRICT_ALIASING = YES;2224 2185 GCC_VERSION = 4.0; 2225 2186 "GCC_VERSION[arch=*]" = ""; … … 2235 2196 INFOPLIST_PREPROCESS = YES; 2236 2197 INSTALL_PATH = "$(HOME)/Library/QuickTime"; 2237 OTHER_CFLAGS = "$(OTHER_CFLAGS_$(CURRENT_ARCH))";2238 OTHER_CFLAGS_i386 = "-march=pentium-m -frerun-cse-after-loop $(OTHER_CFLAGS)";2239 OTHER_CFLAGS_ppc = "-mcpu=G3 -mtune=G5 -funroll-loops -mmultiple $(OTHER_CFLAGS)";2240 2198 OTHER_LDFLAGS = ( 2241 2199 "-read_only_relocs", … … 2243 2201 ); 2244 2202 OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386) -d TARGET_REZ_CARBON_MACHO=1"; 2245 PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;2246 2203 PRODUCT_NAME = Perian; 2247 2204 WARNING_CFLAGS = "-Wimplicit"; … … 2315 2272 i386, 2316 2273 ); 2317 COPY_PHASE_STRIP = YES;2318 2274 GCC_DYNAMIC_NO_PIC = NO; 2319 2275 GCC_ENABLE_OBJC_GC = supported; 2320 GCC_GENERATE_DEBUGGING_SYMBOLS = NO;2321 2276 GCC_MODEL_TUNING = G5; 2322 GCC_PRECOMPILE_PREFIX_HEADER = YES;2323 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";2324 2277 GCC_VERSION = 4.0; 2325 2278 "GCC_VERSION[arch=*]" = ""; 2326 2279 "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 2280 GCC_WARN_ABOUT_RETURN_TYPE = YES; 2281 GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; 2282 GCC_WARN_SHADOW = YES; 2283 GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; 2327 2284 INFOPLIST_FILE = "Plists/PerianPaneReal-Info.plist"; 2328 2285 INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-C"; … … 2330 2287 INFOPLIST_PREPROCESS = YES; 2331 2288 INSTALL_PATH = "$(HOME)/Library/Bundles"; 2332 OTHER_LDFLAGS = (2333 "-framework",2334 Foundation,2335 "-framework",2336 AppKit,2337 );2338 PREBINDING = NO;2339 2289 PRODUCT_NAME = Perian; 2340 2290 SDKROOT = macosx10.4; … … 2348 2298 isa = XCBuildConfiguration; 2349 2299 buildSettings = { 2350 COPY_PHASE_STRIP = YES;2351 2300 GCC_ENABLE_OBJC_EXCEPTIONS = YES; 2352 GCC_GENERATE_DEBUGGING_SYMBOLS = NO;2353 2301 GCC_MODEL_TUNING = G5; 2354 GCC_PRECOMPILE_PREFIX_HEADER = YES;2355 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";2356 2302 GCC_VERSION = 4.0; 2357 2303 INFOPLIST_FILE = "Plists/PerianUpdateChecker-Info.plist"; 2358 2304 INSTALL_PATH = "$(HOME)/Applications"; 2359 OTHER_LDFLAGS = (2360 "-framework",2361 Foundation,2362 "-framework",2363 AppKit,2364 );2365 PREBINDING = NO;2366 2305 PRODUCT_NAME = PerianUpdateChecker; 2367 2306 WRAPPER_EXTENSION = app; … … 2373 2312 buildSettings = { 2374 2313 ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 2375 COPY_PHASE_STRIP = NO;2376 2314 DEAD_CODE_STRIPPING = YES; 2377 2315 DEBUG_INFORMATION_FORMAT = dwarf; 2316 GCC_ALTIVEC_EXTENSIONS = YES; 2378 2317 GCC_DYNAMIC_NO_PIC = YES; 2318 GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; 2379 2319 GCC_MODEL_TUNING = G5; 2320 GCC_PREFIX_HEADER = Prefix.h; 2380 2321 GCC_PREPROCESSOR_DEFINITIONS = DEBUG_BUILD; 2381 2322 GCC_STRICT_ALIASING = YES; … … 2387 2328 ); 2388 2329 LIBRARY_SEARCH_PATHS = $SYMROOT/Universal; 2389 OTHER_LDFLAGS = ( 2390 "-read_only_relocs", 2391 suppress, 2392 ); 2330 OTHER_CFLAGS_i386 = "-march=pentium-m -frerun-cse-after-loop $(OTHER_CFLAGS)"; 2331 OTHER_CFLAGS_ppc = "-mcpu=G3 -mtune=G5 -funroll-loops -mmultiple $(OTHER_CFLAGS)"; 2393 2332 PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; 2333 SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; 2394 2334 SDKROOT = macosx10.4; 2395 STRIP_INSTALLED_PRODUCT = NO;2396 2335 }; 2397 2336 name = "Deployment+Debug"; … … 2480 2419 isa = XCBuildConfiguration; 2481 2420 buildSettings = { 2482 COPY_PHASE_STRIP = NO;2483 GCC_GENERATE_DEBUGGING_SYMBOLS = YES;2484 2421 GCC_MODEL_TUNING = G5; 2485 2422 GCC_OPTIMIZATION_LEVEL = 0; 2486 2423 GCC_VERSION = 4.0; 2487 2424 INSTALL_PATH = /usr/local/lib; 2488 PREBINDING = NO;2489 2425 PRODUCT_NAME = ebml; 2490 STRIP_STYLE = "non-global";2491 2426 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libebml"; 2492 2427 }; … … 2496 2431 isa = XCBuildConfiguration; 2497 2432 buildSettings = { 2498 COPY_PHASE_STRIP = YES;2499 GCC_GENERATE_DEBUGGING_SYMBOLS = NO;2500 2433 GCC_MODEL_TUNING = G5; 2501 2434 GCC_OPTIMIZATION_LEVEL = s; 2502 2435 GCC_VERSION = 4.0; 2503 2436 INSTALL_PATH = /usr/local/lib; 2504 PREBINDING = NO;2505 2437 PRODUCT_NAME = ebml; 2506 STRIP_STYLE = "non-global";2507 2438 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libebml"; 2508 2439 }; … … 2512 2443 isa = XCBuildConfiguration; 2513 2444 buildSettings = { 2514 COPY_PHASE_STRIP = NO;2515 GCC_GENERATE_DEBUGGING_SYMBOLS = YES;2516 2445 GCC_MODEL_TUNING = G5; 2517 2446 GCC_OPTIMIZATION_LEVEL = 0; 2518 2447 GCC_VERSION = 4.0; 2519 2448 INSTALL_PATH = /usr/local/lib; 2520 PREBINDING = NO;2521 2449 PRODUCT_NAME = matroska; 2522 STRIP_STYLE = "non-global";2523 2450 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libmatroska $(SRCROOT)/libebml"; 2524 2451 }; … … 2528 2455 isa = XCBuildConfiguration; 2529 2456 buildSettings = { 2530 COPY_PHASE_STRIP = YES;2531 GCC_GENERATE_DEBUGGING_SYMBOLS = NO;2532 2457 GCC_MODEL_TUNING = G5; 2533 2458 GCC_VERSION = 4.0; 2534 2459 INSTALL_PATH = /usr/local/lib; 2535 PREBINDING = NO;2536 2460 PRODUCT_NAME = matroska; 2537 STRIP_STYLE = "non-global";2538 2461 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libmatroska $(SRCROOT)/libebml"; 2539 2462 }; … … 2548 2471 i386, 2549 2472 ); 2550 COPY_PHASE_STRIP = NO;2551 2473 GCC_DYNAMIC_NO_PIC = NO; 2552 2474 GCC_ENABLE_OBJC_GC = supported; 2553 GCC_GENERATE_DEBUGGING_SYMBOLS = YES;2554 2475 GCC_MODEL_TUNING = G5; 2555 2476 GCC_OPTIMIZATION_LEVEL = 0; 2556 GCC_PRECOMPILE_PREFIX_HEADER = YES;2557 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";2558 2477 GCC_VERSION = 4.0; 2559 2478 "GCC_VERSION[arch=*]" = ""; … … 2562 2481 GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; 2563 2482 GCC_WARN_SHADOW = YES; 2564 GCC_WARN_SIGN_COMPARE = YES;2565 2483 GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; 2566 GCC_WARN_UNUSED_VALUE = YES;2567 GCC_WARN_UNUSED_VARIABLE = YES;2568 2484 INFOPLIST_FILE = "Plists/PerianPaneReal-Info.plist"; 2569 2485 INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-C"; … … 2571 2487 INFOPLIST_PREPROCESS = YES; 2572 2488 INSTALL_PATH = "$(HOME)/Library/Bundles"; 2573 ONLY_ACTIVE_ARCH = YES;2574 OTHER_LDFLAGS = (2575 "-framework",2576 Foundation,2577 "-framework",2578 AppKit,2579 );2580 PREBINDING = NO;2581 2489 PRODUCT_NAME = Perian; 2582 2490 SDKROOT = macosx10.4; … … 2595 2503 i386, 2596 2504 ); 2597 COPY_PHASE_STRIP = YES;2598 2505 GCC_DYNAMIC_NO_PIC = NO; 2599 2506 GCC_ENABLE_OBJC_GC = supported; 2600 GCC_GENERATE_DEBUGGING_SYMBOLS = NO;2601 2507 GCC_MODEL_TUNING = G5; 2602 GCC_PRECOMPILE_PREFIX_HEADER = YES;2603 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";2604 2508 GCC_VERSION = 4.0; 2605 2509 "GCC_VERSION[arch=*]" = ""; 2606 2510 "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 2511 GCC_WARN_ABOUT_RETURN_TYPE = YES; 2512 GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; 2513 GCC_WARN_SHADOW = YES; 2514 GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; 2607 2515 INFOPLIST_FILE = "Plists/PerianPaneReal-Info.plist"; 2608 2516 INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-C"; … … 2610 2518 INFOPLIST_PREPROCESS = YES; 2611 2519 INSTALL_PATH = "$(HOME)/Library/Bundles"; 2612 OTHER_LDFLAGS = (2613 "-framework",2614 Foundation,2615 "-framework",2616 AppKit,2617 );2618 PREBINDING = NO;2619 2520 PRODUCT_NAME = Perian; 2620 2521 SDKROOT = macosx10.4; … … 2780 2681 ); 2781 2682 defaultConfigurationIsVisible = 0; 2782 defaultConfigurationName = Development;2683 defaultConfigurationName = "Deployment+Debug"; 2783 2684 }; 2784 2685 11A70AC80A3D0111002058D4 /* Build configuration list for PBXNativeTarget "Perian" */ = { … … 2790 2691 ); 2791 2692 defaultConfigurationIsVisible = 0; 2792 defaultConfigurationName = Development;2693 defaultConfigurationName = "Deployment+Debug"; 2793 2694 }; 2794 2695 11BA39B00A61E453008AF206 /* Build configuration list for PBXAggregateTarget "ffmpeg Static Libraries" */ = { … … 2800 2701 ); 2801 2702 defaultConfigurationIsVisible = 0; 2802 defaultConfigurationName = Development;2703 defaultConfigurationName = "Deployment+Debug"; 2803 2704 }; 2804 2705 11D4ED470A3CE59A0066D45F /* Build configuration list for PBXProject "Perian" */ = { … … 2810 2711 ); 2811 2712 defaultConfigurationIsVisible = 0; 2812 defaultConfigurationName = Development;2713 defaultConfigurationName = "Deployment+Debug"; 2813 2714 }; 2814 2715 3DAD080D0FBF7C71001E156F /* Build configuration list for PBXNativeTarget "ssa2html" */ = { … … 2820 2721 ); 2821 2722 defaultConfigurationIsVisible = 0; 2822 defaultConfigurationName = Development;2723 defaultConfigurationName = "Deployment+Debug"; 2823 2724 }; 2824 2725 3DAD09AD0FBFAB59001E156F /* Build configuration list for PBXNativeTarget "detect-encoding" */ = { … … 2830 2731 ); 2831 2732 defaultConfigurationIsVisible = 0; 2832 defaultConfigurationName = Development;2733 defaultConfigurationName = "Deployment+Debug"; 2833 2734 }; 2834 2735 61CB11030ACDF37C007994BD /* Build configuration list for PBXNativeTarget "ebml" */ = { … … 2840 2741 ); 2841 2742 defaultConfigurationIsVisible = 0; 2842 defaultConfigurationName = Development;2743 defaultConfigurationName = "Deployment+Debug"; 2843 2744 }; 2844 2745 61CB11B00ACDF4FF007994BD /* Build configuration list for PBXNativeTarget "matroska" */ = { … … 2850 2751 ); 2851 2752 defaultConfigurationIsVisible = 0; 2852 defaultConfigurationName = Development;2753 defaultConfigurationName = "Deployment+Debug"; 2853 2754 }; 2854 2755 83D1D6CA0B4C794900E09EC9 /* Build configuration list for PBXNativeTarget "PerianPane" */ = { … … 2860 2761 ); 2861 2762 defaultConfigurationIsVisible = 0; 2862 defaultConfigurationName = Development;2763 defaultConfigurationName = "Deployment+Debug"; 2863 2764 }; 2864 2765 F5121EBB0EB3A5680048EF67 /* Build configuration list for PBXAggregateTarget "Make SVN Rev" */ = { … … 2870 2771 ); 2871 2772 defaultConfigurationIsVisible = 0; 2872 defaultConfigurationName = Development;2773 defaultConfigurationName = "Deployment+Debug"; 2873 2774 }; 2874 2775 F59E0A0B0A670E950019A3F0 /* Build configuration list for PBXAggregateTarget "Debug In QuickTime Player" */ = { … … 2880 2781 ); 2881 2782 defaultConfigurationIsVisible = 0; 2882 defaultConfigurationName = Development;2783 defaultConfigurationName = "Deployment+Debug"; 2883 2784 }; 2884 2785 F5CFD1B80B5000AF00616865 /* Build configuration list for PBXNativeTarget "PerianPanePListGenerator" */ = { … … 2890 2791 ); 2891 2792 defaultConfigurationIsVisible = 0; 2892 defaultConfigurationName = Development;2793 defaultConfigurationName = "Deployment+Debug"; 2893 2794 }; 2894 2795 F5CFD2650B500B9D00616865 /* Build configuration list for PBXAggregateTarget "CreatePrefPanePlist" */ = { … … 2900 2801 ); 2901 2802 defaultConfigurationIsVisible = 0; 2902 defaultConfigurationName = Development;2803 defaultConfigurationName = "Deployment+Debug"; 2903 2804 }; 2904 2805 F5CFD2EA0B5012E800616865 /* Build configuration list for PBXAggregateTarget "A52Codec" */ = { … … 2910 2811 ); 2911 2812 defaultConfigurationIsVisible = 0; 2912 defaultConfigurationName = Development;2813 defaultConfigurationName = "Deployment+Debug"; 2913 2814 }; 2914 2815 F5CFD3C10B50144E00616865 /* Build configuration list for PBXAggregateTarget "Setup Build Directories" */ = { … … 2920 2821 ); 2921 2822 defaultConfigurationIsVisible = 0; 2922 defaultConfigurationName = Development;2823 defaultConfigurationName = "Deployment+Debug"; 2923 2824 }; 2924 2825 /* End XCConfigurationList section */ branches/perian-1.1/Release/Changes.txt
r1096 r1101 21 21 - Fixed several memory leaks [r1086] 22 22 - Fixed a problem with wrong channel order in DTS 5.1 [r1076] 23 - Fixed possible conflict with UniversalDetector.framework [r1100] 23 24 Subtitles: 24 25 - Fixed garbage characters appearing at the end of a line with some fonts [r1013] branches/perian-1.1/Subtitles/SubATSUIRenderer.h
r1081 r1101 34 34 ATSUTextLayout layout; 35 35 float screenScaleX, screenScaleY, videoWidth, videoHeight; 36 BOOL drawTextBounds; 36 37 @public; 37 38 CGColorSpaceRef srgbCSpace; branches/perian-1.1/Subtitles/SubATSUIRenderer.m
r1087 r1101 25 25 #import "SubUtilities.h" 26 26 #import "Codecprintf.h" 27 #import "CommonUtils.h" 27 28 28 29 static float GetWinFontSizeScale(ATSFontRef font); … … 254 255 UCCreateTextBreakLocator(NULL, 0, kUCTextBreakLineMask, &breakLocator); 255 256 context = [[SubContext alloc] initWithNonSSAType:kSubTypeSRT delegate:self]; 257 258 drawTextBounds = CFPreferencesGetAppBooleanValue(CFSTR("DrawSubTextBounds"), PERIAN_PREF_DOMAIN, NULL); 256 259 } 257 260 … … 278 281 UCCreateTextBreakLocator(NULL, 0, kUCTextBreakLineMask, &breakLocator); 279 282 context = [[SubContext alloc] initWithHeaders:headers styles:styles delegate:self]; 283 284 drawTextBounds = CFPreferencesGetAppBooleanValue(CFSTR("DrawSubTextBounds"), PERIAN_PREF_DOMAIN, NULL); 280 285 } 281 286 … … 365 370 break; 366 371 } 367 } 368 369 if (font == kATSUInvalidFontID) font = ATSFontFindFromName((CFStringRef)@"Helvetica",kATSOptionFlagsDefault); // final fallback 370 } 372 } 373 } 374 375 if (font == kATSUInvalidFontID && ![name isEqualToString:@"Helvetica"]) 376 font = GetFontIDForSSAName(@"Helvetica"); // final fallback 371 377 372 378 [fontIDCache setValue:[NSNumber numberWithInt:font] forKey:[name lowercaseString]]; … … 467 473 CGColorRef color; 468 474 CGAffineTransform mat; 475 ATSFontRef oldFont; 469 476 470 477 #define bv() bval = *(int*)p; … … 504 511 case tag_fn: 505 512 sv(); 513 oldFont = spanEx->font; 506 514 spanEx->fontVertical = ParseFontVerticality(&sval) ? kATSUStronglyVertical : kATSUStronglyHorizontal; 507 515 spanEx->font = GetFontIDForSSAName(sval); 516 if (oldFont != spanEx->font) spanEx->platformSizeScale = GetWinFontSizeScale(spanEx->font); 508 517 UpdateFontNameSize(spanEx, screenScaleY); 509 518 break; … … 600 609 #pragma mark Rendering Helper Functions 601 610 611 // XXX see comment for GetTypographicRectangleForLayout 602 612 static ATSUTextMeasurement GetLineHeight(ATSUTextLayout layout, UniCharArrayOffset lpos) 603 613 { … … 618 628 } 619 629 630 // XXX some broken fonts have very wrong typographic values set, and so this occasionally gives nonsense 631 // it should be checked against the real pixel box (see #if 0 below), but for correct fonts it looks much better 620 632 static void GetTypographicRectangleForLayout(ATSUTextLayout layout, UniCharArrayOffset *breaks, ItemCount breakCount, Fixed extraHeight, Fixed *lX, Fixed *lY, Fixed *height, Fixed *width) 621 633 { … … 653 665 } 654 666 667 // Draw the text bounds on screen under the actual text 668 // Note that it almost never appears where it's supposed to be, and I'm not sure if that's my fault or ATSUI's 669 static void VisualizeLayoutLineHeights(CGContextRef c, ATSUTextLayout layout, UniCharArrayOffset *breaks, ItemCount breakCount, Fixed extraHeight, Fixed penX, Fixed penY, float screenHeight) 670 { 671 ATSTrapezoid trap = {0}; 672 Rect pixRect = {0}; 673 ItemCount trapCount; 674 int i; 675 676 CGContextSetLineWidth(c, 3.0); 677 678 for (i = breakCount; i >= 0; i--) { 679 UniCharArrayOffset end = breaks[i+1]; 680 681 ATSUMeasureTextImage(layout, breaks[i], end-breaks[i], 0, 0, &pixRect); 682 ATSUGetGlyphBounds(layout, 0, 0, breaks[i], end-breaks[i], kATSUseDeviceOrigins, 1, &trap, &trapCount); 683 684 CGContextSetRGBStrokeColor(c, 1,0,0,1); 685 CGContextBeginPath(c); 686 CGContextMoveToPoint(c, FixedToFloat(penX + trap.upperLeft.x), FixedToFloat(penY + trap.lowerLeft.y)); 687 CGContextAddLineToPoint(c, FixedToFloat(penX + trap.upperRight.x), FixedToFloat(penY + trap.lowerRight.y)); 688 CGContextAddLineToPoint(c, FixedToFloat(penX + trap.lowerRight.x), FixedToFloat(penY + trap.upperRight.y)); 689 CGContextAddLineToPoint(c, FixedToFloat(penX + trap.lowerLeft.x), FixedToFloat(penY + trap.upperLeft.y)); 690 CGContextClosePath(c); 691 CGContextStrokePath(c); 692 CGContextSetRGBStrokeColor(c, 0, 0, 1, 1); 693 CGContextStrokeRect(c, CGRectMake(FixedToFloat(penX) + pixRect.left, FixedToFloat(penY) + pixRect.top, pixRect.right - pixRect.left, pixRect.bottom - pixRect.top)); 694 695 penY += GetLineHeight(layout, breaks[i]) + extraHeight; 696 } 697 } 698 655 699 #if 0 656 700 static void GetImageBoundingBoxForLayout(ATSUTextLayout layout, UniCharArrayOffset *breaks, ItemCount breakCount, Fixed extraHeight, Fixed *lX, Fixed *lY, Fixed *height, Fixed *width) … … 674 718 largeRect.top = MIN(largeRect.top, rect.top); 675 719 largeRect.right = MAX(largeRect.right, rect.right); 676 }720 } 677 721 678 722 … … 1075 1119 breakbuffer = FindLineBreaks(layout, div, breakLocator, breakbuffer, &breakCount, breakingWidth, ubuffer, textLen); 1076 1120 1077 ATSUTextMeasurement imageWidth, imageHeight ;1121 ATSUTextMeasurement imageWidth, imageHeight, descent; 1078 1122 UniCharArrayOffset *breaks = breakbuffer; 1079 1123 1080 1124 if (div->positioned || div->alignV == kSubAlignmentMiddle) 1081 1125 GetTypographicRectangleForLayout(layout, breaks, breakCount, FloatToFixed(div->styleLine->outlineRadius), NULL, NULL, &imageHeight, &imageWidth); 1082 1126 1127 if (div->positioned || div->alignV == kSubAlignmentBottom) 1128 ATSUGetLineControl(layout, kATSUFromTextBeginning, kATSULineDescentTag, sizeof(ATSUTextMeasurement), &descent, NULL); 1129 1130 #if 0 1131 { 1132 ATSUTextMeasurement ascent, descent; 1133 1134 ATSUGetLineControl(layout, kATSUFromTextBeginning, kATSULineAscentTag, sizeof(ATSUTextMeasurement), &ascent, NULL); 1135 ATSUGetLineControl(layout, kATSUFromTextBeginning, kATSULineDescentTag, sizeof(ATSUTextMeasurement), &descent, NULL); 1136 1137 NSLog(@"\"%@\" descent %f ascent %f\n", div->text, FixedToFloat(descent), FixedToFloat(ascent)); 1138 } 1139 #endif 1140 1083 1141 if (!div->positioned) { 1084 1142 penX = FloatToFixed(NSMinX(marginRect)); … … 1087 1145 case kSubAlignmentBottom: default: 1088 1146 if (!bottomPen || resetPens) { 1089 ATSUTextMeasurement bottomLineDescent; 1090 ATSUGetLineControl(layout, kATSUFromTextBeginning, kATSULineDescentTag, sizeof(ATSUTextMeasurement), &bottomLineDescent, NULL); 1091 penY = FloatToFixed(NSMinY(marginRect)) + bottomLineDescent; 1147 penY = FloatToFixed(NSMinY(marginRect)) + descent; 1092 1148 } else penY = bottomPen; 1093 1149 … … 1110 1166 } 1111 1167 } else { 1112 ATSUTextMeasurement descent;1113 1168 penX = FloatToFixed(div->posX * screenScaleX); 1114 1169 penY = FloatToFixed((context->resY - div->posY) * screenScaleY); … … 1119 1174 } 1120 1175 1121 ATSUGetLineControl(layout, kATSUFromTextBeginning, kATSULineDescentTag, sizeof(ATSUTextMeasurement), &descent, NULL);1122 1123 1176 switch (div->alignV) { 1124 1177 case kSubAlignmentMiddle: penY -= imageHeight / 2; break; … … 1139 1192 } 1140 1193 1194 if (drawTextBounds) 1195 VisualizeLayoutLineHeights(c, layout, breaks, breakCount, FloatToFixed(div->styleLine->outlineRadius), penX, penY, cHeight); 1196 1141 1197 breakc.breakCount = breakCount; 1142 1198 breakc.breaks = breaks; … … 1306 1362 1307 1363 // Windows and OS X use different TrueType fields to measure text. 1308 // Some Windows fonts have one field set incorrectly , so we have to compensate.1364 // Some Windows fonts have one field set incorrectly(?), so we have to compensate. 1309 1365 // XXX This function doesn't read from the right fonts; if we're using italic variant, it should get the ATSFontRef for that 1366 // XXX^2 This should be cached 1310 1367 static float GetWinFontSizeScale(ATSFontRef font) 1311 1368 { branches/perian-1.1/UniversalDetector/UniversalDetector.h
r1081 r1101 1 1 #import <Cocoa/Cocoa.h> 2 2 3 #define UniversalDetector SubUniversalDetector 3 4 4 5 @interface UniversalDetector:NSObject branches/perian-1.1/UniversalDetector/UniversalDetector.xcodeproj/project.pbxproj
r1081 r1101 625 625 isa = XCBuildConfiguration; 626 626 buildSettings = { 627 COPY_PHASE_STRIP = NO;628 627 DYLIB_COMPATIBILITY_VERSION = 1; 629 628 DYLIB_CURRENT_VERSION = 1; 630 629 FRAMEWORK_VERSION = A; 631 630 GCC_DYNAMIC_NO_PIC = NO; 632 GCC_ENABLE_FIX_AND_CONTINUE = YES;633 631 GCC_MODEL_TUNING = G5; 634 632 GCC_OPTIMIZATION_LEVEL = 0; … … 639 637 PRODUCT_NAME = UniversalDetector; 640 638 WRAPPER_EXTENSION = framework; 641 ZERO_LINK = NO;642 639 }; 643 640 name = Debug; … … 653 650 DYLIB_CURRENT_VERSION = 1; 654 651 FRAMEWORK_VERSION = A; 655 GCC_GENERATE_DEBUGGING_SYMBOLS = NO;656 652 GCC_MODEL_TUNING = G5; 657 653 GCC_PRECOMPILE_PREFIX_HEADER = YES; … … 661 657 PRODUCT_NAME = UniversalDetector; 662 658 WRAPPER_EXTENSION = framework; 663 ZERO_LINK = NO;664 659 }; 665 660 name = Release; … … 668 663 isa = XCBuildConfiguration; 669 664 buildSettings = { 665 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 670 666 GCC_ENABLE_OBJC_GC = YES; 671 667 GCC_WARN_ABOUT_RETURN_TYPE = YES; … … 694 690 isa = XCBuildConfiguration; 695 691 buildSettings = { 696 COPY_PHASE_STRIP = NO;697 692 GCC_DYNAMIC_NO_PIC = NO; 698 GCC_ENABLE_FIX_AND_CONTINUE = YES;699 GCC_GENERATE_DEBUGGING_SYMBOLS = YES;700 693 GCC_MODEL_TUNING = G5; 701 694 GCC_OPTIMIZATION_LEVEL = 0; 702 695 GCC_VERSION = 4.0; 703 696 INSTALL_PATH = /usr/local/lib; 704 PREBINDING = NO;705 697 PRODUCT_NAME = universaldetector; 706 ZERO_LINK = YES;707 698 }; 708 699 name = Debug; … … 711 702 isa = XCBuildConfiguration; 712 703 buildSettings = { 713 COPY_PHASE_STRIP = YES; 714 GCC_ENABLE_FIX_AND_CONTINUE = NO; 715 GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 704 GCC_DYNAMIC_NO_PIC = NO; 716 705 GCC_MODEL_TUNING = G5; 717 706 GCC_VERSION = 4.0; 718 707 INSTALL_PATH = /usr/local/lib; 719 PREBINDING = NO;720 708 PRODUCT_NAME = universaldetector; 721 ZERO_LINK = NO;722 709 }; 723 710 name = Release; branches/perian-1.1/createStaticLibs.sh
r1093 r1101 8 8 9 9 generalConfigureOptions="--disable-muxers --disable-encoders --disable-stripping --disable-amd3dnow --enable-runtime-cpudetect --enable-pthreads --disable-ffmpeg --disable-network --disable-ffplay --disable-ffserver" 10 cflags="-isysroot $SDKROOT -mmacosx-version-min=$MACOSX_DEPLOYMENT_TARGET - g -Dattribute_deprecated= -w"10 cflags="-isysroot $SDKROOT -mmacosx-version-min=$MACOSX_DEPLOYMENT_TARGET -Dattribute_deprecated= -w" 11 11 12 12 if [ "$BUILD_STYLE" = "Development" ] ; then
