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