From 8c4f5fa41cf884f3b7ecb9d7db81067795a27f6f Mon Sep 17 00:00:00 2001 From: vspader Date: Sat, 13 Oct 2007 01:36:42 +0000 Subject: [PATCH] Forgot cuesheet metadata reader files. --- Plugins/CueSheet/CueSheetMetadataReader.h | 17 ++++++++ Plugins/CueSheet/CueSheetMetadataReader.m | 52 +++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 Plugins/CueSheet/CueSheetMetadataReader.h create mode 100644 Plugins/CueSheet/CueSheetMetadataReader.m diff --git a/Plugins/CueSheet/CueSheetMetadataReader.h b/Plugins/CueSheet/CueSheetMetadataReader.h new file mode 100644 index 000000000..ee85b7fee --- /dev/null +++ b/Plugins/CueSheet/CueSheetMetadataReader.h @@ -0,0 +1,17 @@ +// +// CueSheetMetadataReader.h +// CueSheet +// +// Created by Vincent Spader on 10/12/07. +// Copyright 2007 __MyCompanyName__. All rights reserved. +// + +#import + +#import "Plugin.h" + +@interface CueSheetMetadataReader : NSObject { + +} + +@end diff --git a/Plugins/CueSheet/CueSheetMetadataReader.m b/Plugins/CueSheet/CueSheetMetadataReader.m new file mode 100644 index 000000000..232a7b853 --- /dev/null +++ b/Plugins/CueSheet/CueSheetMetadataReader.m @@ -0,0 +1,52 @@ +// +// CueSheetMetadataReader.m +// CueSheet +// +// Created by Vincent Spader on 10/12/07. +// Copyright 2007 __MyCompanyName__. All rights reserved. +// + +#import "CueSheetMetadataReader.h" +#import "CueSheetDecoder.h" + +#import "CueSheet.h" +#import "CueSheetTrack.h" + +@implementation CueSheetMetadataReader + ++ (NSArray *)fileTypes +{ + return [CueSheetDecoder fileTypes]; +} + ++ (NSDictionary *)metadataForURL:(NSURL *)url +{ + if (![url isFileURL]) { + return nil; + } + + CueSheet *cuesheet = [CueSheet cueSheetWithFile:[url path]]; + + NSArray *tracks = [cuesheet tracks]; + CueSheetTrack *track; + NSEnumerator *e = [tracks objectEnumerator]; + while (track = [e nextObject]) + { + if ([[url fragment] isEqualToString:[track track]]) + { + return [NSDictionary dictionaryWithObjectsAndKeys: + [track artist], @"artist", + [track album], @"album", + [track title], @"title", + [track track], @"track", + [track genre], @"genre", + [track year], @"year", + nil]; + + } + } + + return nil; +} + +@end