aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/Audio.cs25
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs23
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs8
3 files changed, 54 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)
{
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index 749d562ac..6f99e77ec 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -6,6 +6,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
+using System.Runtime.Serialization;
using System.Threading;
using System.Threading.Tasks;
using CommonIO;
@@ -85,6 +86,13 @@ namespace MediaBrowser.Controller.Entities.Movies
/// <value>The name of the TMDB collection.</value>
public string TmdbCollectionName { get; set; }
+ [IgnoreDataMember]
+ public string CollectionName
+ {
+ get { return TmdbCollectionName; }
+ set { TmdbCollectionName = value; }
+ }
+
/// <summary>
/// Gets the trailer ids.
/// </summary>