MusicExternalIds.cs 2.9 KB

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