MusicBrainzTrackExternalUrlProvider.cs 822 B

12345678910111213141516171819202122232425262728
  1. using System.Collections.Generic;
  2. using MediaBrowser.Controller.Entities;
  3. using MediaBrowser.Controller.Entities.Audio;
  4. using MediaBrowser.Controller.Providers;
  5. using MediaBrowser.Model.Entities;
  6. namespace MediaBrowser.Providers.Plugins.MusicBrainz;
  7. /// <summary>
  8. /// External track URLs for MusicBrainz.
  9. /// </summary>
  10. public class MusicBrainzTrackExternalUrlProvider : IExternalUrlProvider
  11. {
  12. /// <inheritdoc/>
  13. public string Name => "MusicBrainz Track";
  14. /// <inheritdoc/>
  15. public IEnumerable<string> GetExternalUrls(BaseItem item)
  16. {
  17. if (item is Audio)
  18. {
  19. if (item.TryGetProviderId(MetadataProvider.MusicBrainzTrack, out var externalId))
  20. {
  21. yield return Plugin.Instance!.Configuration.Server + $"/track/{externalId}";
  22. }
  23. }
  24. }
  25. }