jellyfin/MediaBrowser.Providers/Plugins/MusicBrainz/ExternalIds.cs

120 lines
3.8 KiB
C#
Raw Normal View History

#pragma warning disable CS1591
2020-02-22 07:04:52 +01:00
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Providers;
2020-02-27 17:43:57 +01:00
using MediaBrowser.Providers.Plugins.MusicBrainz;
2020-02-22 07:04:52 +01:00
namespace MediaBrowser.Providers.Music
{
public class MusicBrainzReleaseGroupExternalId : IExternalId
{
/// <inheritdoc />
2020-05-17 23:35:43 +02:00
public string ProviderName => "MusicBrainz";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-06-06 21:17:49 +02:00
public string Key => MetadataProvider.MusicBrainzReleaseGroup.ToString();
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
public ExternalIdMediaType? Type => ExternalIdMediaType.ReleaseGroup;
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-02-27 17:43:57 +01:00
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/release-group/{0}";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-02-27 17:43:57 +01:00
public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum;
2020-02-22 07:04:52 +01:00
}
public class MusicBrainzAlbumArtistExternalId : IExternalId
{
/// <inheritdoc />
2020-05-17 23:35:43 +02:00
public string ProviderName => "MusicBrainz";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-06-06 21:17:49 +02:00
public string Key => MetadataProvider.MusicBrainzAlbumArtist.ToString();
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
public ExternalIdMediaType? Type => ExternalIdMediaType.AlbumArtist;
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-02-27 17:43:57 +01:00
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-02-27 17:43:57 +01:00
public bool Supports(IHasProviderIds item) => item is Audio;
2020-02-22 07:04:52 +01:00
}
public class MusicBrainzAlbumExternalId : IExternalId
{
/// <inheritdoc />
2020-05-17 23:35:43 +02:00
public string ProviderName => "MusicBrainz";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-06-06 21:17:49 +02:00
public string Key => MetadataProvider.MusicBrainzAlbum.ToString();
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
public ExternalIdMediaType? Type => ExternalIdMediaType.Album;
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-02-27 17:43:57 +01:00
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/release/{0}";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-02-27 17:43:57 +01:00
public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum;
2020-02-22 07:04:52 +01:00
}
public class MusicBrainzArtistExternalId : IExternalId
{
/// <inheritdoc />
2020-05-17 23:35:43 +02:00
public string ProviderName => "MusicBrainz";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-06-06 21:17:49 +02:00
public string Key => MetadataProvider.MusicBrainzArtist.ToString();
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
public ExternalIdMediaType? Type => ExternalIdMediaType.Artist;
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-02-27 17:43:57 +01:00
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
public bool Supports(IHasProviderIds item) => item is MusicArtist;
}
public class MusicBrainzOtherArtistExternalId : IExternalId
{
/// <inheritdoc />
2020-05-17 23:35:43 +02:00
public string ProviderName => "MusicBrainz";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-06-06 21:17:49 +02:00
public string Key => MetadataProvider.MusicBrainzArtist.ToString();
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
public ExternalIdMediaType? Type => ExternalIdMediaType.OtherArtist;
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-02-27 17:43:57 +01:00
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-02-27 17:43:57 +01:00
public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum;
2020-02-22 07:04:52 +01:00
}
public class MusicBrainzTrackId : IExternalId
{
/// <inheritdoc />
2020-05-17 23:35:43 +02:00
public string ProviderName => "MusicBrainz";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-06-06 21:17:49 +02:00
public string Key => MetadataProvider.MusicBrainzTrack.ToString();
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
public ExternalIdMediaType? Type => ExternalIdMediaType.Track;
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
2020-02-27 17:43:57 +01:00
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/track/{0}";
2020-02-22 07:04:52 +01:00
/// <inheritdoc />
public bool Supports(IHasProviderIds item) => item is Audio;
}
}