ExternalIds.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #pragma warning disable CS1591
  2. using MediaBrowser.Controller.Entities.Audio;
  3. using MediaBrowser.Controller.Providers;
  4. using MediaBrowser.Model.Entities;
  5. using MediaBrowser.Providers.Plugins.MusicBrainz;
  6. namespace MediaBrowser.Providers.Music
  7. {
  8. public class MusicBrainzReleaseGroupExternalId : IExternalId
  9. {
  10. /// <inheritdoc />
  11. public string Name => "MusicBrainz Release Group";
  12. /// <inheritdoc />
  13. public string Key => MetadataProvider.MusicBrainzReleaseGroup.ToString();
  14. /// <inheritdoc />
  15. public string UrlFormatString => Plugin.Instance.Configuration.Server + "/release-group/{0}";
  16. /// <inheritdoc />
  17. public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum;
  18. }
  19. public class MusicBrainzAlbumArtistExternalId : IExternalId
  20. {
  21. /// <inheritdoc />
  22. public string Name => "MusicBrainz Album Artist";
  23. /// <inheritdoc />
  24. public string Key => MetadataProvider.MusicBrainzAlbumArtist.ToString();
  25. /// <inheritdoc />
  26. public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
  27. /// <inheritdoc />
  28. public bool Supports(IHasProviderIds item) => item is Audio;
  29. }
  30. public class MusicBrainzAlbumExternalId : IExternalId
  31. {
  32. /// <inheritdoc />
  33. public string Name => "MusicBrainz Album";
  34. /// <inheritdoc />
  35. public string Key => MetadataProvider.MusicBrainzAlbum.ToString();
  36. /// <inheritdoc />
  37. public string UrlFormatString => Plugin.Instance.Configuration.Server + "/release/{0}";
  38. /// <inheritdoc />
  39. public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum;
  40. }
  41. public class MusicBrainzArtistExternalId : IExternalId
  42. {
  43. /// <inheritdoc />
  44. public string Name => "MusicBrainz";
  45. /// <inheritdoc />
  46. public string Key => MetadataProvider.MusicBrainzArtist.ToString();
  47. /// <inheritdoc />
  48. public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
  49. /// <inheritdoc />
  50. public bool Supports(IHasProviderIds item) => item is MusicArtist;
  51. }
  52. public class MusicBrainzOtherArtistExternalId : IExternalId
  53. {
  54. /// <inheritdoc />
  55. public string Name => "MusicBrainz Artist";
  56. /// <inheritdoc />
  57. public string Key => MetadataProvider.MusicBrainzArtist.ToString();
  58. /// <inheritdoc />
  59. public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
  60. /// <inheritdoc />
  61. public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum;
  62. }
  63. public class MusicBrainzTrackId : IExternalId
  64. {
  65. /// <inheritdoc />
  66. public string Name => "MusicBrainz Track";
  67. /// <inheritdoc />
  68. public string Key => MetadataProvider.MusicBrainzTrack.ToString();
  69. /// <inheritdoc />
  70. public string UrlFormatString => Plugin.Instance.Configuration.Server + "/track/{0}";
  71. /// <inheritdoc />
  72. public bool Supports(IHasProviderIds item) => item is Audio;
  73. }
  74. }