Beispiel #1
0
        /// <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);
        }
Beispiel #3
0
 /// <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;
 }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
 /// <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;
 }