Fixed file types for multi-track game music files.
parent
1889973c74
commit
8d74a3ccef
|
@ -15,17 +15,8 @@
|
||||||
|
|
||||||
+ (NSArray *)fileTypes
|
+ (NSArray *)fileTypes
|
||||||
{
|
{
|
||||||
NSMutableArray *types = [NSMutableArray array];
|
//There doesn't seem to be a way to get this list. These are the only multitrack types.
|
||||||
gme_type_t const* type = gme_type_list();
|
return [NSArray arrayWithObjects:@"ay", @"gbs", @"nsf", @"nsfe", @"sap", nil];
|
||||||
while(*type)
|
|
||||||
{
|
|
||||||
//We're digging a little deep here, but there seems to be no other choice.
|
|
||||||
[types addObject:[NSString stringWithCString:(*type)->extension_ encoding: NSASCIIStringEncoding]];
|
|
||||||
|
|
||||||
type++;
|
|
||||||
}
|
|
||||||
|
|
||||||
return [[types copy] autorelease];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (NSArray *)mimeTypes
|
+ (NSArray *)mimeTypes
|
||||||
|
@ -37,7 +28,7 @@
|
||||||
+ (NSArray *)urlsForContainerURL:(NSURL *)url
|
+ (NSArray *)urlsForContainerURL:(NSURL *)url
|
||||||
{
|
{
|
||||||
if (![url isFileURL]) {
|
if (![url isFileURL]) {
|
||||||
return [NSArray array];
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
gme_err_t error;
|
gme_err_t error;
|
||||||
|
@ -45,12 +36,6 @@
|
||||||
error = gme_open_file([[url path] UTF8String], &emu, 44100);
|
error = gme_open_file([[url path] UTF8String], &emu, 44100);
|
||||||
int track_count = gme_track_count(emu);
|
int track_count = gme_track_count(emu);
|
||||||
|
|
||||||
//If there is only one track, we shouldn't append the #
|
|
||||||
if (track_count == 1) {
|
|
||||||
NSLog(@"Track count is 1...%@", url);
|
|
||||||
return [NSArray arrayWithObject:url];
|
|
||||||
}
|
|
||||||
|
|
||||||
NSMutableArray *tracks = [NSMutableArray array];
|
NSMutableArray *tracks = [NSMutableArray array];
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#import "GameDecoder.h"
|
#import "GameDecoder.h"
|
||||||
#import "GameContainer.h"
|
|
||||||
|
|
||||||
@implementation GameDecoder
|
@implementation GameDecoder
|
||||||
|
|
||||||
|
@ -158,12 +157,22 @@ gme_err_t readCallback( void* data, void* out, long count )
|
||||||
|
|
||||||
+ (NSArray *)fileTypes
|
+ (NSArray *)fileTypes
|
||||||
{
|
{
|
||||||
return [GameContainer fileTypes];
|
NSMutableArray *types = [NSMutableArray array];
|
||||||
|
gme_type_t const* type = gme_type_list();
|
||||||
|
while(*type)
|
||||||
|
{
|
||||||
|
//We're digging a little deep here, but there seems to be no other choice.
|
||||||
|
[types addObject:[NSString stringWithCString:(*type)->extension_ encoding: NSASCIIStringEncoding]];
|
||||||
|
|
||||||
|
type++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return [[types copy] autorelease];
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (NSArray *)mimeTypes
|
+ (NSArray *)mimeTypes
|
||||||
{
|
{
|
||||||
return [GameContainer fileTypes];
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setSource:(id<CogSource>)s
|
- (void)setSource:(id<CogSource>)s
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
#import "GameMetadataReader.h"
|
#import "GameMetadataReader.h"
|
||||||
|
|
||||||
#import "GameContainer.h"
|
#import "GameDecoder.h"
|
||||||
|
|
||||||
#import <GME/gme.h>
|
#import <GME/gme.h>
|
||||||
|
|
||||||
|
@ -16,12 +16,12 @@
|
||||||
|
|
||||||
+ (NSArray *)fileTypes
|
+ (NSArray *)fileTypes
|
||||||
{
|
{
|
||||||
return [GameContainer fileTypes];
|
return [GameDecoder fileTypes];
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (NSArray *)mimeTypes
|
+ (NSArray *)mimeTypes
|
||||||
{
|
{
|
||||||
return [GameContainer mimeTypes];
|
return [GameDecoder mimeTypes];
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (NSDictionary *)metadataForURL:(NSURL *)url
|
+ (NSDictionary *)metadataForURL:(NSURL *)url
|
||||||
|
|
Loading…
Reference in New Issue