Ejemplo n.º 1
0
        private void LoadAudioFileDetails(object pathObject)
        {
            string path = (string)pathObject;

            IAudioFile audioFile = AudioFile.Create(path, false);
            decimal    bitrate   = audioFile.Bitrate; // force bitrate calculation

            DescriptiveLameTagReader lameTagReader = new DescriptiveLameTagReader(path);

            Invoke(new Action <IAudioFile, DescriptiveLameTagReader>(SetAudioFileDetails), audioFile, lameTagReader);
        }
Ejemplo n.º 2
0
        private void OnLoadFile(string fileName)
        {
            _id3v2 = new ID3v2Tag(fileName);
            IAudioFile audioFile = AudioFile.Create(fileName, true);
            DescriptiveLameTagReader lameTagReader = new DescriptiveLameTagReader(fileName);

            _fullFileName = fileName;

            FileName     = Path.GetFileName(fileName);
            Artist       = _id3v2.Artist;
            Title        = _id3v2.Title;
            Album        = _id3v2.Album;
            Genre        = _id3v2.Genre;
            Year         = _id3v2.Year;
            Track        = _id3v2.TrackNumber;
            ID3v2Version = _id3v2.Header.TagVersion;

            if (_id3v2.PictureList == null || _id3v2.PictureList.Count == 0)
            {
                PictureCollection = new ObservableCollection <Picture>();
            }
            else
            {
                var pictureCollection = new ObservableCollection <Picture>();
                foreach (var apic in _id3v2.PictureList)
                {
                    pictureCollection.Add(new Picture(apic));
                }
                PictureCollection = pictureCollection;
            }

            Comment = null;
            if (_id3v2.CommentsList != null)
            {
                foreach (var item in _id3v2.CommentsList)
                {
                    if (item.Description != "iTunNORM")
                    {
                        Comment = item.Value;
                        break;
                    }
                }
            }

            PlayLength    = audioFile.TotalSeconds;
            Bitrate       = audioFile.Bitrate;
            EncoderPreset = string.Format("{0} {1}", lameTagReader.LameTagInfoEncoder, lameTagReader.UsePresetGuess == UsePresetGuess.NotNeeded ? lameTagReader.Preset : lameTagReader.PresetGuess);

            CanSave = true;
        }
Ejemplo n.º 3
0
        private void OnLoadFile(string fileName)
        {
            FullFileName  = fileName;
            ShortFileName = Path.GetFileName(fileName);

            ID3v2     = new ID3v2Tag(fileName);
            AudioFile = IdSharp.AudioInfo.AudioFile.Create(fileName, true);

            if (ID3v2.PictureList == null || ID3v2.PictureList.Count == 0)
            {
                PictureCollection = new ObservableCollection <Picture>();
            }
            else
            {
                var pictureCollection = new ObservableCollection <Picture>();
                foreach (var apic in ID3v2.PictureList)
                {
                    pictureCollection.Add(new Picture(apic));
                }
                PictureCollection = pictureCollection;
            }

            // TODO: Comments

            /*Comment = null;
             * if (_id3v2.CommentsList.Count > 0)
             * {
             *  Comment = _id3v2.CommentsList[0].Value;
             * }*/

            //PlayLength = audioFile.TotalSeconds;
            //Bitrate = audioFile.Bitrate;
            DescriptiveLameTagReader lameTagReader = new DescriptiveLameTagReader(fileName);

            EncoderPreset = string.Format("{0} {1}", lameTagReader.LameTagInfoEncoder, lameTagReader.UsePresetGuess == UsePresetGuess.NotNeeded ? lameTagReader.Preset : lameTagReader.PresetGuess);

            CanSave = true;
        }
Ejemplo n.º 4
0
 private void SetAudioFileDetails(IAudioFile audioFile, DescriptiveLameTagReader lameTagReader)
 {
     txtPlayLength.Text    = string.Format("{0}:{1:00}", (int)audioFile.TotalSeconds / 60, (int)audioFile.TotalSeconds % 60);
     txtBitrate.Text       = string.Format("{0:#,0} kbps", audioFile.Bitrate);
     txtEncoderPreset.Text = string.Format("{0} {1}", lameTagReader.LameTagInfoEncoder, lameTagReader.UsePresetGuess == UsePresetGuess.NotNeeded ? lameTagReader.Preset : lameTagReader.PresetGuess);
 }