/// <summary> /// Convert the Popularimeterframe. /// </summary> /// <returns>a RawFrame.</returns> public override RawFrame Convert(TagVersion version) { FrameOptions options = Descriptor.Options; byte[] payload; using (var writer = new FrameDataWriter()) { writer.WriteString(Email, Encoding.ASCII, true); writer.WriteByte(Rating); writer.WriteUInt64(PlayCounter); payload = writer.ToArray(); } RawFrame frame = RawFrame.CreateFrame(Descriptor.Id, options, payload, version); return frame; }
/// <summary> /// Converts the picture frame to a raw frame. /// </summary> /// <returns>the raw frame.</returns> public override RawFrame Convert(TagVersion version) { FrameFlags flag = Descriptor.GetFlags(); byte[] payload; using (var writer = new FrameDataWriter()) { writer.WriteEncodingByte(TextEncoding); writer.WriteString(MimeType, Encoding.ASCII, true); writer.WriteByte((byte)PictureCoding); writer.WritePreamble(TextEncoding); writer.WriteString(Description, TextEncoding, true); writer.WriteBytes(PictureData); payload = writer.ToArray(); } return RawFrame.CreateFrame("APIC", flag, payload, version); }