/// <summary> /// Parses the raw frame data. /// </summary> /// <param name="frameData">The raw frame data.</param> /// <param name="version">The ID3v2 version of the tag being parsed.</param> protected override void ParseFrameData(byte[] frameData, ID3Versions version) { if (frameData.Length >= 5) { // Encoding type TextEncodingType encType = (TextEncodingType)frameData[0]; // Language char[] languageBytes = new char[COMMFrame.LanguageFieldLength]; Array.Copy(frameData, 1, languageBytes, 0, languageBytes.Length); string languageStr = (new String(languageBytes)).ToUpper(); language = new EncodedString(LanguageEncodingType, languageStr); // Text byte[] textBytes = new byte[frameData.Length - 4]; Array.Copy(frameData, 4, textBytes, 0, textBytes.Length); IList <EncodedString> strings = EncodedString.CreateStrings(encType, textBytes); if (strings.Count >= 2) { description = strings[0]; base.EncodedText = strings[1]; SetEncodedStringSettings(); } } }
/// <summary> /// Parses the raw frame data. /// </summary> /// <param name="frameData">The raw frame data.</param> /// <param name="version">The ID3v2 version of the tag being parsed.</param> protected override void ParseFrameData(byte[] frameData, ID3Versions version) { IList <EncodedString> strings = EncodedString.CreateStrings(frameData); if (strings.Count >= 1) { text = strings[0]; //*** no support yet for multiple strings SetEncodedStringSettings(); } }
/// <summary> /// Parses the raw frame data. /// </summary> /// <param name="frameData">The raw frame data.</param> /// <param name="version">The ID3v2 version of the tag being parsed.</param> protected override void ParseFrameData(byte[] frameData, ID3Versions version) { IList <EncodedString> strings = EncodedString.CreateStrings(frameData); if (strings.Count >= 2) { description = strings[0]; base.EncodedText = strings[1]; SetEncodedStringSettings(); } }
/// <summary> /// Parses the raw frame data. /// </summary> /// <param name="frameData">The raw frame data.</param> /// <param name="version">The ID3v2 version of the tag being parsed.</param> protected override void ParseFrameData(byte[] frameData, ID3Versions version) { if (frameData.Length > 0) { IList <EncodedString> strings = EncodedString.CreateStrings(URLLinkFrame.UrlEncodingType, frameData); url = strings[0]; // "If the text string is followed by a string // termination, all the following information should be ignored and not be displayed." SetEncodedStringSettings(); } }
/// <summary> /// Parses the raw frame data. /// </summary> /// <param name="frameData">The raw frame data.</param> /// <param name="version">The ID3v2 version of the tag being parsed.</param> protected override void ParseFrameData(byte[] frameData, ID3Versions version) { IList <EncodedString> strings = EncodedString.CreateStrings(TextEncodingType.ISO_8859_1, frameData, 1, delegate(byte[] leftoverBytes) { Identifier = leftoverBytes; }); if (strings.Count == 1) { ownerIdentifier = strings[0]; SetEncodedStringSettings(); } }
/// <summary> /// Parses the raw frame data. /// </summary> /// <param name="frameData">The raw frame data.</param> /// <param name="version">The ID3v2 version of the tag being parsed.</param> protected override void ParseFrameData(byte[] frameData, ID3Versions version) { // "The URL is always encoded with ISO-8859-1." [ID3 Spec.] // The description is encoded according to the Text Encoding field, but // the URL is always ISO-8859-1. So, create one EncodedString dynamically // (using the text encoding byte) and get the remainder back as byte[]. // Then pass this back through with the encoding specified as ISO-8859-1. IList <EncodedString> strings = EncodedString.CreateStrings(frameData, 1, delegate(byte[] leftoverBytes) { byte[] urlBytes = leftoverBytes; strings = EncodedString.CreateStrings(URLLinkFrame.UrlEncodingType, leftoverBytes); base.EncodedUrl = strings[0]; }); description = strings[0]; SetEncodedStringSettings(); }
/// <summary> /// Parses the raw frame data. /// </summary> /// <param name="frameData">The raw frame data.</param> /// <param name="version">The ID3v2 version of the tag being parsed.</param> protected override void ParseFrameData(byte[] frameData, ID3Versions version) { // Encoding type TextEncodingType encType = (TextEncodingType)frameData[0]; // MIME type int mimeEnd = FindNull(frameData, 1); byte[] mimeBytes = new byte[mimeEnd - 1]; Array.Copy(frameData, 1, mimeBytes, 0, mimeBytes.Length); mimeType = new EncodedString(MimeTypeEncodingType, mimeBytes); byte[] remainingBytes = new byte[(frameData.Length - mimeEnd) - 1]; Array.Copy(frameData, mimeEnd + 1, remainingBytes, 0, remainingBytes.Length); IList <EncodedString> strings = EncodedString.CreateStrings(encType, remainingBytes, 2, delegate(byte[] leftoverBytes) { encapsulatedObject = leftoverBytes; }); filename = strings[0]; description = strings[1]; SetEncodedStringSettings(); }