コード例 #1
0
 public static void UpdateReleaseThumbnail(Release release, ICollectionImageHandler imageHandler)
 {
     Image mainImage = release.Images.FirstOrDefault(i => i.IsMain);
     if (mainImage != null)
     {
         byte[] thumbnail = null;
         string thumbExtension = null, thumbMimeType = null;
         thumbnail = ThumbnailGenerator.CreateThumbnail(
                       imageHandler.LoadImage(mainImage),
                       MusicDatabase.Engine.Entities.Release.ThumbnailSize,
                       out thumbExtension,
                       out thumbMimeType);
         release.Thumbnail = thumbnail;
         Assert.IsTrue(thumbMimeType == MusicDatabase.Engine.Entities.Release.ThumbnailMimeType);
     }
     else
     {
         release.Thumbnail = null;
     }
 }
コード例 #2
0
        public static void UpdateReleaseThumbnail(Release release, ICollectionImageHandler imageHandler)
        {
            Image mainImage = release.Images.FirstOrDefault(i => i.IsMain);

            if (mainImage != null)
            {
                byte[] thumbnail = null;
                string thumbExtension = null, thumbMimeType = null;
                thumbnail = ThumbnailGenerator.CreateThumbnail(
                    imageHandler.LoadImage(mainImage),
                    MusicDatabase.Engine.Entities.Release.ThumbnailSize,
                    out thumbExtension,
                    out thumbMimeType);
                release.Thumbnail = thumbnail;
                Assert.IsTrue(thumbMimeType == MusicDatabase.Engine.Entities.Release.ThumbnailMimeType);
            }
            else
            {
                release.Thumbnail = null;
            }
        }
コード例 #3
0
        public void LoadDataFromRelease(Release release, ICollectionImageHandler imageHandler)
        {
            if (release.DiscCount != this.DatabaseRelease.DiscCount || release.Tracklist.Count != this.DatabaseRelease.Tracklist.Count)
            {
                Dialogs.Error("Tracklists do not match. Can not continue.");
                return;
            }

            this.DatabaseRelease.AdditionalFiles.Clear();
            this.DatabaseRelease.AdditionalFiles.AddRange(release.AdditionalFiles);

            this.DatabaseRelease.Artists.Clear();
            this.DatabaseRelease.Artists.AddRange(release.Artists.Select(ra => new ReleaseArtist()
            {
                Artist     = this.CollectionManager.GetOrCreateArtist(ra.Artist.Name),
                JoinString = ra.JoinString
            }));

            this.DatabaseRelease.CatalogNumber = release.CatalogNumber;
            this.DatabaseRelease.Country       = release.Country;
            //this.DatabaseRelease.DateAdded = release.DateAdded;
            //this.DatabaseRelease.DateModified = release.DateModified;
            //this.DatabaseRelease.DateAudioModified = release.DateAudioModified;
            this.DatabaseRelease.DiscogsReleaseId    = release.DiscogsReleaseId;
            this.DatabaseRelease.DiscogsMasterId     = release.DiscogsMasterId;
            this.DatabaseRelease.FlagMessage         = release.FlagMessage;
            this.DatabaseRelease.Genre               = release.Genre;
            this.DatabaseRelease.IsFlagged           = release.IsFlagged;
            this.DatabaseRelease.JoinedAlbumArtists  = release.JoinedAlbumArtists;
            this.DatabaseRelease.Label               = release.Label;
            this.DatabaseRelease.Notes               = release.Notes;
            this.DatabaseRelease.WikipediaPageName   = release.WikipediaPageName;
            this.DatabaseRelease.OriginalReleaseDate = release.OriginalReleaseDate;
            this.DatabaseRelease.ReleaseDate         = release.ReleaseDate;
            this.DatabaseRelease.Title               = release.Title;

            this.additionalFilesEditor.Release = null;
            this.additionalFilesEditor.Release = this.DatabaseRelease;

            this.DatabaseRelease.Images.Clear();
            this.imagesEditor.Release = null;
            this.imagesEditor.Release = this.DatabaseRelease;
            foreach (var image in release.Images)
            {
                var newImage = new MusicDatabase.Engine.Entities.Image()
                {
                    Description = image.Description,
                    Extension   = image.Extension,
                    IsMain      = image.IsMain,
                    MimeType    = image.MimeType,
                    Type        = image.Type
                };
                this.DatabaseRelease.Images.Add(newImage);
                this.imagesEditor.AddImage(newImage, imageHandler.LoadImage(image));
            }

            for (int i = 0; i < release.Tracklist.Count; ++i)
            {
                this.DatabaseRelease.Tracklist[i].Artists.Clear();
                this.DatabaseRelease.Tracklist[i].Artists.AddRange(release.Tracklist[i].Artists.Select(a => new TrackArtist()
                {
                    Artist     = this.CollectionManager.GetOrCreateArtist(a.Artist.Name),
                    JoinString = a.JoinString
                }));
                this.DatabaseRelease.Tracklist[i].JoinedArtists = release.Tracklist[i].JoinedArtists;
                this.DatabaseRelease.Tracklist[i].Title         = release.Tracklist[i].Title;
            }

            this.detailsEditor.Release = null;
            this.detailsEditor.Release = this.DatabaseRelease;
            this.RefreshAllDiscs();
        }
コード例 #4
0
        public void LoadDataFromRelease(Release release, ICollectionImageHandler imageHandler)
        {
            if (release.DiscCount != this.DatabaseRelease.DiscCount || release.Tracklist.Count != this.DatabaseRelease.Tracklist.Count)
            {
                Dialogs.Error("Tracklists do not match. Can not continue.");
                return;
            }

            this.DatabaseRelease.AdditionalFiles.Clear();
            this.DatabaseRelease.AdditionalFiles.AddRange(release.AdditionalFiles);

            this.DatabaseRelease.Artists.Clear();
            this.DatabaseRelease.Artists.AddRange(release.Artists.Select(ra => new ReleaseArtist()
            {
                Artist = this.CollectionManager.GetOrCreateArtist(ra.Artist.Name),
                JoinString = ra.JoinString
            }));

            this.DatabaseRelease.CatalogNumber = release.CatalogNumber;
            this.DatabaseRelease.Country = release.Country;
            //this.DatabaseRelease.DateAdded = release.DateAdded;
            //this.DatabaseRelease.DateModified = release.DateModified;
            //this.DatabaseRelease.DateAudioModified = release.DateAudioModified;
            this.DatabaseRelease.DiscogsReleaseId = release.DiscogsReleaseId;
            this.DatabaseRelease.DiscogsMasterId = release.DiscogsMasterId;
            this.DatabaseRelease.FlagMessage = release.FlagMessage;
            this.DatabaseRelease.Genre = release.Genre;
            this.DatabaseRelease.IsFlagged = release.IsFlagged;
            this.DatabaseRelease.JoinedAlbumArtists = release.JoinedAlbumArtists;
            this.DatabaseRelease.Label = release.Label;
            this.DatabaseRelease.Notes = release.Notes;
            this.DatabaseRelease.WikipediaPageName = release.WikipediaPageName;
            this.DatabaseRelease.OriginalReleaseDate = release.OriginalReleaseDate;
            this.DatabaseRelease.ReleaseDate = release.ReleaseDate;
            this.DatabaseRelease.Title = release.Title;

            this.additionalFilesEditor.Release = null;
            this.additionalFilesEditor.Release = this.DatabaseRelease;

            this.DatabaseRelease.Images.Clear();
            this.imagesEditor.Release = null;
            this.imagesEditor.Release = this.DatabaseRelease;
            foreach (var image in release.Images)
            {
                var newImage = new MusicDatabase.Engine.Entities.Image()
                {
                    Description = image.Description,
                    Extension = image.Extension,
                    IsMain = image.IsMain,
                    MimeType = image.MimeType,
                    Type = image.Type
                };
                this.DatabaseRelease.Images.Add(newImage);
                this.imagesEditor.AddImage(newImage, imageHandler.LoadImage(image));
            }

            for (int i = 0; i < release.Tracklist.Count; ++i)
            {
                this.DatabaseRelease.Tracklist[i].Artists.Clear();
                this.DatabaseRelease.Tracklist[i].Artists.AddRange(release.Tracklist[i].Artists.Select(a => new TrackArtist()
                {
                    Artist = this.CollectionManager.GetOrCreateArtist(a.Artist.Name),
                    JoinString = a.JoinString
                }));
                this.DatabaseRelease.Tracklist[i].JoinedArtists = release.Tracklist[i].JoinedArtists;
                this.DatabaseRelease.Tracklist[i].Title = release.Tracklist[i].Title;
            }

            this.detailsEditor.Release = null;
            this.detailsEditor.Release = this.DatabaseRelease;
            this.RefreshAllDiscs();
        }