using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; namespace MediaBrowser.Providers.Music { public class MusicBrainzReleaseGroupExternalId : IExternalId { /// public string Name => "MusicBrainz Release Group"; /// public string Key => MetadataProviders.MusicBrainzReleaseGroup.ToString(); /// public string UrlFormatString => "https://musicbrainz.org/release-group/{0}"; /// public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum; } public class MusicBrainzAlbumArtistExternalId : IExternalId { /// public string Name => "MusicBrainz Album Artist"; /// public string Key => MetadataProviders.MusicBrainzAlbumArtist.ToString(); /// public string UrlFormatString => "https://musicbrainz.org/artist/{0}"; /// public bool Supports(IHasProviderIds item) => item is Audio; } public class MusicBrainzAlbumExternalId : IExternalId { /// public string Name => "MusicBrainz Album"; /// public string Key => MetadataProviders.MusicBrainzAlbum.ToString(); /// public string UrlFormatString => "https://musicbrainz.org/release/{0}"; /// public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum; } public class MusicBrainzArtistExternalId : IExternalId { /// public string Name => "MusicBrainz"; /// public string Key => MetadataProviders.MusicBrainzArtist.ToString(); /// public string UrlFormatString => "https://musicbrainz.org/artist/{0}"; /// public bool Supports(IHasProviderIds item) => item is MusicArtist; } public class MusicBrainzOtherArtistExternalId : IExternalId { /// public string Name => "MusicBrainz Artist"; /// public string Key => MetadataProviders.MusicBrainzArtist.ToString(); /// public string UrlFormatString => "https://musicbrainz.org/artist/{0}"; /// public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum; } public class MusicBrainzTrackId : IExternalId { /// public string Name => "MusicBrainz Track"; /// public string Key => MetadataProviders.MusicBrainzTrack.ToString(); /// public string UrlFormatString => "https://musicbrainz.org/track/{0}"; /// public bool Supports(IHasProviderIds item) => item is Audio; } public class ImvdbId : IExternalId { /// public string Name => "IMVDb"; /// public string Key => "IMVDb"; /// public string UrlFormatString => null; /// public bool Supports(IHasProviderIds item) => item is MusicVideo; } }