Creates a new, empty ID3v2 tag with a default version-4 header.
Gets the album name from the TALB frame.
Sets the album name in the TALB frame.
The album string; pass an empty string to remove the frame.
Gets the lead artist/performer from the TPE1 frame.
Sets the lead artist/performer in the TPE1 frame.
The artist string; pass an empty string to remove the frame.
Gets the comment text from the first available COMM frame.
Sets the comment in a COMM frame, creating one if none exists.
The comment string; pass an empty string to remove all COMM frames.
Gets the optional extended header, or null if none is present.
Gets the optional footer (v2.4 only), or null if none is present.
Gets a shallow copy of the ordered list of all frames in this tag.
Gets the genre, resolving any ID3v1 numeric references in the TCON frame.
Sets the genre in the TCON frame.
The genre string; pass an empty string to remove the frame.
Gets the tag header.
An ID3v2 tag is empty only when it contains no frames at all. This ensures tags that contain only non-text frames (e.g. APIC pictures) are not incorrectly stripped during save.
Gets the track title from the TIT2 frame.
Sets the track title in the TIT2 frame.
The title string; pass an empty string to remove the frame.
Gets the track number from the TRCK frame; supports "N/Total" format.
Sets the track number in the TRCK frame.
The track number; pass 0 to remove the frame.
Gets the recording year from the TDRC (or legacy TYER) frame as an integer.
Sets the recording year in the TDRC frame.
The year as an integer; pass 0 to remove the frame.
Appends a frame to the end of the frame list.
The frame to add.
Returns the complex properties for the given key.
For "PICTURE", returns one map per APIC frame with data, mimeType,
description, and pictureType entries.
The complex-property key (case-insensitive).
An array of variant maps representing the complex property values.
Returns the list of complex-property keys supported by this tag.
Currently only "PICTURE" is supported.
An array of complex-property key strings.
Returns all frames matching the given frame ID.
A four-character frame ID string or ByteVector.
An array of matching frames (may be empty).
Returns a map of frame ID to frame list, grouping all frames by their four-character ID.
This mirrors the C++ frameListMap() method.
A Map from frame ID string to the array of frames with that ID.
Returns a PropertyMap built from all frames in the tag.
Text frames are mapped using frameIdToProperty; TXXX/COMM/USLT/WXXX/UFID
frames receive special handling.
The populated property map.
Removes a specific frame instance from the frame list.
The frame to remove (matched by reference).
Removes all frames that match the given frame ID.
A four-character frame ID string or ByteVector.
Remove properties that are not supported by this tag format. The default implementation is a no-op; subclasses may override.
Keys of the properties to remove.
Render the complete ID3v2 tag (header + all frames + padding + optional footer) to a ByteVector.
Padding strategy matches C++ TagLib:
max(1024, fileSize / 100) to avoid unbounded growth.
Since we don't have file-size context here the cap is fixed at 1024.Optionalversion: numberThe ID3v2 major version to render as; defaults to the tag's current version.
Optional file size used for the 1% padding threshold (default: 0).
The serialised tag bytes.
Replaces complex properties for the given key.
For "PICTURE", all existing APIC frames are removed and replaced with
frames built from the provided variant maps.
The complex-property key (case-insensitive).
An array of variant maps, each describing one property value.
true if the key was handled; false otherwise.
Replaces the tag's frames with those derived from the given PropertyMap.
Unknown properties are written as TXXX frames.
The property map to apply.
A PropertyMap containing properties that could not be stored.
StaticduplicateCopy tag fields from source to target. When overwrite is false,
only empty fields in the target are filled in.
StaticjoinJoin an array of tag values with " / ".
The string values to join.
A single string with values separated by " / ".
StaticreadAsynchronously read an ID3v2 tag from a stream at the given offset.
Returns a Promise<Id3v2Tag>.
Optionalfactory: Id3v2FrameFactory
ID3v2 tag implementation.