2022-06-30 19:57:51 -04:00
|
|
|
//
|
|
|
|
// ContainedNode.m
|
|
|
|
// Cog
|
|
|
|
//
|
|
|
|
// Created by Vincent Spader on 10/15/07.
|
|
|
|
// Copyright 2007 __MyCompanyName__. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
#import "ContainedNode.h"
|
|
|
|
#import "CogAudio/AudioMetadataReader.h"
|
|
|
|
|
|
|
|
@implementation ContainedNode
|
|
|
|
|
|
|
|
- (BOOL)isLeaf {
|
|
|
|
return YES;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)setURL:(NSURL *)u {
|
|
|
|
[super setURL:u];
|
|
|
|
|
|
|
|
if([u fragment]) {
|
|
|
|
NSDictionary *metadata = [AudioMetadataReader metadataForURL:u];
|
|
|
|
NSString *title = nil;
|
|
|
|
NSString *artist = nil;
|
|
|
|
if(metadata) {
|
2025-01-03 06:19:24 -03:00
|
|
|
id _title = [metadata valueForKey:@"title"];
|
|
|
|
id _artist = [metadata valueForKey:@"artist"];
|
|
|
|
|
|
|
|
if([_title isKindOfClass:[NSArray class]]) {
|
|
|
|
NSArray *titlearray = _title;
|
|
|
|
title = [titlearray componentsJoinedByString:@", "];
|
|
|
|
} else if([_title isKindOfClass:[NSString class]]) {
|
|
|
|
title = _title;
|
|
|
|
} else if([_title isKindOfClass:[NSNumber class]]) {
|
|
|
|
NSNumber *titlenumber = _title;
|
|
|
|
title = [NSString stringWithFormat:@"%@", titlenumber];
|
|
|
|
}
|
|
|
|
|
|
|
|
if([_artist isKindOfClass:[NSArray class]]) {
|
|
|
|
NSArray *artistarray = _artist;
|
|
|
|
artist = [artistarray componentsJoinedByString:@", "];
|
|
|
|
} else if([_artist isKindOfClass:[NSString class]]) {
|
|
|
|
artist = _artist;
|
|
|
|
} else if([_artist isKindOfClass:[NSNumber class]]) {
|
|
|
|
NSNumber *artistnumber = _artist;
|
|
|
|
artist = [NSString stringWithFormat:@"%@", artistnumber];
|
|
|
|
}
|
2022-06-30 19:57:51 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
if(title && [title length]) {
|
|
|
|
if(artist && [artist length]) {
|
|
|
|
display = [[u fragment] stringByAppendingFormat:@": %@ - %@", artist, title];
|
|
|
|
} else {
|
|
|
|
display = [[u fragment] stringByAppendingFormat:@": %@", title];
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
display = [u fragment];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@end
|