/// <summary> /// New CommercialFrame /// </summary> /// <param name="FrameID">FrameID</param> /// <param name="Flags">Frame Flags</param> /// <param name="Data">Data of frame</param> /// <param name="Length">MaxLength of frame</param> internal CommercialFrame(string FrameID, FrameFlags Flags, FileStreamEx Data, int Length) : base(FrameID, Flags) { _TextEncoding = (TextEncodings)Data.ReadByte(); Length--; if (!IsValidEnumValue(_TextEncoding, ValidatingErrorTypes.ID3Error)) { return; } _Price = new Price(Data, Length); Length -= _Price.Length; _ValidUntil = new SDate(Data); Length -= 8; _ContactUrl = Data.ReadText(Length, TextEncodings.Ascii, ref Length, true); _RecievedAs = (RecievedAsEnum)Data.ReadByte(); Length--; _SellerName = Data.ReadText(Length, _TextEncoding, ref Length, true); _Description = Data.ReadText(Length, _TextEncoding, ref Length, true); if (Length < 1) // Data finished { return; } _MIMEType = Data.ReadText(Length, TextEncodings.Ascii, ref Length, true); _Data = Data.ReadData(Length); }
/// <summary> /// New CommercialFrame /// </summary> /// <param name="FrameID">FrameID</param> /// <param name="Flags">Frame Flags</param> /// <param name="Data">Data of frame</param> /// <param name="Length">MaxLength of frame</param> public CommercialFrame(string FrameID, FrameFlags Flags, int Length, Stream FS) : base(FrameID, Flags, FS) { TStream = new TagStreamUWP(FS); _TextEncoding = (TextEncodings)TStream.ReadByte(FS); Length--; if (!IsValidEnumValue(_TextEncoding, ExceptionLevels.Error, FrameID)) { return; } _Price = new Price(TStream, Length); Length -= _Price.Length; _ValidUntil = new SDate(TStream); Length -= 8; _ContactUrl = TStream.ReadText(Length, TextEncodings.Ascii, ref Length, true); _RecievedAs = (RecievedAsEnum)Data.ReadByte(); Length--; _SellerName = TStream.ReadText(Length, _TextEncoding, ref Length, true); _Description = TStream.ReadText(Length, _TextEncoding, ref Length, true); if (Length < 1) // Data finished { return; } _MIMEType = TStream.ReadText(Length, TextEncodings.Ascii, ref Length, true); _Data = TStream.ReadData(Length); }
/// <summary> /// Create new Commercial frame /// </summary> /// <param name="Flags">Flags of frame</param> /// <param name="Description">Description for current frame</param> /// <param name="TextEncoding">TextEncoding use for texts</param> /// <param name="Price">Price that payed for song</param> /// <param name="ValidUntil">Validation date</param> /// <param name="ContactURL">Contact URL to seller</param> /// <param name="RecievedAs">RecievedAd type</param> /// <param name="SellerName">SellerName</param> /// <param name="MIMEType">MimeType for seller Logo</param> /// <param name="Logo">Data Contain Seller Logo</param> public CommercialFrame(FrameFlags Flags, string Description, TextEncodings TextEncoding, Price Price, SDate ValidUntil, string ContactURL, RecievedAsEnum RecievedAs, string SellerName, string MIMEType, MemoryStream Logo) : base("COMR", Flags, Description, MIMEType, TextEncoding, Logo) { _ValidUntil = ValidUntil; this.ContactUrl = ContactURL; this.SellerName = SellerName; this.RecievedAs = RecievedAs; _Price = Price; }
/// <summary> /// New CommercialFrame /// </summary> /// <param name="FrameID">FrameID</param> /// <param name="Flags">Frame Flags</param> /// <param name="Data">Data of frame</param> /// <param name="Length">MaxLength of frame</param> internal CommercialFrame(string FrameID, FrameFlags Flags, FileStreamEx Data, int Length) : base(FrameID, Flags) { _TextEncoding = (TextEncodings)Data.ReadByte(); Length--; if (!IsValidEnumValue(_TextEncoding, ValidatingErrorTypes.ID3Error)) return; _Price = new Price(Data, Length); Length -= _Price.Length; _ValidUntil = new SDate(Data); Length -= 8; _ContactUrl = Data.ReadText(Length, TextEncodings.Ascii, ref Length, true); _RecievedAs = (RecievedAsEnum)Data.ReadByte(); Length--; _SellerName = Data.ReadText(Length, _TextEncoding, ref Length, true); _Description = Data.ReadText(Length, _TextEncoding, ref Length, true); if (Length < 1) // Data finished return; _MIMEType = Data.ReadText(Length, TextEncodings.Ascii, ref Length, true); _Data = Data.ReadData(Length); }
/// <summary> /// Create new Commercial frame /// </summary> /// <param name="Flags">Flags of frame</param> /// <param name="Description">Description for current frame</param> /// <param name="TextEncoding">TextEncoding use for texts</param> /// <param name="Price">Price that payed for song</param> /// <param name="ValidUntil">Validation date</param> /// <param name="ContactURL">Contact URL to seller</param> /// <param name="RecievedAs">RecievedAd type</param> /// <param name="SellerName">SellerName</param> /// <param name="MIMEType">MimeType for seller Logo</param> /// <param name="Logo">Data Contain Seller Logo</param> public CommercialFrame(FrameFlags Flags, string Description, TextEncodings TextEncoding, Price Price , SDate ValidUntil, string ContactURL, RecievedAsEnum RecievedAs, string SellerName, string MIMEType, MemoryStream Logo) : base("COMR", Flags, Description, MIMEType, TextEncoding, Logo) { _ValidUntil = ValidUntil; this.ContactUrl = ContactURL; this.SellerName = SellerName; this.RecievedAs = RecievedAs; _Price = Price; }