ExternalIds.cs 3.1 KB

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