1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
--- src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs 2008-10-06 10:27:31.000000000 -0600
+++ src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs.new 2008-12-05 16:01:22.513964625 -0700
@@ -130,7 +130,7 @@
track.ArtistName = Choose (file.Tag.JoinedPerformers, track.ArtistName, preferTrackInfo);
track.AlbumTitle = Choose (file.Tag.Album, track.AlbumTitle, preferTrackInfo);
track.AlbumArtist = Choose (file.Tag.FirstAlbumArtist, track.AlbumArtist, preferTrackInfo);
- track.IsCompilation = IsCompilation (file.Tag);
+ track.IsCompilation = IsCompilation (file);
track.TrackTitle = Choose (file.Tag.Title, track.TrackTitle, preferTrackInfo);
track.Genre = Choose (file.Tag.FirstGenre, track.Genre, preferTrackInfo);
@@ -171,18 +171,18 @@
// TODO these ideas could also be done in an extension that collects such hacks
}
- private static bool IsCompilation (TagLib.Tag tag)
+ private static bool IsCompilation (TagLib.File file)
{
- TagLib.Id3v2.Tag id3v2_tag = tag as TagLib.Id3v2.Tag;
+ TagLib.Id3v2.Tag id3v2_tag = file.GetTag(TagLib.TagTypes.Id3v2, true) as TagLib.Id3v2.Tag;
if (id3v2_tag != null && id3v2_tag.IsCompilation)
return true;
- TagLib.Mpeg4.AppleTag apple_tag = tag as TagLib.Mpeg4.AppleTag;
+ TagLib.Mpeg4.AppleTag apple_tag = file.GetTag(TagLib.TagTypes.Apple,true) as TagLib.Mpeg4.AppleTag;
if (apple_tag != null && apple_tag.IsCompilation)
return true;
- if (tag.Performers.Length > 0 && tag.AlbumArtists.Length > 0 &&
- (tag.Performers.Length != tag.AlbumArtists.Length || tag.FirstAlbumArtist != tag.FirstPerformer)) {
+ if (file.Tag.Performers.Length > 0 && file.Tag.AlbumArtists.Length > 0 &&
+ (file.Tag.Performers.Length != file.Tag.AlbumArtists.Length || file.Tag.FirstAlbumArtist != file.Tag.FirstPerformer)) {
return true;
}
return false;
|