Пример #1
0
        public void SaveMp3(TagLib.File meta, Song s, bool needSplit = false)
        {
            //clear sorting

            meta.Tag.Title = s.Name;
            if (!String.IsNullOrEmpty(s.Artist))
            {
                meta.Tag.Performers = new string[] { s.Artist }
            }
            ;
            if (!String.IsNullOrEmpty(s.Album))
            {
                meta.Tag.Album = s.Album;
            }
            if (!String.IsNullOrEmpty(s.Year))
            {
                meta.Tag.Year = Convert.ToUInt32(s.Year);
            }
            if (!String.IsNullOrEmpty(s.Grouping))
            {
                meta.Tag.Grouping = s.Grouping;
            }
            if (!String.IsNullOrEmpty(s.Genre))
            {
                meta.Tag.Genres = new string[] { s.Genre }
            }
            ;
            if (!String.IsNullOrEmpty(s.Lyrics))
            {
                meta.Tag.Lyrics = s.Lyrics;
            }
            if (s.TrackNumber != 0)
            {
                meta.Tag.Track = Convert.ToUInt32(s.TrackNumber);
            }
            if (s.Image != null)
            {
                meta.Tag.Pictures = new TagLib.IPicture[] { new TagLib.Picture(new TagLib.ByteVector((byte[])new ImageConverter().ConvertTo(s.Image, typeof(byte[])))) }
            }
            ;
            meta.Save();
            iTunes.LibraryPlaylist.AddFile(@s.Path);

            if (needSplit)
            {
                var iTunesSeconds = iTunes.LibraryPlaylist.Tracks[iTunes.LibraryPlaylist.Tracks.Count].Duration;

                while (iTunes.ConvertOperationStatus != null)
                {
                }

                if (iTunesSeconds != s.Time.TotalSeconds)
                {
                    iTunes.LibraryPlaylist.Tracks[iTunes.LibraryPlaylist.Tracks.Count].Delete();
                    iTunes.ConvertFile(@s.Path);
                    s.Converted = true;
                }
            }
        }