Added mod/tracker support through Dumb.

CQTexperiment
vspader 2007-10-12 01:03:12 +00:00
parent 2b0eaf3369
commit 6b7550de97
13 changed files with 763 additions and 0 deletions

View File

@ -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 = "<group>"; };
17C808C00C3BD1DD005707C4 /* WavPack.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = WavPack.xcodeproj; path = Plugins/WavPack/WavPack.xcodeproj; sourceTree = "<group>"; };
17C8F3C80CBED663008D969D /* GME.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = GME.xcodeproj; path = Plugins/GME/GME.xcodeproj; sourceTree = "<group>"; };
17C8F7D20CBEF3E8008D969D /* Dumb.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Dumb.xcodeproj; path = Plugins/Dumb/Dumb.xcodeproj; sourceTree = "<group>"; };
17E41C470C1304BB00AC744D /* Swedish */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Swedish; path = Swedish.lproj/MainMenu.nib; sourceTree = "<group>"; };
17E41C480C1304C700AC744D /* Swedish */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Swedish; path = Swedish.lproj/OpenURLPanel.nib; sourceTree = "<group>"; };
17E41C490C1304D200AC744D /* Swedish */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Swedish; path = Swedish.lproj/Localizable.strings; sourceTree = "<group>"; };
@ -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 = "<group>";
};
17C8F7D30CBEF3E8008D969D /* Products */ = {
isa = PBXGroup;
children = (
17C8F7D70CBEF3E8008D969D /* Dumb.bundle */,
);
name = Products;
sourceTree = "<group>";
};
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;

View File

@ -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;
};

View File

@ -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 = "<absolute>"; };
089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
17C8F68E0CBEE846008D969D /* DumbDecoder.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DumbDecoder.h; sourceTree = "<group>"; };
17C8F68F0CBEE846008D969D /* DumbDecoder.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = DumbDecoder.m; sourceTree = "<group>"; };
17C8F6900CBEE846008D969D /* DumbPlugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DumbPlugin.h; sourceTree = "<group>"; };
17C8F6910CBEE846008D969D /* DumbPlugin.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = DumbPlugin.m; sourceTree = "<group>"; };
17C8F6920CBEE846008D969D /* DumbPropertiesReader.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DumbPropertiesReader.h; sourceTree = "<group>"; };
17C8F6930CBEE846008D969D /* DumbPropertiesReader.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = DumbPropertiesReader.m; sourceTree = "<group>"; };
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 = "<group>"; };
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 = "<group>"; };
D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
/* 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 = "<group>";
};
089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = {
isa = PBXGroup;
children = (
1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */,
1058C7AEFEA557BF11CA2CBB /* Other Frameworks */,
);
name = "Frameworks and Libraries";
sourceTree = "<group>";
};
089C167CFE841241C02AAC07 /* Resources */ = {
isa = PBXGroup;
children = (
8D5B49B7048680CD000E48DA /* Info.plist */,
089C167DFE841241C02AAC07 /* InfoPlist.strings */,
);
name = Resources;
sourceTree = "<group>";
};
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 = "<group>";
};
1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = {
isa = PBXGroup;
children = (
17C8F6990CBEE857008D969D /* Dumb.xcodeproj */,
1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
};
1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = {
isa = PBXGroup;
children = (
089C167FFE841241C02AAC07 /* AppKit.framework */,
D2F7E65807B2D6F200F64583 /* CoreData.framework */,
089C1672FE841209C02AAC07 /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
17C8F69A0CBEE857008D969D /* Products */ = {
isa = PBXGroup;
children = (
17C8F69E0CBEE857008D969D /* Dumb.framework */,
);
name = Products;
sourceTree = "<group>";
};
19C28FB8FE9D52D311CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D5B49B6048680CD000E48DA /* Dumb.bundle */,
);
name = Products;
sourceTree = "<group>";
};
32C88E010371C26100C91783 /* Other Sources */ = {
isa = PBXGroup;
children = (
32DBCF630370AF2F00C91783 /* Dumb_Prefix.pch */,
);
name = "Other Sources";
sourceTree = "<group>";
};
/* 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 = "<group>";
};
/* 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 */;
}

28
Plugins/Dumb/DumbDecoder.h Executable file
View File

@ -0,0 +1,28 @@
//
// DumbFile.h
// Cog
//
// Created by Vincent Spader on 5/29/06.
// Copyright 2006 Vincent Spader. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import <Dumb/dumb.h>
#import "Plugin.h"
@interface DumbDecoder : NSObject <CogDecoder> {
DUMBFILE *df;
DUMBFILE_SYSTEM dfs;
DUH *duh;
DUH_SIGRENDERER *dsr;
id<CogSource> source;
long length;
}
- (void)setSource:(id<CogSource>)s;
- (id<CogSource>)source;
- (void)cleanUp;
@end

194
Plugins/Dumb/DumbDecoder.m Executable file
View File

@ -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<CogSource>)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<CogSource>)s
{
[s retain];
[source release];
source = s;
}
- (id<CogSource>)source
{
return source;
}
@end

17
Plugins/Dumb/DumbPlugin.h Normal file
View File

@ -0,0 +1,17 @@
//
// DumbPlugin.h
// GME
//
// Created by Vincent Spader on 10/11/07.
// Copyright 2007 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "Plugin.h"
@interface DumbPlugin : NSObject <CogPlugin> {
}
@end

24
Plugins/Dumb/DumbPlugin.m Normal file
View File

@ -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

View File

@ -0,0 +1,18 @@
//
// DumbPropertiesReader.h
// GME
//
// Created by Vincent Spader on 10/10/07.
// Copyright 2007 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "Plugin.h"
@interface DumbPropertiesReader : NSObject <CogPropertiesReader>
{
}
@end

View File

@ -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<CogSource>)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

View File

@ -0,0 +1,7 @@
//
// Prefix header for all source files of the 'Dumb' target in the 'Dumb' project.
//
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif

Binary file not shown.

26
Plugins/Dumb/Info.plist Normal file
View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//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>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.yourcompany.yourcocoabundle</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>NSPrincipalClass</key>
<string>DumbPlugin</string>
</dict>
</plist>

View File

@ -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;
};