2019-01-13 20:03:10 +00:00
|
|
|
using MediaBrowser.Controller.Entities;
|
2019-01-13 19:26:31 +00:00
|
|
|
using MediaBrowser.Controller.Entities.Audio;
|
2014-02-21 18:48:15 +00:00
|
|
|
using MediaBrowser.Controller.Providers;
|
|
|
|
using MediaBrowser.Model.Entities;
|
|
|
|
|
|
|
|
namespace MediaBrowser.Providers.Music
|
|
|
|
{
|
|
|
|
public class MusicBrainzReleaseGroupExternalId : IExternalId
|
|
|
|
{
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Name => "MusicBrainz Release Group";
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Key => MetadataProviders.MusicBrainzReleaseGroup.ToString();
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string UrlFormatString => "https://musicbrainz.org/release-group/{0}";
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2014-02-21 18:48:15 +00:00
|
|
|
public bool Supports(IHasProviderIds item)
|
2019-09-10 20:37:53 +00:00
|
|
|
=> item is Audio || item is MusicAlbum;
|
2014-02-21 18:48:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public class MusicBrainzAlbumArtistExternalId : IExternalId
|
|
|
|
{
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Name => "MusicBrainz Album Artist";
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Key => MetadataProviders.MusicBrainzAlbumArtist.ToString();
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string UrlFormatString => "https://musicbrainz.org/artist/{0}";
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2014-02-21 18:48:15 +00:00
|
|
|
public bool Supports(IHasProviderIds item)
|
2019-09-10 20:37:53 +00:00
|
|
|
=> item is Audio;
|
2014-02-21 18:48:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public class MusicBrainzAlbumExternalId : IExternalId
|
|
|
|
{
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Name => "MusicBrainz Album";
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Key => MetadataProviders.MusicBrainzAlbum.ToString();
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string UrlFormatString => "https://musicbrainz.org/release/{0}";
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2014-02-21 18:48:15 +00:00
|
|
|
public bool Supports(IHasProviderIds item)
|
2019-09-10 20:37:53 +00:00
|
|
|
=> item is Audio || item is MusicAlbum;
|
2014-02-21 18:48:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public class MusicBrainzArtistExternalId : IExternalId
|
|
|
|
{
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Name => "MusicBrainz";
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Key => MetadataProviders.MusicBrainzArtist.ToString();
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string UrlFormatString => "https://musicbrainz.org/artist/{0}";
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
|
|
|
public bool Supports(IHasProviderIds item) => item is MusicArtist;
|
2014-02-21 18:48:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public class MusicBrainzOtherArtistExternalId : IExternalId
|
|
|
|
{
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Name => "MusicBrainz Artist";
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
|
|
|
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Key => MetadataProviders.MusicBrainzArtist.ToString();
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string UrlFormatString => "https://musicbrainz.org/artist/{0}";
|
2014-02-21 18:48:15 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2014-02-21 18:48:15 +00:00
|
|
|
public bool Supports(IHasProviderIds item)
|
2019-09-10 20:37:53 +00:00
|
|
|
=> item is Audio || item is MusicAlbum;
|
2014-02-21 18:48:15 +00:00
|
|
|
}
|
2015-01-27 22:45:59 +00:00
|
|
|
|
|
|
|
public class MusicBrainzTrackId : IExternalId
|
|
|
|
{
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Name => "MusicBrainz Track";
|
2015-01-27 22:45:59 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Key => MetadataProviders.MusicBrainzTrack.ToString();
|
2015-01-27 22:45:59 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string UrlFormatString => "https://musicbrainz.org/track/{0}";
|
2015-01-27 22:45:59 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
|
|
|
public bool Supports(IHasProviderIds item) => item is Audio;
|
2015-01-27 22:45:59 +00:00
|
|
|
}
|
2018-09-12 17:26:21 +00:00
|
|
|
|
|
|
|
public class ImvdbId : IExternalId
|
|
|
|
{
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Name => "IMVDb";
|
2018-09-12 17:26:21 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string Key => "IMVDb";
|
2018-09-12 17:26:21 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2019-01-13 20:31:14 +00:00
|
|
|
public string UrlFormatString => null;
|
2018-09-12 17:26:21 +00:00
|
|
|
|
2019-09-10 20:37:53 +00:00
|
|
|
/// <inheritdoc />
|
2018-09-12 17:26:21 +00:00
|
|
|
public bool Supports(IHasProviderIds item)
|
2019-09-10 20:37:53 +00:00
|
|
|
=> item is MusicVideo;
|
2018-09-12 17:26:21 +00:00
|
|
|
}
|
2014-02-21 18:48:15 +00:00
|
|
|
}
|