public static async Task LoadFromItem(this NSImageView imageView, MediaItemBase item, float imageWidth, NSImage defaultImage = null)
        {
            try{
                if (defaultImage == null)
                {
                    defaultImage = Images.GetDefaultAlbumArt(imageWidth);
                }
                if (imageView.Identifier != item?.Id)
                {
                    imageView.Image = defaultImage;
                }
                if (item == null)
                {
                    return;
                }
                imageView.Identifier = item.Id;
                var image = await item.GetLocalImage(imageWidth);

                if (imageView.Identifier != item.Id)
                {
                    return;
                }
                if (image != null)
                {
                    imageView.Image = image;
                }
                else
                {
                    var artUrl = await ArtworkManager.Shared.GetArtwork(item);

                    if (imageView.Identifier != item.Id)
                    {
                        return;
                    }

                    if (string.IsNullOrWhiteSpace(artUrl))
                    {
                        return;
                    }
                    imageView.SetImage(new NSUrl(artUrl));
                }
            }
            catch (Exception ex) {
                Console.WriteLine(ex);
            }
        }
 public static async Task LoadFromUrl(this NSImageView imageView, string url, NSImage defaultImage = null)
 {
     try{
         if (imageView.Identifier != url)
         {
             imageView.Image = defaultImage;
         }
         var width = (float)imageView.Bounds.Width;
         if (!string.IsNullOrWhiteSpace(url))
         {
             imageView.Identifier = url;
             imageView.SetImage(new NSUrl(url));
         }
     }
     catch (Exception ex) {
         Console.WriteLine(ex);
     }
 }