diff options
| author | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-03-28 22:51:46 +0000 |
|---|---|---|
| committer | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-03-28 22:51:46 +0000 |
| commit | ebfb89de00860bbdbb6e9a72ed18a358acc7c056 (patch) | |
| tree | d7c44382653ca1eb04db6876277edac4e6993a68 | |
| parent | a92f831335493c2ed789a3f746861af49ef5e4c8 (diff) | |
| download | pcsxr-ebfb89de00860bbdbb6e9a72ed18a358acc7c056.tar.gz | |
OS X: Begin work on a QuickLook plug-in for freeze states.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@89709 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rw-r--r-- | macosx/Pcsxr-QL/GeneratePreviewForURL.c | 21 | ||||
| -rw-r--r-- | macosx/Pcsxr-QL/GenerateThumbnailForURL.c | 21 | ||||
| -rw-r--r-- | macosx/Pcsxr-QL/MyQuickLook.h | 25 | ||||
| -rw-r--r-- | macosx/Pcsxr-QL/Pcsxr-QL-Info.plist | 140 | ||||
| -rw-r--r-- | macosx/Pcsxr-QL/Pcsxr-QL-Prefix.pch | 10 | ||||
| -rw-r--r-- | macosx/Pcsxr-QL/en.lproj/InfoPlist.strings | 2 | ||||
| -rw-r--r-- | macosx/Pcsxr-QL/main.c | 202 | ||||
| -rw-r--r-- | macosx/Pcsxr.xcodeproj/project.pbxproj | 201 |
8 files changed, 619 insertions, 3 deletions
diff --git a/macosx/Pcsxr-QL/GeneratePreviewForURL.c b/macosx/Pcsxr-QL/GeneratePreviewForURL.c new file mode 100644 index 00000000..a57f116f --- /dev/null +++ b/macosx/Pcsxr-QL/GeneratePreviewForURL.c @@ -0,0 +1,21 @@ +#include <CoreFoundation/CoreFoundation.h> +#include <CoreServices/CoreServices.h> +#include <QuickLook/QuickLook.h> +#include "MyQuickLook.h" + +/* ----------------------------------------------------------------------------- + Generate a preview for file + + This function's job is to create preview for designated file + ----------------------------------------------------------------------------- */ + +OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options) +{ + // To complete your generator please implement the function GeneratePreviewForURL in GeneratePreviewForURL.c + return noErr; +} + +void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview) +{ + // Implement only if supported +} diff --git a/macosx/Pcsxr-QL/GenerateThumbnailForURL.c b/macosx/Pcsxr-QL/GenerateThumbnailForURL.c new file mode 100644 index 00000000..60211658 --- /dev/null +++ b/macosx/Pcsxr-QL/GenerateThumbnailForURL.c @@ -0,0 +1,21 @@ +#include <CoreFoundation/CoreFoundation.h> +#include <CoreServices/CoreServices.h> +#include <QuickLook/QuickLook.h> +#include "MyQuickLook.h" + +/* ----------------------------------------------------------------------------- + Generate a thumbnail for file + + This function's job is to create thumbnail for designated file as fast as possible + ----------------------------------------------------------------------------- */ + +OSStatus GenerateThumbnailForURL(void *thisInterface, QLThumbnailRequestRef thumbnail, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options, CGSize maxSize) +{ + // To complete your generator please implement the function GenerateThumbnailForURL in GenerateThumbnailForURL.c + return noErr; +} + +void CancelThumbnailGeneration(void *thisInterface, QLThumbnailRequestRef thumbnail) +{ + // Implement only if supported +} diff --git a/macosx/Pcsxr-QL/MyQuickLook.h b/macosx/Pcsxr-QL/MyQuickLook.h new file mode 100644 index 00000000..9f1c6778 --- /dev/null +++ b/macosx/Pcsxr-QL/MyQuickLook.h @@ -0,0 +1,25 @@ +// +// MyQuickLook.h +// Pcsxr +// +// Created by C.W. Betts on 3/28/14. +// +// + +#ifndef Pcsxr_MyQuickLook_h +#define Pcsxr_MyQuickLook_h + +#include <CoreFoundation/CoreFoundation.h> +#include <CoreFoundation/CFPlugInCOM.h> +#include <CoreServices/CoreServices.h> +#include <QuickLook/QuickLook.h> + +// The thumbnail generation function to be implemented in GenerateThumbnailForURL.c +__private_extern__ OSStatus GenerateThumbnailForURL(void *thisInterface, QLThumbnailRequestRef thumbnail, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options, CGSize maxSize); +__private_extern__ void CancelThumbnailGeneration(void* thisInterface, QLThumbnailRequestRef thumbnail); + +// The preview generation function to be implemented in GeneratePreviewForURL.c +__private_extern__ OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options); +__private_extern__ void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview); + +#endif diff --git a/macosx/Pcsxr-QL/Pcsxr-QL-Info.plist b/macosx/Pcsxr-QL/Pcsxr-QL-Info.plist new file mode 100644 index 00000000..3646ec14 --- /dev/null +++ b/macosx/Pcsxr-QL/Pcsxr-QL-Info.plist @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleDocumentTypes</key> + <array> + <dict> + <key>CFBundleTypeRole</key> + <string>QLGenerator</string> + <key>LSItemContentTypes</key> + <array> + <string>com.codeplex.pcsxr.freeze</string> + </array> + </dict> + </array> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleIdentifier</key> + <string>com.github.maddthesane.${PRODUCT_NAME:rfc1034identifier}</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundleShortVersionString</key> + <string>1</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CFPlugInDynamicRegisterFunction</key> + <string></string> + <key>CFPlugInDynamicRegistration</key> + <string>NO</string> + <key>CFPlugInFactories</key> + <dict> + <key>8C4B8FFE-72CC-436C-8D8A-034152616D03</key> + <string>QuickLookGeneratorPluginFactory</string> + </dict> + <key>CFPlugInTypes</key> + <dict> + <key>5E2D9680-5022-40FA-B806-43349622E5B9</key> + <array> + <string>8C4B8FFE-72CC-436C-8D8A-034152616D03</string> + </array> + </dict> + <key>CFPlugInUnloadFunction</key> + <string></string> + <key>QLNeedsToBeRunInMainThread</key> + <false/> + <key>QLPreviewHeight</key> + <real>600</real> + <key>QLPreviewWidth</key> + <real>800</real> + <key>QLSupportsConcurrentRequests</key> + <false/> + <key>QLThumbnailMinimumSize</key> + <real>17</real> + <key>UTImportedTypeDeclarations</key> + <array> + <dict> + <key>UTTypeConformsTo</key> + <array> + <string>public.data</string> + <string>public.content</string> + </array> + <key>UTTypeDescription</key> + <string>PCSXR Memory Card</string> + <key>UTTypeIconFile</key> + <string>pcsxrmemcard</string> + <key>UTTypeIdentifier</key> + <string>com.codeplex.pcsxr.memcard</string> + <key>UTTypeReferenceURL</key> + <string>http://pcsxr.codeplex.com/</string> + <key>UTTypeTagSpecification</key> + <dict> + <key>com.apple.ostype</key> + <array> + <string>Pmcr</string> + </array> + <key>public.filename-extension</key> + <array> + <string>mcr</string> + <string>mc</string> + <string>mem</string> + <string>vgs</string> + <string>mcd</string> + <string>gme</string> + <string>ddf</string> + </array> + </dict> + </dict> + <dict> + <key>UTTypeConformsTo</key> + <array> + <string>public.data</string> + <string>public.content</string> + </array> + <key>UTTypeDescription</key> + <string>PCSXR Freeze State</string> + <key>UTTypeIconFile</key> + <string>pcsxrfreeze</string> + <key>UTTypeIdentifier</key> + <string>com.codeplex.pcsxr.freeze</string> + <key>UTTypeReferenceURL</key> + <string>http://pcsxr.codeplex.com/</string> + <key>UTTypeTagSpecification</key> + <dict> + <key>com.apple.ostype</key> + <array> + <string>Pfrz</string> + </array> + <key>public.filename-extension</key> + <array> + <string>pcsxrstate</string> + </array> + </dict> + </dict> + <dict> + <key>UTTypeConformsTo</key> + <array> + <string>public.text</string> + <string>public.data</string> + </array> + <key>UTTypeDescription</key> + <string>PCSXR Cheat</string> + <key>UTTypeIdentifier</key> + <string>com.codeplex.pcsxr.cheat</string> + <key>UTTypeTagSpecification</key> + <dict> + <key>public.filename-extension</key> + <array> + <string>cht</string> + </array> + </dict> + </dict> + </array> +</dict> +</plist> diff --git a/macosx/Pcsxr-QL/Pcsxr-QL-Prefix.pch b/macosx/Pcsxr-QL/Pcsxr-QL-Prefix.pch new file mode 100644 index 00000000..ccf35331 --- /dev/null +++ b/macosx/Pcsxr-QL/Pcsxr-QL-Prefix.pch @@ -0,0 +1,10 @@ +// +// Prefix header +// +// The contents of this file are implicitly included at the beginning of every source file. +// + +#include <CoreFoundation/CoreFoundation.h> +#include <CoreFoundation/CFPlugInCOM.h> +#include <CoreServices/CoreServices.h> +#include <QuickLook/QuickLook.h> diff --git a/macosx/Pcsxr-QL/en.lproj/InfoPlist.strings b/macosx/Pcsxr-QL/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..477b28ff --- /dev/null +++ b/macosx/Pcsxr-QL/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/macosx/Pcsxr-QL/main.c b/macosx/Pcsxr-QL/main.c new file mode 100644 index 00000000..1ca582ce --- /dev/null +++ b/macosx/Pcsxr-QL/main.c @@ -0,0 +1,202 @@ +//============================================================================== +// +// DO NO MODIFY THE CONTENT OF THIS FILE +// +// This file contains the generic CFPlug-in code necessary for your generator +// To complete your generator implement the function in GenerateThumbnailForURL/GeneratePreviewForURL.c +// +//============================================================================== + +#include <CoreFoundation/CoreFoundation.h> +#include <CoreFoundation/CFPlugInCOM.h> +#include <CoreServices/CoreServices.h> +#include <QuickLook/QuickLook.h> +#include "MyQuickLook.h" + +// ----------------------------------------------------------------------------- +// constants +// ----------------------------------------------------------------------------- + +// Don't modify this line +#define PLUGIN_ID "8C4B8FFE-72CC-436C-8D8A-034152616D03" + +// +// Below is the generic glue code for all plug-ins. +// +// You should not have to modify this code aside from changing +// names if you decide to change the names defined in the Info.plist +// + +// ----------------------------------------------------------------------------- +// typedefs +// ----------------------------------------------------------------------------- + +// The layout for an instance of QuickLookGeneratorPlugIn +typedef struct __QuickLookGeneratorPluginType +{ + void *conduitInterface; + CFUUIDRef factoryID; + UInt32 refCount; +} PcsxrQLPlug; + +// ----------------------------------------------------------------------------- +// prototypes +// ----------------------------------------------------------------------------- +// Forward declaration for the IUnknown implementation. +// + +static PcsxrQLPlug *AllocQuickLookGeneratorPluginType(CFUUIDRef inFactoryID); +static void DeallocQuickLookGeneratorPluginType(PcsxrQLPlug *thisInstance); +static HRESULT QuickLookGeneratorQueryInterface(void *thisInstance,REFIID iid,LPVOID *ppv); +extern void *QuickLookGeneratorPluginFactory(CFAllocatorRef allocator,CFUUIDRef typeID); +static ULONG QuickLookGeneratorPluginAddRef(void *thisInstance); +static ULONG QuickLookGeneratorPluginRelease(void *thisInstance); + +// ----------------------------------------------------------------------------- +// myInterfaceFtbl definition +// ----------------------------------------------------------------------------- +// The QLGeneratorInterfaceStruct function table. +// +static QLGeneratorInterfaceStruct myInterfaceFtbl = { + NULL, + QuickLookGeneratorQueryInterface, + QuickLookGeneratorPluginAddRef, + QuickLookGeneratorPluginRelease, + NULL, + NULL, + NULL, + NULL +}; + + +// ----------------------------------------------------------------------------- +// AllocQuickLookGeneratorPluginType +// ----------------------------------------------------------------------------- +// Utility function that allocates a new instance. +// You can do some initial setup for the generator here if you wish +// like allocating globals etc... +// +PcsxrQLPlug *AllocQuickLookGeneratorPluginType(CFUUIDRef inFactoryID) +{ + PcsxrQLPlug *theNewInstance; + + theNewInstance = (PcsxrQLPlug *)calloc(sizeof(PcsxrQLPlug), 1); + + /* Point to the function table Malloc enough to store the stuff and copy the filler from myInterfaceFtbl over */ + theNewInstance->conduitInterface = malloc(sizeof(QLGeneratorInterfaceStruct)); + memcpy(theNewInstance->conduitInterface, &myInterfaceFtbl, sizeof(QLGeneratorInterfaceStruct)); + + /* Retain and keep an open instance refcount for each factory. */ + theNewInstance->factoryID = CFRetain(inFactoryID); + CFPlugInAddInstanceForFactory(inFactoryID); + + /* This function returns the IUnknown interface so set the refCount to one. */ + theNewInstance->refCount = 1; + return theNewInstance; +} + +// ----------------------------------------------------------------------------- +// DeallocQuickLookGeneratorPluginType +// ----------------------------------------------------------------------------- +// Utility function that deallocates the instance when +// the refCount goes to zero. +// In the current implementation generator interfaces are never deallocated +// but implement this as this might change in the future +// +void DeallocQuickLookGeneratorPluginType(PcsxrQLPlug *thisInstance) +{ + CFUUIDRef theFactoryID; + + theFactoryID = thisInstance->factoryID; + /* Free the conduitInterface table up */ + free(thisInstance->conduitInterface); + + /* Free the instance structure */ + free(thisInstance); + if (theFactoryID){ + CFPlugInRemoveInstanceForFactory(theFactoryID); + CFRelease(theFactoryID); + } +} + +// ----------------------------------------------------------------------------- +// QuickLookGeneratorQueryInterface +// ----------------------------------------------------------------------------- +// Implementation of the IUnknown QueryInterface function. +// +HRESULT QuickLookGeneratorQueryInterface(void *thisInstance,REFIID iid,LPVOID *ppv) +{ + CFUUIDRef interfaceID = CFUUIDCreateFromUUIDBytes(kCFAllocatorDefault,iid); + + if (CFEqual(interfaceID,kQLGeneratorCallbacksInterfaceID)){ + /* If the Right interface was requested, bump the ref count, + * set the ppv parameter equal to the instance, and + * return good status. + */ + ((QLGeneratorInterfaceStruct *)((PcsxrQLPlug *)thisInstance)->conduitInterface)->GenerateThumbnailForURL = GenerateThumbnailForURL; + ((QLGeneratorInterfaceStruct *)((PcsxrQLPlug *)thisInstance)->conduitInterface)->CancelThumbnailGeneration = CancelThumbnailGeneration; + ((QLGeneratorInterfaceStruct *)((PcsxrQLPlug *)thisInstance)->conduitInterface)->GeneratePreviewForURL = GeneratePreviewForURL; + ((QLGeneratorInterfaceStruct *)((PcsxrQLPlug *)thisInstance)->conduitInterface)->CancelPreviewGeneration = CancelPreviewGeneration; + ((QLGeneratorInterfaceStruct *)((PcsxrQLPlug*)thisInstance)->conduitInterface)->AddRef(thisInstance); + *ppv = thisInstance; + CFRelease(interfaceID); + return S_OK; + } else { + /* Requested interface unknown, bail with error. */ + *ppv = NULL; + CFRelease(interfaceID); + return E_NOINTERFACE; + } +} + +// ----------------------------------------------------------------------------- +// QuickLookGeneratorPluginAddRef +// ----------------------------------------------------------------------------- +// Implementation of reference counting for this type. Whenever an interface +// is requested, bump the refCount for the instance. NOTE: returning the +// refcount is a convention but is not required so don't rely on it. +// +ULONG QuickLookGeneratorPluginAddRef(void *thisInstance) +{ + ((PcsxrQLPlug *)thisInstance )->refCount += 1; + return ((PcsxrQLPlug*) thisInstance)->refCount; +} + +// ----------------------------------------------------------------------------- +// QuickLookGeneratorPluginRelease +// ----------------------------------------------------------------------------- +// When an interface is released, decrement the refCount. +// If the refCount goes to zero, deallocate the instance. +// +ULONG QuickLookGeneratorPluginRelease(void *thisInstance) +{ + ((PcsxrQLPlug*)thisInstance)->refCount -= 1; + if (((PcsxrQLPlug*)thisInstance)->refCount == 0) { + DeallocQuickLookGeneratorPluginType((PcsxrQLPlug*)thisInstance); + return 0; + } else { + return ((PcsxrQLPlug*) thisInstance )->refCount; + } +} + +// ----------------------------------------------------------------------------- +// QuickLookGeneratorPluginFactory +// ----------------------------------------------------------------------------- +void *QuickLookGeneratorPluginFactory(CFAllocatorRef allocator,CFUUIDRef typeID) +{ + PcsxrQLPlug *result; + CFUUIDRef uuid; + + /* If correct type is being requested, allocate an + * instance of kQLGeneratorTypeID and return the IUnknown interface. + */ + if (CFEqual(typeID, kQLGeneratorTypeID)){ + uuid = CFUUIDCreateFromString(kCFAllocatorDefault, CFSTR(PLUGIN_ID)); + result = AllocQuickLookGeneratorPluginType(uuid); + CFRelease(uuid); + return result; + } + /* If the requested type is incorrect, return NULL. */ + return NULL; +} + diff --git a/macosx/Pcsxr.xcodeproj/project.pbxproj b/macosx/Pcsxr.xcodeproj/project.pbxproj index 9df7e947..91dfc2c9 100644 --- a/macosx/Pcsxr.xcodeproj/project.pbxproj +++ b/macosx/Pcsxr.xcodeproj/project.pbxproj @@ -17,6 +17,15 @@ 2BB3D6C205427FE200831ACB /* EmuThread.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BBB1792051E113B00B84448 /* EmuThread.m */; }; 2BB3D6C305427FE200831ACB /* Plugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BBB17DA051E4D0F00B84448 /* Plugin.c */; }; 2BB3D6C405427FE200831ACB /* PcsxrPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BA44361052DB2EA00E21DDD /* PcsxrPlugin.m */; }; + 550E343918E6293D00A1AD21 /* QuickLook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 550E343818E6293D00A1AD21 /* QuickLook.framework */; }; + 550E343A18E6293D00A1AD21 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 551A76AE178693D60052D185 /* ApplicationServices.framework */; }; + 550E343B18E6293D00A1AD21 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 551A76AF178693D60052D185 /* CoreServices.framework */; }; + 550E343C18E6293D00A1AD21 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 551A76B2178693EA0052D185 /* CoreFoundation.framework */; }; + 550E344218E6293D00A1AD21 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 550E344018E6293D00A1AD21 /* InfoPlist.strings */; }; + 550E344418E6293D00A1AD21 /* GenerateThumbnailForURL.c in Sources */ = {isa = PBXBuildFile; fileRef = 550E344318E6293D00A1AD21 /* GenerateThumbnailForURL.c */; }; + 550E344618E6293D00A1AD21 /* GeneratePreviewForURL.c in Sources */ = {isa = PBXBuildFile; fileRef = 550E344518E6293D00A1AD21 /* GeneratePreviewForURL.c */; }; + 550E344818E6293D00A1AD21 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 550E344718E6293D00A1AD21 /* main.c */; }; + 550E344F18E6332F00A1AD21 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 551A76D8178696810052D185 /* libz.dylib */; }; 550F023D17BFFD97002594DF /* PcsxrHexadecimalFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 550F023C17BFFD97002594DF /* PcsxrHexadecimalFormatter.m */; }; 550FFAEF17CEE37D0003A2F3 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 551A76B2178693EA0052D185 /* CoreFoundation.framework */; }; 550FFAF117CEEECA0003A2F3 /* cfgHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 550FFAF017CEEEC90003A2F3 /* cfgHelper.m */; }; @@ -406,6 +415,15 @@ 2BBB1791051E113B00B84448 /* EmuThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmuThread.h; sourceTree = "<group>"; }; 2BBB1792051E113B00B84448 /* EmuThread.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = EmuThread.m; sourceTree = "<group>"; usesTabs = 1; }; 2BBB17DA051E4D0F00B84448 /* Plugin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = Plugin.c; sourceTree = SOURCE_ROOT; usesTabs = 1; }; + 550E343718E6293D00A1AD21 /* Pcsxr-QL.qlgenerator */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Pcsxr-QL.qlgenerator"; sourceTree = BUILT_PRODUCTS_DIR; }; + 550E343818E6293D00A1AD21 /* QuickLook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickLook.framework; path = System/Library/Frameworks/QuickLook.framework; sourceTree = SDKROOT; }; + 550E343F18E6293D00A1AD21 /* Pcsxr-QL-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Pcsxr-QL-Info.plist"; sourceTree = "<group>"; }; + 550E344118E6293D00A1AD21 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; }; + 550E344318E6293D00A1AD21 /* GenerateThumbnailForURL.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = GenerateThumbnailForURL.c; sourceTree = "<group>"; }; + 550E344518E6293D00A1AD21 /* GeneratePreviewForURL.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = GeneratePreviewForURL.c; sourceTree = "<group>"; }; + 550E344718E6293D00A1AD21 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; }; + 550E344918E6293D00A1AD21 /* Pcsxr-QL-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Pcsxr-QL-Prefix.pch"; sourceTree = "<group>"; }; + 550E344E18E629A300A1AD21 /* MyQuickLook.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyQuickLook.h; sourceTree = "<group>"; }; 550F023B17BFFD97002594DF /* PcsxrHexadecimalFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PcsxrHexadecimalFormatter.h; sourceTree = "<group>"; }; 550F023C17BFFD97002594DF /* PcsxrHexadecimalFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PcsxrHexadecimalFormatter.m; sourceTree = "<group>"; }; 550FFAEE17CEB8780003A2F3 /* DFSound.exp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.exports; path = DFSound.exp; sourceTree = "<group>"; }; @@ -827,6 +845,18 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 550E343218E6293D00A1AD21 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 550E343C18E6293D00A1AD21 /* CoreFoundation.framework in Frameworks */, + 550E343918E6293D00A1AD21 /* QuickLook.framework in Frameworks */, + 550E343B18E6293D00A1AD21 /* CoreServices.framework in Frameworks */, + 550E343A18E6293D00A1AD21 /* ApplicationServices.framework in Frameworks */, + 550E344F18E6332F00A1AD21 /* libz.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 551A75C817868C4E0052D185 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -931,6 +961,7 @@ 08FB7795FE84155DC02AAC07 /* PCSXR */, 551A74AF17868BE90052D185 /* plugins */, 55534AF318183BFA006D6BCB /* updateInfoPlist */, + 550E343D18E6293D00A1AD21 /* Pcsxr-QL */, 551A749D17868B110052D185 /* Frameworks */, 1AB674ADFE9D54B511CA2CBB /* Products */, ); @@ -962,6 +993,7 @@ 551A774F17869C280052D185 /* PeopsXGL.psxplugin */, 551A776D17869E430052D185 /* DFNet.psxplugin */, 55534AF018183BFA006D6BCB /* updateInfoPlist */, + 550E343718E6293D00A1AD21 /* Pcsxr-QL.qlgenerator */, ); name = Products; sourceTree = "<group>"; @@ -1072,6 +1104,28 @@ path = ../libpcsxcore; sourceTree = "<group>"; }; + 550E343D18E6293D00A1AD21 /* Pcsxr-QL */ = { + isa = PBXGroup; + children = ( + 550E344E18E629A300A1AD21 /* MyQuickLook.h */, + 550E344318E6293D00A1AD21 /* GenerateThumbnailForURL.c */, + 550E344518E6293D00A1AD21 /* GeneratePreviewForURL.c */, + 550E344718E6293D00A1AD21 /* main.c */, + 550E343E18E6293D00A1AD21 /* Supporting Files */, + ); + path = "Pcsxr-QL"; + sourceTree = "<group>"; + }; + 550E343E18E6293D00A1AD21 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 550E343F18E6293D00A1AD21 /* Pcsxr-QL-Info.plist */, + 550E344018E6293D00A1AD21 /* InfoPlist.strings */, + 550E344918E6293D00A1AD21 /* Pcsxr-QL-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = "<group>"; + }; 551A749D17868B110052D185 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -1092,6 +1146,7 @@ 551A74A217868B110052D185 /* CoreData.framework */, 551A74A317868B110052D185 /* Foundation.framework */, 551A76D8178696810052D185 /* libz.dylib */, + 550E343818E6293D00A1AD21 /* QuickLook.framework */, ); name = Frameworks; sourceTree = "<group>"; @@ -1663,6 +1718,13 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 550E343318E6293D00A1AD21 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 551A76E51786971B0052D185 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1706,6 +1768,25 @@ productReference = 2BB3D6D105427FE200831ACB /* PCSXR.app */; productType = "com.apple.product-type.application"; }; + 550E343618E6293D00A1AD21 /* Pcsxr-QL */ = { + isa = PBXNativeTarget; + buildConfigurationList = 550E344D18E6293D00A1AD21 /* Build configuration list for PBXNativeTarget "Pcsxr-QL" */; + buildPhases = ( + 550E343118E6293D00A1AD21 /* Sources */, + 550E343218E6293D00A1AD21 /* Frameworks */, + 550E343318E6293D00A1AD21 /* Headers */, + 550E343418E6293D00A1AD21 /* Resources */, + 550E343518E6293D00A1AD21 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Pcsxr-QL"; + productName = "Pcsxr-QL"; + productReference = 550E343718E6293D00A1AD21 /* Pcsxr-QL.qlgenerator */; + productType = "com.apple.product-type.bundle"; + }; 551A75C617868C4E0052D185 /* Bladesio1 */ = { isa = PBXNativeTarget; buildConfigurationList = 551A75CB17868C4E0052D185 /* Build configuration list for PBXNativeTarget "Bladesio1" */; @@ -1925,6 +2006,7 @@ 551A7706178698C60052D185 /* PeopsSpuAL */, 551A776517869E430052D185 /* DFNet */, 551A75C617868C4E0052D185 /* Bladesio1 */, + 550E343618E6293D00A1AD21 /* Pcsxr-QL */, 55534AEF18183BFA006D6BCB /* updateInfoPlist */, ); }; @@ -1948,6 +2030,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 550E343418E6293D00A1AD21 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 550E344218E6293D00A1AD21 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 551A75CA17868C4E0052D185 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -2043,6 +2133,16 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXRezBuildPhase section */ + 550E343518E6293D00A1AD21 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + /* Begin PBXShellScriptBuildPhase section */ 55534AFE18183D86006D6BCB /* ShellScript */ = { isa = PBXShellScriptBuildPhase; @@ -2136,6 +2236,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 550E343118E6293D00A1AD21 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 550E344418E6293D00A1AD21 /* GenerateThumbnailForURL.c in Sources */, + 550E344618E6293D00A1AD21 /* GeneratePreviewForURL.c in Sources */, + 550E344818E6293D00A1AD21 /* main.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 551A75C717868C4E0052D185 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2343,6 +2453,14 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ + 550E344018E6293D00A1AD21 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 550E344118E6293D00A1AD21 /* en */, + ); + name = InfoPlist.strings; + sourceTree = "<group>"; + }; 551A74B417868BEA0052D185 /* Bladesio1PluginConfig.xib */ = { isa = PBXVariantGroup; children = ( @@ -2741,6 +2859,74 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 550E344A18E6293D00A1AD21 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Pcsxr-QL/Pcsxr-QL-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + INFOPLIST_FILE = "Pcsxr-QL/Pcsxr-QL-Info.plist"; + INSTALL_PATH = /Library/QuickLook; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = qlgenerator; + }; + name = Debug; + }; + 550E344B18E6293D00A1AD21 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Pcsxr-QL/Pcsxr-QL-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + INFOPLIST_FILE = "Pcsxr-QL/Pcsxr-QL-Info.plist"; + INSTALL_PATH = /Library/QuickLook; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = qlgenerator; + }; + name = Release; + }; + 550E344C18E6293D00A1AD21 /* Instrument */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Pcsxr-QL/Pcsxr-QL-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + INFOPLIST_FILE = "Pcsxr-QL/Pcsxr-QL-Info.plist"; + INSTALL_PATH = /Library/QuickLook; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = qlgenerator; + }; + name = Instrument; + }; 551A75CC17868C4E0052D185 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3183,7 +3369,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( @@ -3457,7 +3643,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( @@ -3485,7 +3671,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( @@ -3499,6 +3685,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 550E344D18E6293D00A1AD21 /* Build configuration list for PBXNativeTarget "Pcsxr-QL" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 550E344A18E6293D00A1AD21 /* Debug */, + 550E344B18E6293D00A1AD21 /* Release */, + 550E344C18E6293D00A1AD21 /* Instrument */, + ); + defaultConfigurationIsVisible = 0; + }; 551A75CB17868C4E0052D185 /* Build configuration list for PBXNativeTarget "Bladesio1" */ = { isa = XCConfigurationList; buildConfigurations = ( |
