Hopefully fix the last of the Automatic Reference Counting issues that remained.
parent
0213dd9741
commit
03b825ced3
|
@ -12,6 +12,7 @@
|
||||||
- (long)tell;
|
- (long)tell;
|
||||||
- (long)read:(void *)buffer amount:(long)amount; //reads UP TO amount, returns amount read.
|
- (long)read:(void *)buffer amount:(long)amount; //reads UP TO amount, returns amount read.
|
||||||
- (void)close;
|
- (void)close;
|
||||||
|
- (void)dealloc;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@protocol CogContainer <NSObject>
|
@protocol CogContainer <NSObject>
|
||||||
|
@ -39,6 +40,8 @@
|
||||||
- (void)close;
|
- (void)close;
|
||||||
|
|
||||||
@optional
|
@optional
|
||||||
|
- (void)dealloc;
|
||||||
|
|
||||||
- (BOOL)setTrack:(NSURL *)track;
|
- (BOOL)setTrack:(NSURL *)track;
|
||||||
|
|
||||||
//These are in NSObject, so as long as you are a subclass of that, you are ok.
|
//These are in NSObject, so as long as you are a subclass of that, you are ok.
|
||||||
|
|
|
@ -242,7 +242,7 @@ static PluginController *sharedPluginController = nil;
|
||||||
|
|
||||||
- (NSArray *) urlsForContainerURL:(NSURL *)url
|
- (NSArray *) urlsForContainerURL:(NSURL *)url
|
||||||
{
|
{
|
||||||
NSString *ext = [[url path] pathExtension];
|
NSString *ext = [url pathExtension];
|
||||||
NSArray *containerSet = [containers objectForKey:[ext lowercaseString]];
|
NSArray *containerSet = [containers objectForKey:[ext lowercaseString]];
|
||||||
NSString *classString;
|
NSString *classString;
|
||||||
if (containerSet) {
|
if (containerSet) {
|
||||||
|
@ -265,7 +265,7 @@ static PluginController *sharedPluginController = nil;
|
||||||
//Note: Source is assumed to already be opened.
|
//Note: Source is assumed to already be opened.
|
||||||
- (id<CogDecoder>) audioDecoderForSource:(id <CogSource>)source
|
- (id<CogDecoder>) audioDecoderForSource:(id <CogSource>)source
|
||||||
{
|
{
|
||||||
NSString *ext = [[[source url] path] pathExtension];
|
NSString *ext = [[source url] pathExtension];
|
||||||
NSArray *decoders = [decodersByExtension objectForKey:[ext lowercaseString]];
|
NSArray *decoders = [decodersByExtension objectForKey:[ext lowercaseString]];
|
||||||
NSString *classString;
|
NSString *classString;
|
||||||
if (decoders) {
|
if (decoders) {
|
||||||
|
@ -287,7 +287,7 @@ static PluginController *sharedPluginController = nil;
|
||||||
|
|
||||||
- (NSDictionary *)metadataForURL:(NSURL *)url
|
- (NSDictionary *)metadataForURL:(NSURL *)url
|
||||||
{
|
{
|
||||||
NSString *ext = [[url path] pathExtension];
|
NSString *ext = [url pathExtension];
|
||||||
NSArray *readers = [metadataReaders objectForKey:[ext lowercaseString]];
|
NSArray *readers = [metadataReaders objectForKey:[ext lowercaseString]];
|
||||||
NSString *classString;
|
NSString *classString;
|
||||||
if (readers) {
|
if (readers) {
|
||||||
|
@ -311,7 +311,7 @@ static PluginController *sharedPluginController = nil;
|
||||||
//If no properties reader is defined, use the decoder's properties.
|
//If no properties reader is defined, use the decoder's properties.
|
||||||
- (NSDictionary *)propertiesForURL:(NSURL *)url
|
- (NSDictionary *)propertiesForURL:(NSURL *)url
|
||||||
{
|
{
|
||||||
NSString *ext = [[url path] pathExtension];
|
NSString *ext = [url pathExtension];
|
||||||
|
|
||||||
id<CogSource> source = [self audioSourceForURL:url];
|
id<CogSource> source = [self audioSourceForURL:url];
|
||||||
if (![source open:url])
|
if (![source open:url])
|
||||||
|
|
|
@ -62,11 +62,6 @@
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildableProductRunnable>
|
</BuildableProductRunnable>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
<AdditionalOption
|
|
||||||
key = "NSZombieEnabled"
|
|
||||||
value = "YES"
|
|
||||||
isEnabled = "YES">
|
|
||||||
</AdditionalOption>
|
|
||||||
</AdditionalOptions>
|
</AdditionalOptions>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
|
|
|
@ -111,7 +111,7 @@ NSURL *resolveAliases(NSURL *url)
|
||||||
{
|
{
|
||||||
[[NSFileManager defaultManager] fileExistsAtPath:[u path] isDirectory:&isDir];
|
[[NSFileManager defaultManager] fileExistsAtPath:[u path] isDirectory:&isDir];
|
||||||
|
|
||||||
if (!isDir && ![[AudioPlayer fileTypes] containsObject:[[[u path] pathExtension] lowercaseString]])
|
if (!isDir && ![[AudioPlayer fileTypes] containsObject:[[u pathExtension] lowercaseString]])
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,7 @@ NSURL *resolveAliases(NSURL *url)
|
||||||
{
|
{
|
||||||
newNode = [[DirectoryNode alloc] initWithDataSource:dataSource url:u];
|
newNode = [[DirectoryNode alloc] initWithDataSource:dataSource url:u];
|
||||||
}
|
}
|
||||||
else if ([[AudioPlayer containerTypes] containsObject:[[[u path] pathExtension] lowercaseString]])
|
else if ([[AudioPlayer containerTypes] containsObject:[[u pathExtension] lowercaseString]])
|
||||||
{
|
{
|
||||||
newNode = [[ContainerNode alloc] initWithDataSource:dataSource url:u];
|
newNode = [[ContainerNode alloc] initWithDataSource:dataSource url:u];
|
||||||
}
|
}
|
||||||
|
|
|
@ -682,6 +682,7 @@
|
||||||
1DEB91B208733DA50010E9CD /* Debug */ = {
|
1DEB91B208733DA50010E9CD /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
"DEBUG=1",
|
"DEBUG=1",
|
||||||
|
@ -702,6 +703,7 @@
|
||||||
1DEB91B308733DA50010E9CD /* Release */ = {
|
1DEB91B308733DA50010E9CD /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CODE_SIGN_IDENTITY = "Developer ID Application";
|
CODE_SIGN_IDENTITY = "Developer ID Application";
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
|
|
@ -1541,6 +1541,7 @@
|
||||||
1DEB91B208733DA50010E9CD /* Debug */ = {
|
1DEB91B208733DA50010E9CD /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
@ -1557,6 +1558,7 @@
|
||||||
1DEB91B308733DA50010E9CD /* Release */ = {
|
1DEB91B308733DA50010E9CD /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
|
|
@ -308,7 +308,6 @@
|
||||||
8360EF3917F92C91005208A4 /* Debug */ = {
|
8360EF3917F92C91005208A4 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
|
@ -333,7 +332,6 @@
|
||||||
8360EF3A17F92C91005208A4 /* Release */ = {
|
8360EF3A17F92C91005208A4 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
|
|
|
@ -211,7 +211,7 @@
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
@ -252,7 +252,7 @@
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
|
|
@ -256,7 +256,7 @@
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
@ -299,7 +299,7 @@
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
|
|
@ -297,6 +297,7 @@
|
||||||
730F235909181A3A00AB638C /* Debug */ = {
|
730F235909181A3A00AB638C /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
||||||
|
@ -308,6 +309,7 @@
|
||||||
730F235A09181A3A00AB638C /* Release */ = {
|
730F235A09181A3A00AB638C /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
GCC_OPTIMIZATION_LEVEL = 3;
|
GCC_OPTIMIZATION_LEVEL = 3;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
|
|
|
@ -311,7 +311,7 @@
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
@ -349,7 +349,7 @@
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
|
|
@ -1087,6 +1087,7 @@
|
||||||
1DEB91B208733DA50010E9CD /* Debug */ = {
|
1DEB91B208733DA50010E9CD /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
|
@ -1104,6 +1105,7 @@
|
||||||
1DEB91B308733DA50010E9CD /* Release */ = {
|
1DEB91B308733DA50010E9CD /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CODE_SIGN_IDENTITY = "Developer ID Application";
|
CODE_SIGN_IDENTITY = "Developer ID Application";
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
|
|
@ -804,6 +804,7 @@
|
||||||
730F23F4091827B200AB638C /* Debug */ = {
|
730F23F4091827B200AB638C /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
||||||
|
@ -815,6 +816,7 @@
|
||||||
730F23F5091827B200AB638C /* Release */ = {
|
730F23F5091827B200AB638C /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
GCC_OPTIMIZATION_LEVEL = 3;
|
GCC_OPTIMIZATION_LEVEL = 3;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
|
|
|
@ -349,6 +349,7 @@
|
||||||
1DEB91B208733DA50010E9CD /* Debug */ = {
|
1DEB91B208733DA50010E9CD /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
@ -364,6 +365,7 @@
|
||||||
1DEB91B308733DA50010E9CD /* Release */ = {
|
1DEB91B308733DA50010E9CD /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CODE_SIGN_IDENTITY = "Developer ID Application";
|
CODE_SIGN_IDENTITY = "Developer ID Application";
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
|
|
@ -262,7 +262,6 @@
|
||||||
8343784517F93CB500584396 /* Debug */ = {
|
8343784517F93CB500584396 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
|
@ -282,7 +281,6 @@
|
||||||
8343784617F93CB500584396 /* Release */ = {
|
8343784617F93CB500584396 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
|
|
|
@ -328,13 +328,13 @@ NSMutableDictionary * dictionaryWithPropertiesOfObject(id obj, NSArray * filterL
|
||||||
for (url in sortedURLs)
|
for (url in sortedURLs)
|
||||||
{
|
{
|
||||||
//Container vs non-container url
|
//Container vs non-container url
|
||||||
if ([[self acceptableContainerTypes] containsObject:[[[url path] pathExtension] lowercaseString]]) {
|
if ([[self acceptableContainerTypes] containsObject:[[url pathExtension] lowercaseString]]) {
|
||||||
[containedURLs addObjectsFromArray:[AudioContainer urlsForContainerURL:url]];
|
[containedURLs addObjectsFromArray:[AudioContainer urlsForContainerURL:url]];
|
||||||
|
|
||||||
//Make sure the container isn't added twice.
|
//Make sure the container isn't added twice.
|
||||||
[uniqueURLs addObjectsFromArray:containedURLs];
|
[uniqueURLs addObject:url];
|
||||||
}
|
}
|
||||||
else if ([[[[url path] pathExtension] lowercaseString] isEqualToString:@"xml"])
|
else if ([[[url pathExtension] lowercaseString] isEqualToString:@"xml"])
|
||||||
{
|
{
|
||||||
xmlData = [XmlContainer entriesForContainerURL:url];
|
xmlData = [XmlContainer entriesForContainerURL:url];
|
||||||
}
|
}
|
||||||
|
@ -352,9 +352,11 @@ NSMutableDictionary * dictionaryWithPropertiesOfObject(id obj, NSArray * filterL
|
||||||
{
|
{
|
||||||
if (![[AudioPlayer schemes] containsObject:[url scheme]])
|
if (![[AudioPlayer schemes] containsObject:[url scheme]])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
NSString *ext = [[url pathExtension] lowercaseString];
|
||||||
|
|
||||||
//Need a better way to determine acceptable file types than basing it on extensions.
|
//Need a better way to determine acceptable file types than basing it on extensions.
|
||||||
if ([url isFileURL] && ![[AudioPlayer fileTypes] containsObject:[[[url path] pathExtension] lowercaseString]])
|
if ([url isFileURL] && ![[AudioPlayer fileTypes] containsObject:ext])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (![uniqueURLs containsObject:url])
|
if (![uniqueURLs containsObject:url])
|
||||||
|
@ -373,7 +375,7 @@ NSMutableDictionary * dictionaryWithPropertiesOfObject(id obj, NSArray * filterL
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
//Need a better way to determine acceptable file types than basing it on extensions.
|
//Need a better way to determine acceptable file types than basing it on extensions.
|
||||||
if ([url isFileURL] && ![[AudioPlayer fileTypes] containsObject:[[[url path] pathExtension] lowercaseString]])
|
if ([url isFileURL] && ![[AudioPlayer fileTypes] containsObject:[[url pathExtension] lowercaseString]])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
[validURLs addObject:url];
|
[validURLs addObject:url];
|
||||||
|
|
|
@ -84,6 +84,10 @@
|
||||||
apl = nil;
|
apl = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
- (long)seek:(long)frame
|
- (long)seek:(long)frame
|
||||||
{
|
{
|
||||||
|
|
|
@ -326,7 +326,6 @@
|
||||||
8359FF2A17FEF35C0060F3ED /* Debug */ = {
|
8359FF2A17FEF35C0060F3ED /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "ArchiveSource/ArchiveSource-Prefix.pch";
|
GCC_PREFIX_HEADER = "ArchiveSource/ArchiveSource-Prefix.pch";
|
||||||
|
@ -343,7 +342,6 @@
|
||||||
8359FF2B17FEF35C0060F3ED /* Release */ = {
|
8359FF2B17FEF35C0060F3ED /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "ArchiveSource/ArchiveSource-Prefix.pch";
|
GCC_PREFIX_HEADER = "ArchiveSource/ArchiveSource-Prefix.pch";
|
||||||
|
|
|
@ -173,8 +173,6 @@ static BOOL g_parse_unpack_path(NSString * src, NSString ** archive, NSString **
|
||||||
|
|
||||||
- (void)setURL:(NSURL *)url
|
- (void)setURL:(NSURL *)url
|
||||||
{
|
{
|
||||||
[url retain];
|
|
||||||
[_url release];
|
|
||||||
_url = url;
|
_url = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -187,8 +185,6 @@ static BOOL g_parse_unpack_path(NSString * src, NSString ** archive, NSString **
|
||||||
- (void)dealloc {
|
- (void)dealloc {
|
||||||
[self close];
|
[self close];
|
||||||
[self setURL:nil];
|
[self setURL:nil];
|
||||||
|
|
||||||
[super dealloc];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -306,7 +306,6 @@
|
||||||
839BCFE51965133E00947767 /* Debug */ = {
|
839BCFE51965133E00947767 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "BASSMODS/BASSMODS-Prefix.pch";
|
GCC_PREFIX_HEADER = "BASSMODS/BASSMODS-Prefix.pch";
|
||||||
|
@ -327,7 +326,6 @@
|
||||||
839BCFE61965133E00947767 /* Release */ = {
|
839BCFE61965133E00947767 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
CODE_SIGN_IDENTITY = "Developer ID Application";
|
CODE_SIGN_IDENTITY = "Developer ID Application";
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
|
|
@ -235,10 +235,13 @@ static void SyncProc( HSYNC handle, DWORD channel, DWORD data, void *user )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)setSource:(id<CogSource>)s
|
- (void)setSource:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
[s retain];
|
|
||||||
[source release];
|
|
||||||
source = s;
|
source = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void) dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)open:(id<CogSource>)source;
|
- (BOOL)open:(id<CogSource>)source;
|
||||||
{
|
{
|
||||||
OSStatus err;
|
OSStatus err;
|
||||||
|
|
|
@ -119,6 +119,10 @@
|
||||||
track = nil;
|
track = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)setTrack:(NSURL *)url
|
- (BOOL)setTrack:(NSURL *)url
|
||||||
{
|
{
|
||||||
//Same file, just next track...this may be unnecessary since frame-based decoding is done now...
|
//Same file, just next track...this may be unnecessary since frame-based decoding is done now...
|
||||||
|
|
|
@ -94,7 +94,7 @@ int scanCallback(void *data, int startOrder, long length)
|
||||||
dumbfile_seek( df, 0, SEEK_SET );
|
dumbfile_seek( df, 0, SEEK_SET );
|
||||||
|
|
||||||
DUH *duh;
|
DUH *duh;
|
||||||
NSString *ext = [[[url path] pathExtension] lowercaseString];
|
NSString *ext = [[url pathExtension] lowercaseString];
|
||||||
duh = dumb_read_any_quick(df, [ext isEqualToString:@"mod"] ? 0 : 1, 0);
|
duh = dumb_read_any_quick(df, [ext isEqualToString:@"mod"] ? 0 : 1, 0);
|
||||||
|
|
||||||
dumbfile_close(df);
|
dumbfile_close(df);
|
||||||
|
|
|
@ -134,6 +134,17 @@ DUMBFILE *dumbfile_open_memory_and_free(char *data, long size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (id)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
sampptr = NULL;
|
||||||
|
dsr = NULL;
|
||||||
|
duh = NULL;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
int callbackLoop(void *data)
|
int callbackLoop(void *data)
|
||||||
{
|
{
|
||||||
long * loops = (long *) data;
|
long * loops = (long *) data;
|
||||||
|
@ -176,7 +187,7 @@ int callbackLoop(void *data)
|
||||||
|
|
||||||
dumbfile_seek( df, 0, SEEK_SET );
|
dumbfile_seek( df, 0, SEEK_SET );
|
||||||
|
|
||||||
NSString *ext = [[[[s url] path] pathExtension] lowercaseString];
|
NSString *ext = [[[s url] pathExtension] lowercaseString];
|
||||||
duh = dumb_read_any(df, [ext isEqualToString:@"mod"] ? 0 : 1, subsong);
|
duh = dumb_read_any(df, [ext isEqualToString:@"mod"] ? 0 : 1, subsong);
|
||||||
if (!duh)
|
if (!duh)
|
||||||
{
|
{
|
||||||
|
@ -339,6 +350,11 @@ int callbackLoop(void *data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)setSource:(id<CogSource>)s
|
- (void)setSource:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
source = s;
|
source = s;
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
DUH *duh;
|
DUH *duh;
|
||||||
NSString *ext = [[[url path] pathExtension] lowercaseString];
|
NSString *ext = [[url pathExtension] lowercaseString];
|
||||||
duh = dumb_read_any_quick(df, [ext isEqualToString:@"mod"] ? 0 : 1, 0);
|
duh = dumb_read_any_quick(df, [ext isEqualToString:@"mod"] ? 0 : 1, 0);
|
||||||
|
|
||||||
dumbfile_close(df);
|
dumbfile_close(df);
|
||||||
|
|
|
@ -57,6 +57,18 @@ int lockmgr_callback(void ** mutex, enum AVLockOp op)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (id)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
lastReadPacket = NULL;
|
||||||
|
lastDecodedFrame = NULL;
|
||||||
|
codecCtx = NULL;
|
||||||
|
formatCtx = NULL;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)open:(id<CogSource>)s
|
- (BOOL)open:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
int errcode, i;
|
int errcode, i;
|
||||||
|
@ -181,6 +193,11 @@ int lockmgr_callback(void ** mutex, enum AVLockOp op)
|
||||||
if (formatCtx) { avformat_close_input(&(formatCtx)); formatCtx = NULL; }
|
if (formatCtx) { avformat_close_input(&(formatCtx)); formatCtx = NULL; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (int)readAudio:(void *)buf frames:(UInt32)frames
|
- (int)readAudio:(void *)buf frames:(UInt32)frames
|
||||||
{
|
{
|
||||||
if ( totalFrames && framesRead >= totalFrames )
|
if ( totalFrames && framesRead >= totalFrames )
|
||||||
|
|
|
@ -146,8 +146,6 @@
|
||||||
|
|
||||||
- (void)setURL:(NSURL *)url
|
- (void)setURL:(NSURL *)url
|
||||||
{
|
{
|
||||||
[url retain];
|
|
||||||
[_url release];
|
|
||||||
_url = url;
|
_url = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,8 +158,6 @@
|
||||||
- (void)dealloc {
|
- (void)dealloc {
|
||||||
[self close];
|
[self close];
|
||||||
[self setURL:nil];
|
[self setURL:nil];
|
||||||
|
|
||||||
[super dealloc];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -287,6 +287,7 @@
|
||||||
1DEB913F08733D840010E9CD /* Debug */ = {
|
1DEB913F08733D840010E9CD /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
@ -302,6 +303,7 @@
|
||||||
1DEB914008733D840010E9CD /* Release */ = {
|
1DEB914008733D840010E9CD /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
CODE_SIGN_IDENTITY = "Developer ID Application";
|
CODE_SIGN_IDENTITY = "Developer ID Application";
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
|
|
@ -260,6 +260,11 @@ void ErrorCallback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorS
|
||||||
blockBuffer = NULL;
|
blockBuffer = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (long)seek:(long)sample
|
- (long)seek:(long)sample
|
||||||
{
|
{
|
||||||
if (!FLAC__stream_decoder_seek_absolute(decoder, sample))
|
if (!FLAC__stream_decoder_seek_absolute(decoder, sample))
|
||||||
|
|
|
@ -29,6 +29,15 @@ gme_err_t readCallback( void* data, void* out, long count )
|
||||||
return 0; //Return 0 for no error
|
return 0; //Return 0 for no error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (id)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
emu = NULL;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)open:(id<CogSource>)s
|
- (BOOL)open:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
[self setSource:s];
|
[self setSource:s];
|
||||||
|
@ -40,7 +49,7 @@ gme_err_t readCallback( void* data, void* out, long count )
|
||||||
|
|
||||||
gme_err_t error;
|
gme_err_t error;
|
||||||
|
|
||||||
NSString *ext = [[[[source url] path] pathExtension] lowercaseString];
|
NSString *ext = [[[source url] pathExtension] lowercaseString];
|
||||||
|
|
||||||
gme_type_t type = gme_identify_extension([ext UTF8String]);
|
gme_type_t type = gme_identify_extension([ext UTF8String]);
|
||||||
if (!type)
|
if (!type)
|
||||||
|
@ -170,6 +179,11 @@ gme_err_t readCallback( void* data, void* out, long count )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
+ (NSArray *)fileTypes
|
+ (NSArray *)fileTypes
|
||||||
{
|
{
|
||||||
return [NSArray arrayWithObjects:@"ay", @"gbs", @"hes", @"kss", @"nsf", @"nsfe", @"sap", @"sfm", @"sgc", @"spc", @"vgm", @"vgz", nil];
|
return [NSArray arrayWithObjects:@"ay", @"gbs", @"hes", @"kss", @"nsf", @"nsfe", @"sap", @"sfm", @"sgc", @"spc", @"vgm", @"vgz", nil];
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
if (![source seekable])
|
if (![source seekable])
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
NSString *ext = [[[url path] pathExtension] lowercaseString];
|
NSString *ext = [[url pathExtension] lowercaseString];
|
||||||
|
|
||||||
gme_type_t type = gme_identify_extension([ext UTF8String]);
|
gme_type_t type = gme_identify_extension([ext UTF8String]);
|
||||||
if (!type)
|
if (!type)
|
||||||
|
|
|
@ -179,6 +179,17 @@ static psf_file_callbacks source_callbacks =
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (id)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
type = 0;
|
||||||
|
emulatorCore = NULL;
|
||||||
|
emulatorExtra = NULL;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
- (NSDictionary *)metadata
|
- (NSDictionary *)metadata
|
||||||
{
|
{
|
||||||
return metadataList;
|
return metadataList;
|
||||||
|
@ -1471,6 +1482,11 @@ static int usf_info(void * context, const char * name, const char * value)
|
||||||
currentUrl = nil;
|
currentUrl = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (long)seek:(long)frame
|
- (long)seek:(long)frame
|
||||||
{
|
{
|
||||||
if (frame < framesRead || emulatorCore == NULL) {
|
if (frame < framesRead || emulatorCore == NULL) {
|
||||||
|
|
|
@ -184,6 +184,11 @@ void oneTimeInit()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
+ (NSArray *)fileTypes
|
+ (NSArray *)fileTypes
|
||||||
{
|
{
|
||||||
return [NSArray arrayWithObjects:@"hvl", @"ahx", nil];
|
return [NSArray arrayWithObjects:@"hvl", @"ahx", nil];
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
|
|
||||||
midi_container midi_file;
|
midi_container midi_file;
|
||||||
|
|
||||||
if ( !midi_processor::process_file( data, [[[url absoluteString] pathExtension] UTF8String], midi_file) )
|
if ( !midi_processor::process_file( data, [[url pathExtension] UTF8String], midi_file) )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
int track_num;
|
int track_num;
|
||||||
|
|
|
@ -175,6 +175,12 @@ mpc_bool_t CanSeekProc(mpc_reader *p_reader)
|
||||||
demux = NULL;
|
demux = NULL;
|
||||||
}
|
}
|
||||||
[source close];
|
[source close];
|
||||||
|
source = nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (long)seek:(long)sample
|
- (long)seek:(long)sample
|
||||||
|
|
|
@ -323,7 +323,6 @@
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = YES;
|
ALWAYS_SEARCH_USER_PATHS = YES;
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "Opus/Opus-Prefix.pch";
|
GCC_PREFIX_HEADER = "Opus/Opus-Prefix.pch";
|
||||||
|
@ -346,7 +345,6 @@
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = YES;
|
ALWAYS_SEARCH_USER_PATHS = YES;
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "Opus/Opus-Prefix.pch";
|
GCC_PREFIX_HEADER = "Opus/Opus-Prefix.pch";
|
||||||
|
|
|
@ -16,20 +16,20 @@
|
||||||
|
|
||||||
int sourceRead(void *_stream, unsigned char *_ptr, int _nbytes)
|
int sourceRead(void *_stream, unsigned char *_ptr, int _nbytes)
|
||||||
{
|
{
|
||||||
id source = (id)_stream;
|
id source = (__bridge id)_stream;
|
||||||
|
|
||||||
return (int) [source read:_ptr amount:_nbytes];
|
return (int) [source read:_ptr amount:_nbytes];
|
||||||
}
|
}
|
||||||
|
|
||||||
int sourceSeek(void *_stream, opus_int64 _offset, int _whence)
|
int sourceSeek(void *_stream, opus_int64 _offset, int _whence)
|
||||||
{
|
{
|
||||||
id source = (id)_stream;
|
id source = (__bridge id)_stream;
|
||||||
return ([source seek:_offset whence:_whence] ? 0 : -1);
|
return ([source seek:_offset whence:_whence] ? 0 : -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int sourceClose(void *_stream)
|
int sourceClose(void *_stream)
|
||||||
{
|
{
|
||||||
id source = (id)_stream;
|
id source = (__bridge id)_stream;
|
||||||
[source close];
|
[source close];
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -37,7 +37,7 @@ int sourceClose(void *_stream)
|
||||||
|
|
||||||
opus_int64 sourceTell(void *_stream)
|
opus_int64 sourceTell(void *_stream)
|
||||||
{
|
{
|
||||||
id source = (id)_stream;
|
id source = (__bridge id)_stream;
|
||||||
|
|
||||||
return [source tell];
|
return [source tell];
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ opus_int64 sourceTell(void *_stream)
|
||||||
|
|
||||||
- (BOOL)open:(id<CogSource>)s
|
- (BOOL)open:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
source = [s retain];
|
source = s;
|
||||||
|
|
||||||
OpusFileCallbacks callbacks = {
|
OpusFileCallbacks callbacks = {
|
||||||
.read = sourceRead,
|
.read = sourceRead,
|
||||||
|
@ -64,7 +64,7 @@ opus_int64 sourceTell(void *_stream)
|
||||||
};
|
};
|
||||||
|
|
||||||
int error;
|
int error;
|
||||||
opusRef = op_open_callbacks(source, &callbacks, NULL, 0, &error);
|
opusRef = op_open_callbacks((__bridge void *)source, &callbacks, NULL, 0, &error);
|
||||||
|
|
||||||
if (!opusRef)
|
if (!opusRef)
|
||||||
{
|
{
|
||||||
|
@ -125,7 +125,12 @@ opus_int64 sourceTell(void *_stream)
|
||||||
opusRef = NULL;
|
opusRef = NULL;
|
||||||
|
|
||||||
[source close];
|
[source close];
|
||||||
[source release];
|
source = nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (long)seek:(long)frame
|
- (long)seek:(long)frame
|
||||||
|
|
|
@ -81,6 +81,11 @@
|
||||||
shn_unload(handle);*/
|
shn_unload(handle);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (NSDictionary *)properties
|
- (NSDictionary *)properties
|
||||||
{
|
{
|
||||||
return [NSDictionary dictionaryWithObjectsAndKeys:
|
return [NSDictionary dictionaryWithObjectsAndKeys:
|
||||||
|
|
|
@ -225,7 +225,6 @@
|
||||||
83F9D7EF1A884B44007ABEC2 /* Debug */ = {
|
83F9D7EF1A884B44007ABEC2 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
INFOPLIST_FILE = SilenceDecoder/Info.plist;
|
INFOPLIST_FILE = SilenceDecoder/Info.plist;
|
||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
||||||
|
@ -240,7 +239,6 @@
|
||||||
83F9D7F01A884B44007ABEC2 /* Release */ = {
|
83F9D7F01A884B44007ABEC2 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
CODE_SIGN_IDENTITY = "Developer ID Application";
|
CODE_SIGN_IDENTITY = "Developer ID Application";
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
INFOPLIST_FILE = SilenceDecoder/Info.plist;
|
INFOPLIST_FILE = SilenceDecoder/Info.plist;
|
||||||
|
|
|
@ -79,8 +79,6 @@ enum { channels = 2 };
|
||||||
|
|
||||||
- (void)setSource:(id<CogSource>)s
|
- (void)setSource:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
[s retain];
|
|
||||||
[source release];
|
|
||||||
source = s;
|
source = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -55,8 +55,6 @@
|
||||||
|
|
||||||
- (void)setURL:(NSURL *)url
|
- (void)setURL:(NSURL *)url
|
||||||
{
|
{
|
||||||
[url retain];
|
|
||||||
[_url release];
|
|
||||||
_url = url;
|
_url = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,8 +67,6 @@
|
||||||
- (void)dealloc {
|
- (void)dealloc {
|
||||||
[self close];
|
[self close];
|
||||||
[self setURL:nil];
|
[self setURL:nil];
|
||||||
|
|
||||||
[super dealloc];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -58,6 +58,16 @@ BOOL probe_length( Song * synSong, unsigned long * intro_length, unsigned long *
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (id)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
synSong = NULL;
|
||||||
|
synPlayer = NULL;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)open:(id<CogSource>)s
|
- (BOOL)open:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
[s seek:0 whence:SEEK_END];
|
[s seek:0 whence:SEEK_END];
|
||||||
|
@ -221,6 +231,11 @@ BOOL probe_length( Song * synSong, unsigned long * intro_length, unsigned long *
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
+ (NSArray *)fileTypes
|
+ (NSArray *)fileTypes
|
||||||
{
|
{
|
||||||
return [NSArray arrayWithObjects:@"jxs", nil];
|
return [NSArray arrayWithObjects:@"jxs", nil];
|
||||||
|
|
|
@ -122,6 +122,11 @@ long sourceTell(void *datasource)
|
||||||
source = nil;
|
source = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (long)seek:(long)frame
|
- (long)seek:(long)frame
|
||||||
{
|
{
|
||||||
ov_pcm_seek(&vorbisRef, frame);
|
ov_pcm_seek(&vorbisRef, frame);
|
||||||
|
|
|
@ -85,6 +85,15 @@ int32_t WriteBytesProc(void *ds, void *data, int32_t bcount)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (id)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self)
|
||||||
|
{
|
||||||
|
wpc = NULL;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)open:(id<CogSource>)s
|
- (BOOL)open:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
|
@ -225,10 +234,18 @@ int32_t WriteBytesProc(void *ds, void *data, int32_t bcount)
|
||||||
|
|
||||||
- (void)close
|
- (void)close
|
||||||
{
|
{
|
||||||
WavpackCloseFile(wpc);
|
if (wpc) {
|
||||||
|
WavpackCloseFile(wpc);
|
||||||
|
wpc = NULL;
|
||||||
|
}
|
||||||
source = nil;
|
source = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)setSource:(id<CogSource>)s
|
- (void)setSource:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
source = s;
|
source = s;
|
||||||
|
|
|
@ -116,6 +116,16 @@ BOOL xm_probe_length( unsigned long * intro_length, unsigned long * loop_length,
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (id)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
player = NULL;
|
||||||
|
data = NULL;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)open:(id<CogSource>)s
|
- (BOOL)open:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
[s seek:0 whence:SEEK_END];
|
[s seek:0 whence:SEEK_END];
|
||||||
|
@ -343,6 +353,11 @@ BOOL xm_probe_length( unsigned long * intro_length, unsigned long * loop_length,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
+ (NSArray *)fileTypes
|
+ (NSArray *)fileTypes
|
||||||
{
|
{
|
||||||
return [NSArray arrayWithObjects:@"s3m", @"s3z", @"xm", @"xmz", @"mo3", @"umx", nil];
|
return [NSArray arrayWithObjects:@"s3m", @"s3z", @"xm", @"xmz", @"mo3", @"umx", nil];
|
||||||
|
|
|
@ -248,6 +248,11 @@ BOOL probe_length( void * ptmod, unsigned long * intro_length, unsigned long * l
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
+ (NSArray *)fileTypes
|
+ (NSArray *)fileTypes
|
||||||
{
|
{
|
||||||
return [NSArray arrayWithObjects:@"mod", @"mdz", @"stk", @"m15", @"fst", nil];
|
return [NSArray arrayWithObjects:@"mod", @"mdz", @"stk", @"m15", @"fst", nil];
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
|
|
||||||
const SidTuneInfo * info = tune->getInfo();
|
const SidTuneInfo * info = tune->getInfo();
|
||||||
|
|
||||||
n_channels = info->isStereo() ? 2 : 1;
|
n_channels = info->sidChips();
|
||||||
|
|
||||||
length = 3 * 60 * 44100;
|
length = 3 * 60 * 44100;
|
||||||
|
|
||||||
|
@ -74,9 +74,9 @@
|
||||||
|
|
||||||
SidConfig conf = engine->config();
|
SidConfig conf = engine->config();
|
||||||
conf.frequency = 44100;
|
conf.frequency = 44100;
|
||||||
conf.playback = info->isStereo() ? SidConfig::STEREO : SidConfig::MONO;
|
conf.playback = (info->sidChips() > 1) ? SidConfig::STEREO : SidConfig::MONO;
|
||||||
conf.sidEmulation = builder;
|
conf.sidEmulation = builder;
|
||||||
if (engine->config(conf) < 0)
|
if (!engine->config(conf))
|
||||||
return NO;
|
return NO;
|
||||||
|
|
||||||
renderedTotal = 0;
|
renderedTotal = 0;
|
||||||
|
@ -222,10 +222,13 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)setSource:(id<CogSource>)s
|
- (void)setSource:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
[s retain];
|
|
||||||
[source release];
|
|
||||||
source = s;
|
source = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -314,7 +314,6 @@
|
||||||
8314D6391A354DFE00EEE8E6 /* Debug */ = {
|
8314D6391A354DFE00EEE8E6 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
INFOPLIST_FILE = sidplay/Info.plist;
|
INFOPLIST_FILE = sidplay/Info.plist;
|
||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
||||||
|
@ -329,7 +328,6 @@
|
||||||
8314D63A1A354DFE00EEE8E6 /* Release */ = {
|
8314D63A1A354DFE00EEE8E6 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
CODE_SIGN_IDENTITY = "Developer ID Application";
|
CODE_SIGN_IDENTITY = "Developer ID Application";
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
INFOPLIST_FILE = sidplay/Info.plist;
|
INFOPLIST_FILE = sidplay/Info.plist;
|
||||||
|
|
|
@ -315,7 +315,6 @@
|
||||||
836F6B2318BDB80D0095E648 /* Debug */ = {
|
836F6B2318BDB80D0095E648 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "vgmstream/vgmstream-Prefix.pch";
|
GCC_PREFIX_HEADER = "vgmstream/vgmstream-Prefix.pch";
|
||||||
|
@ -338,7 +337,6 @@
|
||||||
836F6B2418BDB80D0095E648 /* Release */ = {
|
836F6B2418BDB80D0095E648 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = NO;
|
|
||||||
CODE_SIGN_IDENTITY = "Developer ID Application";
|
CODE_SIGN_IDENTITY = "Developer ID Application";
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
|
|
@ -12,23 +12,27 @@
|
||||||
|
|
||||||
typedef struct _COGSTREAMFILE {
|
typedef struct _COGSTREAMFILE {
|
||||||
STREAMFILE sf;
|
STREAMFILE sf;
|
||||||
id file;
|
void *file;
|
||||||
off_t offset;
|
off_t offset;
|
||||||
char name[PATH_LIMIT];
|
char name[PATH_LIMIT];
|
||||||
} COGSTREAMFILE;
|
} COGSTREAMFILE;
|
||||||
|
|
||||||
static void cogsf_seek(COGSTREAMFILE *this, off_t offset) {
|
static void cogsf_seek(COGSTREAMFILE *this, off_t offset) {
|
||||||
if ([this->file seek:offset whence:SEEK_SET] != 0)
|
NSObject* _file = (__bridge NSObject *)(this->file);
|
||||||
|
id<CogSource> __unsafe_unretained file = (id) _file;
|
||||||
|
if ([file seek:offset whence:SEEK_SET] != 0)
|
||||||
this->offset = offset;
|
this->offset = offset;
|
||||||
else
|
else
|
||||||
this->offset = [this->file tell];
|
this->offset = [file tell];
|
||||||
}
|
}
|
||||||
|
|
||||||
static off_t cogsf_get_size(COGSTREAMFILE *this) {
|
static off_t cogsf_get_size(COGSTREAMFILE *this) {
|
||||||
off_t offset = [this->file tell];
|
NSObject* _file = (__bridge NSObject *)(this->file);
|
||||||
[this->file seek:0 whence:SEEK_END];
|
id<CogSource> __unsafe_unretained file = (id) _file;
|
||||||
off_t size = [this->file tell];
|
off_t offset = [file tell];
|
||||||
[this->file seek:offset whence:SEEK_SET];
|
[file seek:0 whence:SEEK_END];
|
||||||
|
off_t size = [file tell];
|
||||||
|
[file seek:offset whence:SEEK_SET];
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,17 +46,19 @@ static void cogsf_get_name(COGSTREAMFILE *this, char *buffer, size_t length) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static size_t cogsf_read(COGSTREAMFILE *this, uint8_t *dest, off_t offset, size_t length) {
|
static size_t cogsf_read(COGSTREAMFILE *this, uint8_t *dest, off_t offset, size_t length) {
|
||||||
|
NSObject* _file = (__bridge NSObject *)(this->file);
|
||||||
|
id<CogSource> __unsafe_unretained file = (id) _file;
|
||||||
size_t read;
|
size_t read;
|
||||||
if (this->offset != offset)
|
if (this->offset != offset)
|
||||||
cogsf_seek(this, offset);
|
cogsf_seek(this, offset);
|
||||||
read = [this->file read:dest amount:length];
|
read = [file read:dest amount:length];
|
||||||
if (read > 0)
|
if (read > 0)
|
||||||
this->offset += read;
|
this->offset += read;
|
||||||
return read;
|
return read;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cogsf_close(COGSTREAMFILE *this) {
|
static void cogsf_close(COGSTREAMFILE *this) {
|
||||||
[this->file release];
|
CFBridgingRelease(this->file);
|
||||||
free(this);
|
free(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,7 +81,7 @@ static STREAMFILE *cogsf_create(id file, const char *path) {
|
||||||
streamfile->sf.get_realname = (void*)cogsf_get_name;
|
streamfile->sf.get_realname = (void*)cogsf_get_name;
|
||||||
streamfile->sf.open = (void*)cogsf_open;
|
streamfile->sf.open = (void*)cogsf_open;
|
||||||
streamfile->sf.close = (void*)cogsf_close;
|
streamfile->sf.close = (void*)cogsf_close;
|
||||||
streamfile->file = [file retain];
|
streamfile->file = (void*)CFBridgingRetain(file);
|
||||||
streamfile->offset = 0;
|
streamfile->offset = 0;
|
||||||
strncpy(streamfile->name, path, sizeof(streamfile->name));
|
strncpy(streamfile->name, path, sizeof(streamfile->name));
|
||||||
|
|
||||||
|
@ -210,6 +216,12 @@ err1:
|
||||||
- (void)close
|
- (void)close
|
||||||
{
|
{
|
||||||
close_vgmstream( stream );
|
close_vgmstream( stream );
|
||||||
|
stream = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[self close];
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (NSArray *)fileTypes
|
+ (NSArray *)fileTypes
|
||||||
|
|
Loading…
Reference in New Issue