示例#1
0
        public bool ContainsArtworkFor(ILibraryEntry entry)
        {
            if (!LibraryArtworkLoader.HasValidArtworkKey(entry))
            {
                return(false);
            }

            return(_artwork.ContainsKey(LibraryArtworkLoader.GetArtworkKey(entry)));
        }
        protected LibraryManager()
        {
            this.Status = "Please load library instance";

            this.OpenDirectoryCommand = ReactiveCommand.Create(async() =>
            {
                var dialog = new OpenFolderDialog();

                var result = await dialog.ShowAsync(App.MainWindow);

                if (string.IsNullOrEmpty(result))
                {
                    return;
                }

                this.Status = "Scanning library files...";

                // Scan files and create library
                var libraryFile = await Task.Run(() =>
                {
                    var directories = new string[] { result };

                    return(LibraryLoader.Load(directories));
                });

                // Load Library from library file
                this.Library = new Library(libraryFile);

                this.Status = "Searching for album artwork...";

                // Resolve artwork
                var libraryFileWithArtwork = await Task.Run(() =>
                {
                    LibraryArtworkLoader.Load(libraryFile);

                    return(libraryFile);
                });

                // Load Library from library file
                this.Library = new Library(libraryFileWithArtwork);

                this.Status = "Library Ready!";
            });
        }
示例#3
0
 public SerializableBitmap GetArtwork(ILibraryEntry entry)
 {
     return(_artwork[LibraryArtworkLoader.GetArtworkKey(entry)]);
 }