/// <summary> /// Constructs and initializes a new instance of <see /// cref="Tag" /> for a specified <see cref="TagLib.File" />. /// </summary> /// <param name="file"> /// A <see cref="TagLib.File" /> object on which the new /// instance will perform its operations. /// </param> /// <remarks> /// Constructing a new instance does not automatically read /// the contents from the disk. <see cref="Read" /> must be /// called to read the tags. /// </remarks> public Tag (File file) : base () { start_tag = new StartTag (file); end_tag = new EndTag (file); AddTag (start_tag); AddTag (end_tag); }
/// <summary> /// Reads the tags stored at the end of the file into the /// current instance. /// </summary> /// <returns> /// A <see cref="long" /> value indicating the seek position /// in the file at which the read tags begin. This also /// marks the seek position at which the media ends. /// </returns> public long ReadEnd(ReadStyle style) { return(EndTag.Read(style)); }
/// <summary> /// Writes the tags to the start and end of the file. /// </summary> /// <param name="start"> /// A <see cref="long" /> value reference which will be set /// to contain the new seek position in the file at which the /// tags at the start end. This also marks the seek position /// at which the media begins. /// </param> /// <param name="end"> /// A <see cref="long" /> value reference which will be set /// to contain the new seek position in the file at which the /// tags at the end begin. This also marks the seek position /// at which the media ends. /// </param> public void Write(out long start, out long end) { start = StartTag.Write(); end = EndTag.Write(); }
/// <summary> /// Removes a set of tag types from the current instance. /// </summary> /// <param name="types"> /// A bitwise combined <see cref="TagLib.TagTypes" /> value /// containing tag types to be removed from the file. /// </param> /// <remarks> /// In order to remove all tags from a file, pass <see /// cref="TagTypes.AllTags" /> as <paramref name="types" />. /// </remarks> public void RemoveTags(TagTypes types) { StartTag.RemoveTags(types); EndTag.RemoveTags(types); }