Esempio n. 1
0
        public List <Track> GenerateTracklistForLocalAlbum(ICollectionManager collectionManager, LocalAlbum album, Release release)
        {
            List <Track> list = new List <Track>();

            foreach (LocalDisc disc in album.Discs)
            {
                bool hasTrackArtists = disc.Tracks.Any(t => t.Artist != disc.Tracks[0].Artist);

                foreach (TrackInfoCache localTrack in disc.Tracks)
                {
                    Track track = new Track()
                    {
                        Disc             = localTrack.Disc,
                        Position         = localTrack.Track,
                        Title            = localTrack.Title,
                        RelativeFilename = localTrack.RelativeFilename
                    };
                    if (hasTrackArtists)
                    {
                        track.Artists.Add(new TrackArtist()
                        {
                            Artist = collectionManager.GetOrCreateArtist(localTrack.Artist),
                        });
                        track.JoinedArtists = localTrack.Artist;
                    }

                    list.Add(track);
                }
            }
            return(list);
        }
        public void CommitChanges(ICollectionManager collectionManager)
        {
            if (this.Release.Artists.Join() != this.Release.JoinedAlbumArtists)
            {
                this.Release.Artists.Clear();
                this.Release.Artists.Add(new ReleaseArtist()
                {
                    Artist = collectionManager.GetOrCreateArtist(this.Release.JoinedAlbumArtists)
                });
            }

            this.Release.ReleaseDate = ReleaseDate.Parse(this.textReleaseDate.Text);
            this.Release.OriginalReleaseDate = ReleaseDate.Parse(this.textOriginalReleaseDate.Text);

            int discogsRelease, discogsMaster;
            int.TryParse(this.textDiscogsRelease.Text, out discogsRelease);
            int.TryParse(this.textDiscogsMaster.Text, out discogsMaster);
            this.Release.DiscogsReleaseId = discogsRelease;
            this.Release.DiscogsMasterId = discogsMaster;
            this.Release.WikipediaPageName = this.textWikipediaPageName.Text;
        }
        public void CommitChanges(ICollectionManager collectionManager)
        {
            if (this.Release.Artists.Join() != this.Release.JoinedAlbumArtists)
            {
                this.Release.Artists.Clear();
                this.Release.Artists.Add(new ReleaseArtist()
                {
                    Artist = collectionManager.GetOrCreateArtist(this.Release.JoinedAlbumArtists)
                });
            }

            this.Release.ReleaseDate         = ReleaseDate.Parse(this.textReleaseDate.Text);
            this.Release.OriginalReleaseDate = ReleaseDate.Parse(this.textOriginalReleaseDate.Text);

            int discogsRelease, discogsMaster;

            int.TryParse(this.textDiscogsRelease.Text, out discogsRelease);
            int.TryParse(this.textDiscogsMaster.Text, out discogsMaster);
            this.Release.DiscogsReleaseId  = discogsRelease;
            this.Release.DiscogsMasterId   = discogsMaster;
            this.Release.WikipediaPageName = this.textWikipediaPageName.Text;
        }
Esempio n. 4
0
        public void CommitChanges(ICollectionManager collectionManager)
        {
            bool hasTrackArtists = this.Release.Tracklist.Any(t => !string.IsNullOrEmpty(t.JoinedArtists));

            foreach (ImportTrackItem track in this.Tracks)
            {
                if (hasTrackArtists)
                {
                    if (track.Track.Artists.Join() != track.Track.JoinedArtists)
                    {
                        if (string.IsNullOrEmpty(track.Track.JoinedArtists))
                        {
                            track.Track.Artists.Clear();
                            track.Track.Artists.AddRange(this.Release.Artists.Select(releaseArtist => new TrackArtist()
                            {
                                Artist     = releaseArtist.Artist,
                                JoinString = releaseArtist.JoinString
                            }));
                            track.Track.JoinedArtists = Release.JoinedAlbumArtists;
                        }
                        else
                        {
                            track.Track.Artists.Clear();
                            track.Track.Artists.Add(new TrackArtist()
                            {
                                Artist = collectionManager.GetOrCreateArtist(track.Track.JoinedArtists)
                            });
                        }
                    }
                }
                else
                {
                    track.Track.Artists.Clear();
                }
            }
        }
 public void CommitChanges(ICollectionManager collectionManager)
 {
     bool hasTrackArtists = this.Release.Tracklist.Any(t => !string.IsNullOrEmpty(t.JoinedArtists));
     foreach (ImportTrackItem track in this.Tracks)
     {
         if (hasTrackArtists)
         {
             if (track.Track.Artists.Join() != track.Track.JoinedArtists)
             {
                 if (string.IsNullOrEmpty(track.Track.JoinedArtists))
                 {
                     track.Track.Artists.Clear();
                     track.Track.Artists.AddRange(this.Release.Artists.Select(releaseArtist => new TrackArtist()
                     {
                         Artist = releaseArtist.Artist,
                         JoinString = releaseArtist.JoinString
                     }));
                     track.Track.JoinedArtists = Release.JoinedAlbumArtists;
                 }
                 else
                 {
                     track.Track.Artists.Clear();
                     track.Track.Artists.Add(new TrackArtist()
                     {
                         Artist = collectionManager.GetOrCreateArtist(track.Track.JoinedArtists)
                     });
                 }
             }
         }
         else
         {
             track.Track.Artists.Clear();
         }
     }
 }
        public List<Track> GenerateTracklistForLocalAlbum(ICollectionManager collectionManager, LocalAlbum album, Release release)
        {
            List<Track> list = new List<Track>();
            foreach (LocalDisc disc in album.Discs)
            {
                bool hasTrackArtists = disc.Tracks.Any(t => t.Artist != disc.Tracks[0].Artist);

                foreach (TrackInfoCache localTrack in disc.Tracks)
                {
                    Track track = new Track()
                    {
                        Disc = localTrack.Disc,
                        Position = localTrack.Track,
                        Title = localTrack.Title,
                        RelativeFilename = localTrack.RelativeFilename
                    };
                    if (hasTrackArtists)
                    {
                        track.Artists.Add(new TrackArtist()
                        {
                            Artist = collectionManager.GetOrCreateArtist(localTrack.Artist),
                        });
                        track.JoinedArtists = localTrack.Artist;
                    }

                    list.Add(track);
                }
            }
            return list;
        }