aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/Audio
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-03-13 21:34:24 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-03-13 21:34:24 -0400
commitd683f3061979d786efc574f1073af4e77da11772 (patch)
tree85546503b9b6065d24df4d7cc4065e4c560d2184 /MediaBrowser.Controller/Entities/Audio
parent749037eb4a73c9ae4b66c787a381737427dd6eca (diff)
update music user data key
Diffstat (limited to 'MediaBrowser.Controller/Entities/Audio')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/Audio.cs25
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs23
2 files changed, 46 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs
index 766f1e5ed..dc37dccea 100644
--- a/MediaBrowser.Controller/Entities/Audio/Audio.cs
+++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs
@@ -153,6 +153,31 @@ namespace MediaBrowser.Controller.Entities.Audio
/// <returns>System.String.</returns>
protected override string CreateUserDataKey()
{
+ if (ConfigurationManager.Configuration.EnableStandaloneMusicKeys)
+ {
+ var songKey = IndexNumber.HasValue ? IndexNumber.Value.ToString("0000") : string.Empty;
+
+
+ if (ParentIndexNumber.HasValue)
+ {
+ songKey = ParentIndexNumber.Value.ToString("0000") + "-" + songKey;
+ }
+ songKey+= Name;
+
+ if (!string.IsNullOrWhiteSpace(Album))
+ {
+ songKey = Album + "-" + songKey;
+ }
+
+ var albumArtist = AlbumArtists.FirstOrDefault();
+ if (!string.IsNullOrWhiteSpace(albumArtist))
+ {
+ songKey = albumArtist + "-" + songKey;
+ }
+
+ return songKey;
+ }
+
var parent = AlbumEntity;
if (parent != null)
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
index c5ce6a2f7..e6178c183 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
@@ -34,7 +34,17 @@ namespace MediaBrowser.Controller.Entities.Audio
{
get
{
- return GetParents().OfType<MusicArtist>().FirstOrDefault();
+ var artist = GetParents().OfType<MusicArtist>().FirstOrDefault();
+
+ if (artist == null)
+ {
+ var name = AlbumArtist;
+ if (!string.IsNullOrWhiteSpace(name))
+ {
+ artist = LibraryManager.GetArtist(name);
+ }
+ }
+ return artist;
}
}
@@ -106,6 +116,15 @@ namespace MediaBrowser.Controller.Entities.Audio
return "MusicAlbum-Musicbrainz-" + id;
}
+ if (ConfigurationManager.Configuration.EnableStandaloneMusicKeys)
+ {
+ var albumArtist = AlbumArtist;
+ if (!string.IsNullOrWhiteSpace(albumArtist))
+ {
+ return albumArtist + "-" + Name;
+ }
+ }
+
return base.CreateUserDataKey();
}
@@ -125,7 +144,7 @@ namespace MediaBrowser.Controller.Entities.Audio
id.AlbumArtists = AlbumArtists;
- var artist = GetParents().OfType<MusicArtist>().FirstOrDefault();
+ var artist = MusicArtist;
if (artist != null)
{