Пример #1
0
        /**
         * Methods
         */
        public ID3Tag GetID3Tag(string fileName)
        {
            // Create ID3 tag var
            var tag = new ID3Tag();

            // Check ID3 identifier
            tag.Bytes = data.GetID3TagBytes(fileName, 3);
            if(!tag.HasID3Identifier())
            {
                return new ID3Tag();
            }

            // Load Header bytes into Tag (10 bytes)
            tag.Bytes = data.GetID3TagBytes(fileName, HEADER_LENGTH);
            tag.Header = new ID3Header(tag.Bytes);

            // Load Header + All frames
            tag.Bytes = data.GetID3TagBytes(fileName, HEADER_LENGTH + tag.Header.TagSize);

            if(tag.Header.ExtendedHeaderFlag)
            {
                Console.WriteLine($"DEBUG Extended Header detected. Not implemented.");
            }

            // Load frames
            tag.Frames = GetID3Frames(tag.Bytes);

            // Return the created tag
            return tag; 
        }
Пример #2
0
 private void PrintInfo(ID3Tag tag)
 {
     // Iterate all the frames
     foreach (ID3Frame frame in tag.Frames)
     {
         // Row item
         if (frame.ID == "TALB")
         {
             albumTextBox.Text = frame.GetDataString();
         } else if (frame.ID == "TIT2")
         {
             songTextBox.Text = frame.GetDataString();
         } else if (frame.ID == "TPE2")
         {
             artistTextBox.Text = frame.GetDataString();
         }
     }
 }
Пример #3
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if(openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                // song var
                ID3Tag tag = new ID3Tag();

                // Get filename of selected file
                string fileName = openFileDialog1.FileName;

                // Write first bytes
                tag = logic.GetID3Tag(fileName);

                if (tag.Header.TagSize != 0)
                {
                    // Print in GUI
                    PrintInfo(tag);
                } else
                {
                    ClearTextBoxes();
                    MessageBox.Show("The selected file has no valid ID3 tag.");
                }
           }
        }