diff --git a/Cog.xcodeproj/project.pbxproj b/Cog.xcodeproj/project.pbxproj index c23d057e8..02450aaca 100644 --- a/Cog.xcodeproj/project.pbxproj +++ b/Cog.xcodeproj/project.pbxproj @@ -87,6 +87,7 @@ 17C8099A0C3BD233005707C4 /* FileSource.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 17C808790C3BD167005707C4 /* FileSource.bundle */; }; 17C809E60C3BD487005707C4 /* CoreAudio.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 17C809E30C3BD46D005707C4 /* CoreAudio.bundle */; }; 17C8F3CF0CBED66C008D969D /* GME.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 17C8F3CD0CBED663008D969D /* GME.bundle */; }; + 17C8F7D80CBEF3EF008D969D /* Dumb.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 17C8F7D70CBEF3E8008D969D /* Dumb.bundle */; }; 17E41E070C130DFF00AC744D /* Credits.html in Resources */ = {isa = PBXBuildFile; fileRef = 17E41E060C130DFF00AC744D /* Credits.html */; }; 17E41E230C130EE200AC744D /* Help in Resources */ = {isa = PBXBuildFile; fileRef = 17E41E220C130EE200AC744D /* Help */; }; 17F3BB890CBC565900864489 /* CueSheet.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 17F3BB880CBC565100864489 /* CueSheet.bundle */; }; @@ -295,6 +296,20 @@ remoteGlobalIDString = 8D5B49AC048680CD000E48DA /* GME Plugin */; remoteInfo = "GME Plugin"; }; + 17C8F7D60CBEF3E8008D969D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 17C8F7D20CBEF3E8008D969D /* Dumb.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D5B49B6048680CD000E48DA /* Dumb.bundle */; + remoteInfo = Dumb; + }; + 17C8F7D90CBEF3F9008D969D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 17C8F7D20CBEF3E8008D969D /* Dumb.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 8D5B49AC048680CD000E48DA /* Dumb */; + remoteInfo = Dumb; + }; 17F3BB870CBC565100864489 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 17F3BB830CBC565100864489 /* CueSheet.xcodeproj */; @@ -374,6 +389,7 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( + 17C8F7D80CBEF3EF008D969D /* Dumb.bundle in CopyFiles */, 17C8F3CF0CBED66C008D969D /* GME.bundle in CopyFiles */, 17F3BB890CBC565900864489 /* CueSheet.bundle in CopyFiles */, 8E8D41C80CBB0DA900135C1B /* Pls.bundle in CopyFiles */, @@ -537,6 +553,7 @@ 17C808B70C3BD1D2005707C4 /* Vorbis.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Vorbis.xcodeproj; path = Plugins/Vorbis/Vorbis.xcodeproj; sourceTree = ""; }; 17C808C00C3BD1DD005707C4 /* WavPack.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = WavPack.xcodeproj; path = Plugins/WavPack/WavPack.xcodeproj; sourceTree = ""; }; 17C8F3C80CBED663008D969D /* GME.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = GME.xcodeproj; path = Plugins/GME/GME.xcodeproj; sourceTree = ""; }; + 17C8F7D20CBEF3E8008D969D /* Dumb.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Dumb.xcodeproj; path = Plugins/Dumb/Dumb.xcodeproj; sourceTree = ""; }; 17E41C470C1304BB00AC744D /* Swedish */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Swedish; path = Swedish.lproj/MainMenu.nib; sourceTree = ""; }; 17E41C480C1304C700AC744D /* Swedish */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Swedish; path = Swedish.lproj/OpenURLPanel.nib; sourceTree = ""; }; 17E41C490C1304D200AC744D /* Swedish */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Swedish; path = Swedish.lproj/Localizable.strings; sourceTree = ""; }; @@ -825,6 +842,7 @@ 17B619FF0B909ED400BC003F /* PlugIns */ = { isa = PBXGroup; children = ( + 17C8F7D20CBEF3E8008D969D /* Dumb.xcodeproj */, 17C8F3C80CBED663008D969D /* GME.xcodeproj */, 17F3BB830CBC565100864489 /* CueSheet.xcodeproj */, 8E8D41C20CBB0DA000135C1B /* Pls.xcodeproj */, @@ -940,6 +958,14 @@ name = Products; sourceTree = ""; }; + 17C8F7D30CBEF3E8008D969D /* Products */ = { + isa = PBXGroup; + children = ( + 17C8F7D70CBEF3E8008D969D /* Dumb.bundle */, + ); + name = Products; + sourceTree = ""; + }; 17F3BB840CBC565100864489 /* Products */ = { isa = PBXGroup; children = ( @@ -1171,6 +1197,7 @@ 8E8D41CC0CBB0DD200135C1B /* PBXTargetDependency */, 17F3BB8B0CBC566200864489 /* PBXTargetDependency */, 17C8F44C0CBEDD37008D969D /* PBXTargetDependency */, + 17C8F7DA0CBEF3F9008D969D /* PBXTargetDependency */, ); name = Cog; productInstallPath = "$(HOME)/Applications"; @@ -1209,6 +1236,10 @@ ProductGroup = 17F3BB840CBC565100864489 /* Products */; ProjectRef = 17F3BB830CBC565100864489 /* CueSheet.xcodeproj */; }, + { + ProductGroup = 17C8F7D30CBEF3E8008D969D /* Products */; + ProjectRef = 17C8F7D20CBEF3E8008D969D /* Dumb.xcodeproj */; + }, { ProductGroup = 17C808720C3BD167005707C4 /* Products */; ProjectRef = 17C808710C3BD167005707C4 /* FileSource.xcodeproj */; @@ -1357,6 +1388,13 @@ remoteRef = 17C8F3CC0CBED663008D969D /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 17C8F7D70CBEF3E8008D969D /* Dumb.bundle */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = Dumb.bundle; + remoteRef = 17C8F7D60CBEF3E8008D969D /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 17F3BB880CBC565100864489 /* CueSheet.bundle */ = { isa = PBXReferenceProxy; fileType = wrapper.cfbundle; @@ -1564,6 +1602,11 @@ name = "GME Plugin"; targetProxy = 17C8F44B0CBEDD37008D969D /* PBXContainerItemProxy */; }; + 17C8F7DA0CBEF3F9008D969D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Dumb; + targetProxy = 17C8F7D90CBEF3F9008D969D /* PBXContainerItemProxy */; + }; 17F3BB8B0CBC566200864489 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CueSheet; diff --git a/Frameworks/GME/GME.xcodeproj/project.pbxproj b/Frameworks/GME/GME.xcodeproj/project.pbxproj index de4a7b340..3208f2a9f 100644 --- a/Frameworks/GME/GME.xcodeproj/project.pbxproj +++ b/Frameworks/GME/GME.xcodeproj/project.pbxproj @@ -633,8 +633,10 @@ buildSettings = { GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = ../../build; PREBINDING = NO; SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SYMROOT = ../../build; }; name = Debug; }; @@ -643,8 +645,10 @@ buildSettings = { GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = ../../build; PREBINDING = NO; SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SYMROOT = ../../build; }; name = Release; }; diff --git a/Plugins/Dumb/Dumb.xcodeproj/project.pbxproj b/Plugins/Dumb/Dumb.xcodeproj/project.pbxproj new file mode 100644 index 000000000..4895d9d7f --- /dev/null +++ b/Plugins/Dumb/Dumb.xcodeproj/project.pbxproj @@ -0,0 +1,356 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 17C8F6950CBEE846008D969D /* DumbDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C8F68F0CBEE846008D969D /* DumbDecoder.m */; }; + 17C8F6960CBEE846008D969D /* DumbPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C8F6910CBEE846008D969D /* DumbPlugin.m */; }; + 17C8F6970CBEE846008D969D /* DumbPropertiesReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C8F6930CBEE846008D969D /* DumbPropertiesReader.m */; }; + 17C8F69F0CBEE85F008D969D /* Dumb.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 17C8F69E0CBEE857008D969D /* Dumb.framework */; }; + 17C8F70D0CBEEC87008D969D /* Plugin.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 17C8F70C0CBEEC87008D969D /* Plugin.h */; }; + 17C8F7B90CBEF380008D969D /* Dumb.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17C8F69E0CBEE857008D969D /* Dumb.framework */; }; + 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; + 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 17C8F69D0CBEE857008D969D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 17C8F6990CBEE857008D969D /* Dumb.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8DC2EF5B0486A6940098B216 /* Dumb.framework */; + remoteInfo = "Dumb Framework"; + }; + 17C8F6A00CBEE867008D969D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 17C8F6990CBEE857008D969D /* Dumb.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 8DC2EF4F0486A6940098B216 /* Dumb Framework */; + remoteInfo = "Dumb Framework"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 17C8F6A20CBEE86E008D969D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 17C8F69F0CBEE85F008D969D /* Dumb.framework in CopyFiles */, + 17C8F70D0CBEEC87008D969D /* Plugin.h in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 17C8F68E0CBEE846008D969D /* DumbDecoder.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DumbDecoder.h; sourceTree = ""; }; + 17C8F68F0CBEE846008D969D /* DumbDecoder.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = DumbDecoder.m; sourceTree = ""; }; + 17C8F6900CBEE846008D969D /* DumbPlugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DumbPlugin.h; sourceTree = ""; }; + 17C8F6910CBEE846008D969D /* DumbPlugin.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = DumbPlugin.m; sourceTree = ""; }; + 17C8F6920CBEE846008D969D /* DumbPropertiesReader.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DumbPropertiesReader.h; sourceTree = ""; }; + 17C8F6930CBEE846008D969D /* DumbPropertiesReader.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = DumbPropertiesReader.m; sourceTree = ""; }; + 17C8F6990CBEE857008D969D /* Dumb.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Dumb.xcodeproj; path = ../../Frameworks/Dumb/Dumb.xcodeproj; sourceTree = SOURCE_ROOT; }; + 17C8F70C0CBEEC87008D969D /* Plugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Plugin.h; path = ../../Audio/Plugin.h; sourceTree = SOURCE_ROOT; }; + 32DBCF630370AF2F00C91783 /* Dumb_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dumb_Prefix.pch; sourceTree = ""; }; + 8D5B49B6048680CD000E48DA /* Dumb.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Dumb.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Info.plist; sourceTree = ""; }; + D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D5B49B3048680CD000E48DA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 17C8F7B90CBEF380008D969D /* Dumb.framework in Frameworks */, + 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* Dumb */ = { + isa = PBXGroup; + children = ( + 08FB77AFFE84173DC02AAC07 /* Classes */, + 32C88E010371C26100C91783 /* Other Sources */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, + 19C28FB8FE9D52D311CA2CBB /* Products */, + ); + name = Dumb; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, + 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, + ); + name = "Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D5B49B7048680CD000E48DA /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77AFFE84173DC02AAC07 /* Classes */ = { + isa = PBXGroup; + children = ( + 17C8F70C0CBEEC87008D969D /* Plugin.h */, + 17C8F68E0CBEE846008D969D /* DumbDecoder.h */, + 17C8F68F0CBEE846008D969D /* DumbDecoder.m */, + 17C8F6900CBEE846008D969D /* DumbPlugin.h */, + 17C8F6910CBEE846008D969D /* DumbPlugin.m */, + 17C8F6920CBEE846008D969D /* DumbPropertiesReader.h */, + 17C8F6930CBEE846008D969D /* DumbPropertiesReader.m */, + ); + name = Classes; + sourceTree = ""; + }; + 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + 17C8F6990CBEE857008D969D /* Dumb.xcodeproj */, + 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 089C167FFE841241C02AAC07 /* AppKit.framework */, + D2F7E65807B2D6F200F64583 /* CoreData.framework */, + 089C1672FE841209C02AAC07 /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 17C8F69A0CBEE857008D969D /* Products */ = { + isa = PBXGroup; + children = ( + 17C8F69E0CBEE857008D969D /* Dumb.framework */, + ); + name = Products; + sourceTree = ""; + }; + 19C28FB8FE9D52D311CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D5B49B6048680CD000E48DA /* Dumb.bundle */, + ); + name = Products; + sourceTree = ""; + }; + 32C88E010371C26100C91783 /* Other Sources */ = { + isa = PBXGroup; + children = ( + 32DBCF630370AF2F00C91783 /* Dumb_Prefix.pch */, + ); + name = "Other Sources"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D5B49AC048680CD000E48DA /* Dumb */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "Dumb" */; + buildPhases = ( + 8D5B49AF048680CD000E48DA /* Resources */, + 8D5B49B1048680CD000E48DA /* Sources */, + 8D5B49B3048680CD000E48DA /* Frameworks */, + 17C8F6A20CBEE86E008D969D /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + 17C8F6A10CBEE867008D969D /* PBXTargetDependency */, + ); + name = Dumb; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = Dumb; + productReference = 8D5B49B6048680CD000E48DA /* Dumb.bundle */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "Dumb" */; + hasScannedForEncodings = 1; + mainGroup = 089C166AFE841209C02AAC07 /* Dumb */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 17C8F69A0CBEE857008D969D /* Products */; + ProjectRef = 17C8F6990CBEE857008D969D /* Dumb.xcodeproj */; + }, + ); + targets = ( + 8D5B49AC048680CD000E48DA /* Dumb */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 17C8F69E0CBEE857008D969D /* Dumb.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = Dumb.framework; + remoteRef = 17C8F69D0CBEE857008D969D /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D5B49AF048680CD000E48DA /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D5B49B1048680CD000E48DA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 17C8F6950CBEE846008D969D /* DumbDecoder.m in Sources */, + 17C8F6960CBEE846008D969D /* DumbPlugin.m in Sources */, + 17C8F6970CBEE846008D969D /* DumbPropertiesReader.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 17C8F6A10CBEE867008D969D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Dumb Framework"; + targetProxy = 17C8F6A00CBEE867008D969D /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C167EFE841241C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 1DEB913B08733D840010E9CD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = Dumb_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Bundles"; + OBJROOT = ../../build; + PRODUCT_NAME = Dumb; + SYMROOT = ../../build; + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; + }; + name = Debug; + }; + 1DEB913C08733D840010E9CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = Dumb_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Bundles"; + OBJROOT = ../../build; + PRODUCT_NAME = Dumb; + SYMROOT = ../../build; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + 1DEB913F08733D840010E9CD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = ../../build; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SYMROOT = ../../build; + }; + name = Debug; + }; + 1DEB914008733D840010E9CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = ../../build; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SYMROOT = ../../build; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "Dumb" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB913B08733D840010E9CD /* Debug */, + 1DEB913C08733D840010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "Dumb" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB913F08733D840010E9CD /* Debug */, + 1DEB914008733D840010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/Plugins/Dumb/DumbDecoder.h b/Plugins/Dumb/DumbDecoder.h new file mode 100755 index 000000000..8772120d4 --- /dev/null +++ b/Plugins/Dumb/DumbDecoder.h @@ -0,0 +1,28 @@ +// +// DumbFile.h +// Cog +// +// Created by Vincent Spader on 5/29/06. +// Copyright 2006 Vincent Spader. All rights reserved. +// + +#import + +#import + +#import "Plugin.h" + +@interface DumbDecoder : NSObject { + DUMBFILE *df; + DUMBFILE_SYSTEM dfs; + DUH *duh; + DUH_SIGRENDERER *dsr; + + id source; + long length; +} + +- (void)setSource:(id)s; +- (id)source; +- (void)cleanUp; +@end diff --git a/Plugins/Dumb/DumbDecoder.m b/Plugins/Dumb/DumbDecoder.m new file mode 100755 index 000000000..eeb8713a8 --- /dev/null +++ b/Plugins/Dumb/DumbDecoder.m @@ -0,0 +1,194 @@ +// +// DumbFile.m +// Cog +// +// Created by Vincent Spader on 5/29/06. +// Copyright 2006 Vincent Spader. All rights reserved. +// + +#import "DumbDecoder.h" + +@implementation DumbDecoder + +int skipCallback(void *f, long n) +{ + DumbDecoder *decoder = (DumbDecoder *)f; + + NSLog(@"SKIPPING"); + + if (![[decoder source] seek:n whence: SEEK_CUR]) + { + return 1; //Non-zero is error + } + + return 0; //Zero for success +} + +int getCharCallback(void *f) +{ + DumbDecoder *decoder = (DumbDecoder *)f; + + NSLog(@"Getting Character"); + + char c; + + if ([[decoder source] read:&c amount:1] < 1) + { + return -1; + } + + return c; +} + +long readCallback(char *ptr, long n, void *f) +{ + NSLog(@"READ"); + DumbDecoder *decoder = (DumbDecoder *)f; + + return [[decoder source] read:ptr amount:n]; +} + +void closeCallback(void *f) +{ +// DumbDecoder *decoder = (DumbDecoder *)f; + NSLog(@"CLOSE"); //I DO NOTHING +} + +- (BOOL)open:(id)s +{ + [self setSource:s]; + + dfs.open = NULL; + dfs.skip = skipCallback; + dfs.getc = getCharCallback; + dfs.getnc = readCallback; + dfs.close = closeCallback; + + dumb_register_stdfiles(); + + df = dumbfile_open_ex(self, &dfs); + if (!df) + { + NSLog(@"EX Failed"); + return NO; + } + + NSString *ext = [[[[s url] path] pathExtension] lowercaseString]; + if ([ext isEqualToString:@"it"]) + duh = dumb_read_it(df); + else if ([ext isEqualToString:@"xm"]) +// duh = dumb_read_xm(df); + duh = dumb_load_xm([[[s url] path] UTF8String]); + else if ([ext isEqualToString:@"s3m"]) + duh = dumb_read_s3m(df); + else if ([ext isEqualToString:@"mod"]) + duh = dumb_read_mod(df); + else { + NSLog(@"DUH IS NUL!!!"); + duh = NULL; + } + if (!duh) + { + NSLog(@"Failed to create duh"); + return NO; + } + + length = duh_get_length(duh); + + + dsr = duh_start_sigrenderer(duh, 0, 2 /* stereo */, 0 /* start from the beginning */); + if (!dsr) + { + NSLog(@"Failed to create dsr"); + return NO; + } + + return YES; +} + +- (NSDictionary *)properties +{ + return [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithInt:0], @"bitrate", + [NSNumber numberWithFloat:44100], @"sampleRate", + [NSNumber numberWithDouble:length / 65.536f], @"length", + [NSNumber numberWithInt:16], @"bitsPerSample", //Samples are short + [NSNumber numberWithInt:2], @"channels", //output from gme_play is in stereo + [NSNumber numberWithBool:[source seekable]], @"seekable", + @"host", @"endian", + nil]; +} + +- (int)fillBuffer:(void *)buf ofSize:(UInt32)size +{ + if (duh_sigrenderer_get_position(dsr) > length) { + return 0; + } + + return 4*duh_render(dsr, 16 /* shorts */, 0 /* not unsigned */, 1.0 /* volume */, 65536.0f / 44100.0f /* 65536 hz? */, size/(2*2), buf); +} + +- (double)seekToTime:(double)milliseconds +{ + double pos = (double)duh_sigrenderer_get_position(dsr) / 65.536f; + double seekPos = milliseconds; + + if (seekPos < pos) { + //Reset. Dumb cannot seek backwards. It's dumb. + [self cleanUp]; + [self open:source]; + + pos = 0.0; + } + + int numSamples = (seekPos - pos)/1000 * 44100; + + duh_sigrenderer_generate_samples(dsr, 1.0f, 65536.0f / 44100.0f, numSamples, NULL); + + return milliseconds; +} + +- (void)cleanUp +{ + if (dsr) { + duh_end_sigrenderer(dsr); + dsr = NULL; + } + if (duh) { + unload_duh(duh); + duh = NULL; + } + if (df) { + dumbfile_close(df); + df = NULL; + } +} + +- (void)close +{ + [self cleanUp]; + + if (source) { + [source close]; + [self setSource:nil]; + } +} + ++ (NSArray *)fileTypes +{ + return [NSArray arrayWithObjects:@"it", @"xm", @"s3m", @"mod",nil]; +} + +- (void)setSource:(id)s +{ + [s retain]; + [source release]; + source = s; +} + +- (id)source +{ + return source; +} + +@end diff --git a/Plugins/Dumb/DumbPlugin.h b/Plugins/Dumb/DumbPlugin.h new file mode 100644 index 000000000..82dd0054b --- /dev/null +++ b/Plugins/Dumb/DumbPlugin.h @@ -0,0 +1,17 @@ +// +// DumbPlugin.h +// GME +// +// Created by Vincent Spader on 10/11/07. +// Copyright 2007 __MyCompanyName__. All rights reserved. +// + +#import + +#import "Plugin.h" + +@interface DumbPlugin : NSObject { + +} + +@end diff --git a/Plugins/Dumb/DumbPlugin.m b/Plugins/Dumb/DumbPlugin.m new file mode 100644 index 000000000..5f5ed3b23 --- /dev/null +++ b/Plugins/Dumb/DumbPlugin.m @@ -0,0 +1,24 @@ +// +// DumbPlugin.m +// GME +// +// Created by Vincent Spader on 10/11/07. +// Copyright 2007 __MyCompanyName__. All rights reserved. +// + +#import "DumbPlugin.h" + +#import "DumbDecoder.h" +#import "DumbPropertiesReader.h" + +@implementation DumbPlugin + ++ (NSDictionary *)pluginInfo +{ + return [NSDictionary dictionaryWithObjectsAndKeys: + kCogDecoder, [DumbDecoder className], + kCogPropertiesReader, [DumbPropertiesReader className], + nil]; +} + +@end diff --git a/Plugins/Dumb/DumbPropertiesReader.h b/Plugins/Dumb/DumbPropertiesReader.h new file mode 100755 index 000000000..5aadfd6a4 --- /dev/null +++ b/Plugins/Dumb/DumbPropertiesReader.h @@ -0,0 +1,18 @@ +// +// DumbPropertiesReader.h +// GME +// +// Created by Vincent Spader on 10/10/07. +// Copyright 2007 __MyCompanyName__. All rights reserved. +// + +#import + +#import "Plugin.h" + +@interface DumbPropertiesReader : NSObject +{ + +} + +@end diff --git a/Plugins/Dumb/DumbPropertiesReader.m b/Plugins/Dumb/DumbPropertiesReader.m new file mode 100755 index 000000000..f49102e30 --- /dev/null +++ b/Plugins/Dumb/DumbPropertiesReader.m @@ -0,0 +1,42 @@ +// +// DumbPropertiesReader.m +// GME +// +// Created by Vincent Spader on 10/10/07. +// Copyright 2007 __MyCompanyName__. All rights reserved. +// + +#import "DumbPropertiesReader.h" +#import "DumbDecoder.h" + +@implementation DumbPropertiesReader + ++ (NSDictionary *)propertiesForSource:(id)source +{ + NSDictionary *properties; + DumbDecoder *decoder; + + decoder = [[DumbDecoder alloc] init]; + if (![decoder open:source]) + { + NSLog(@"Could not open"); + return nil; + } + + properties = [decoder properties]; + + NSLog(@"Properties! %@", properties); + + [decoder close]; + [decoder release]; + + return properties; +} + + ++ (NSArray *)fileTypes +{ + return [DumbDecoder fileTypes]; +} + +@end diff --git a/Plugins/Dumb/Dumb_Prefix.pch b/Plugins/Dumb/Dumb_Prefix.pch new file mode 100644 index 000000000..6665264f6 --- /dev/null +++ b/Plugins/Dumb/Dumb_Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'Dumb' target in the 'Dumb' project. +// + +#ifdef __OBJC__ + #import +#endif diff --git a/Plugins/Dumb/English.lproj/InfoPlist.strings b/Plugins/Dumb/English.lproj/InfoPlist.strings new file mode 100644 index 000000000..948e12b99 Binary files /dev/null and b/Plugins/Dumb/English.lproj/InfoPlist.strings differ diff --git a/Plugins/Dumb/Info.plist b/Plugins/Dumb/Info.plist new file mode 100644 index 000000000..485d03096 --- /dev/null +++ b/Plugins/Dumb/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleName + ${PRODUCT_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.yourcocoabundle + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + NSPrincipalClass + DumbPlugin + + diff --git a/Plugins/GME/GME.xcodeproj/project.pbxproj b/Plugins/GME/GME.xcodeproj/project.pbxproj index 8fa3bf5a8..cdca6bc03 100644 --- a/Plugins/GME/GME.xcodeproj/project.pbxproj +++ b/Plugins/GME/GME.xcodeproj/project.pbxproj @@ -322,8 +322,10 @@ buildSettings = { GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = ../../build; PREBINDING = NO; SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SYMROOT = ../../build; }; name = Debug; }; @@ -332,8 +334,10 @@ buildSettings = { GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + OBJROOT = ../../build; PREBINDING = NO; SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SYMROOT = ../../build; }; name = Release; };