Class: Id3v2CommentsFrame

November 25, 2024 · View on GitHub

node-taglib-sharp / Exports / Id3v2CommentsFrame

Class: Id3v2CommentsFrame

Class that extends Frame, implementing support for ID3v2 Comments (COMM) frames. A CommentsFrame should be used for storing user readable comments on the media file. When reading comments from a file, CommentsFrame.findPreferred should be used as it gracefully falls back to comments that you, as a developer, may not be expecting.

Hierarchy

Table of contents

Accessors

Methods

Accessors

description

get description(): string

Gets the description stored in the current instance, or empty string if not set.

Returns

string

set description(value): void

Sets the description stored in the current instance. There should only be one frame with a matching description and ISO-639-2 language code per tag.

Parameters

NameTypeDescription
valuestringDescription of the instance

Returns

void


encryptionId

get encryptionId(): number

Gets the encryption ID applied to the current instance.

Returns

number

Value containing the encryption identifier for the current instance or undefined if not set.

Inherited from

Frame.encryptionId

set encryptionId(value): void

Sets the encryption ID applied to the current instance.

Parameters

NameTypeDescription
valuenumberValue containing the encryption identifier for the current instance. Must be an 8-bit unsigned integer. Setting to undefined will remove the encryption header and ID

Returns

void

Inherited from

Frame.encryptionId


flags

get flags(): Id3v2FrameFlags

Gets the frame flags applied to the current instance.

Returns

Id3v2FrameFlags

Inherited from

Frame.flags

set flags(value): void

Sets the frame flags applied to the current instance. If the value includes either Encryption or Compression, render will throw.

Parameters

NameType
valueId3v2FrameFlags

Returns

void

Inherited from

Frame.flags


frameClassType

get frameClassType(): Id3v2FrameClassType

Gets a flag indicating which type of frame the current instance is.

Returns

Id3v2FrameClassType

Overrides

Frame.frameClassType


frameId

get frameId(): Id3v2FrameIdentifier

Gets the frame ID for the current instance.

Returns

Id3v2FrameIdentifier

Object representing of the identifier of the frame

Inherited from

Frame.frameId


groupId

get groupId(): number

Gets the grouping ID applied to the current instance.

Returns

number

Value containing the grouping identifier for the current instance, or undefined if not set.

Inherited from

Frame.groupId

set groupId(value): void

Sets the grouping ID applied to the current instance.

Parameters

NameTypeDescription
valuenumberGrouping identifier for the current instance. Must be an 8-bit unsigned integer. Setting to undefined will remove the grouping identity header and ID

Returns

void

Inherited from

Frame.groupId


Protected get header(): Id3v2FrameHeader

Gets the header for the frame. For new frames this should not exist.

Returns

Id3v2FrameHeader

Inherited from

Frame.header

Protected set header(value): void

Sets the header for the frame.

Parameters

NameTypeDescription
valueId3v2FrameHeaderHeader for the frame

Returns

void

Inherited from

Frame.header


language

get language(): string

Gets the ISO-639-2 language code stored in the current instance or 'XXX' if not set

Returns

string

set language(value): void

Sets the ISO-639-2 language code stored in the current instance

Parameters

NameTypeDescription
valuestringLanguage code to store

Returns

void


size

get size(): number

Gets the size of the current instance as it was last stored on disk. NOTE: This value is not used outside of reading a frame from disk, so newly created frames should not have this value set.

Returns

number

Inherited from

Frame.size


text

get text(): string

Gets the comment text stored in the current instance, or empty string if not set.

Returns

string

set text(value): void

Sets the comment text stored in the current instance.

Parameters

NameTypeDescription
valuestringComment text to store

Returns

void


textEncoding

get textEncoding(): StringType

Gets the text encoding to use when storing the current instance.

Returns

StringType

set textEncoding(value): void

Sets the text encoding to use when storing the current instance.

Parameters

NameTypeDescription
valueStringTypeText encoding to use when storing the current instance

Returns

void

Methods

clone

clone(): Id3v2Frame

Creates a deep copy of the current instance. This method is implemented by rendering the current instance as an ID3v2.4 frame and using the frame factory to create a new frame. As such, this method should be overridden by child classes.

Returns

Id3v2Frame

Overrides

Id3v2Frame.clone


fieldData

Protected fieldData(frameData, offset, version, dataIncludesHeader): ByteVector

Extracts the field data from the raw portion of an ID3v2 frame. This method is necessary for extracting extra data prepended to the frame such the as grouping ID.

Parameters

NameTypeDescription
frameDataByteVectorRaw frame data
offsetnumberIndex at which the data is contained
versionnumberVersion of the ID3v2 tag the data was originally encoded with
dataIncludesHeaderbooleantrue if frameData includes the header, false otherwise

Returns

ByteVector

Inherited from

Id3v2Frame.fieldData


parseFields

Protected parseFields(data): void

Populates the values in this frame by parsing its field data in a specified version.

Parameters

NameTypeDescription
dataByteVectorExtracted field data

Returns

void

Overrides

Id3v2Frame.parseFields


render

render(version): ByteVector

Renders the current instance, encoded in a specified ID3v2 version.

Parameters

NameTypeDescription
versionnumberVersion of ID3v2 to use when encoding the current instance

Returns

ByteVector

Inherited from

Id3v2Frame.render


renderFields

Protected renderFields(version): ByteVector

Renders the values in the current instance into field data for a specified version.

Parameters

NameTypeDescription
versionnumberID3v2 version the field data is to be encoded in.

Returns

ByteVector

Overrides

Id3v2Frame.renderFields


setData

Protected setData(data, offset, readHeader, version): void

Populates the current instance by reading the raw frame from disk, optionally reading the header.

Parameters

NameTypeDescription
dataByteVectorRaw ID3v2 frame
offsetnumberOffset in data at which the frame begins.
readHeaderbooleanWhether or not to read the reader into the current instance.
versionnumberVersion of the ID3v2 tag the data was encoded with

Returns

void

Inherited from

Id3v2Frame.setData


toString

toString(): string

Gets a string representation of the current instance.

Returns

string

String with the comment text


correctEncoding

Static Protected correctEncoding(type, version): StringType

Converts an encoding to be a supported encoding for a specified tag version.

Parameters

NameTypeDescription
typeStringTypeValue containing the original encoding
versionnumberValue containing the ID3v2 version to be encoded.

Returns

StringType

Value containing the correct encoding to use, based on forceDefaultEncoding and what is supported by version

Inherited from

Id3v2Frame.correctEncoding


find

Static find(frames, description, language?): Id3v2CommentsFrame

Gets a comment frame that matched the provided parameters from the list of frames

Parameters

NameTypeDescription
framesId3v2CommentsFrame[]Frames to search for best matching frame
descriptionstringDescription of the comments frame to match
language?stringOptional, ISO-639-2 language code to match

Returns

Id3v2CommentsFrame

Object containing the matching frame or undefined if a match was not found


findAll

Static findAll(frames, description, language?): Id3v2CommentsFrame[]

Gets all comment frames that match the provided parameters from the list of frames

Parameters

NameTypeDescription
framesId3v2CommentsFrame[]Frames to search
descriptionstringDescription of the comments frame to match
language?stringOptional, ISO-639-2 language code to match

Returns

Id3v2CommentsFrame[]

Array of comments frames that match the provided parameters or an empty array if none were found


findPreferred

Static findPreferred(frames, description, language?): Id3v2CommentsFrame

Gets a specified comments frame from the specified tag, trying to match the description and language but accepting an incomplete match. The method tries matching with the following order of precedence:

  • The first frame with a matching description and language
  • The first frame with a matching language
  • The first frame with a matching description
  • The first frame

Parameters

NameTypeDescription
framesId3v2CommentsFrame[]Frames to search for best matching frame
descriptionstringDescription to match
language?stringISO-639-2 language code to match

Returns

Id3v2CommentsFrame


fromDescription

Static fromDescription(description, language?, encoding?): Id3v2CommentsFrame

Constructs and initializes a new CommentsFrame from a description

Parameters

NameTypeDefault valueDescription
descriptionstringundefinedDescription of the new frame
language?stringundefinedOptional, ISO-639-2 language code for the new frame
encodingStringTypeId3v2Settings.defaultEncodingOptional, text encoding to use when rendering the new frame

Returns

Id3v2CommentsFrame


fromOffsetRawData

Static fromOffsetRawData(data, offset, header, version): Id3v2CommentsFrame

Constructs and initializes a new CommentsFrame by reading its raw data in a specified ID3v2 version. This method allows for offset reading from the data byte vector.

Parameters

NameTypeDescription
dataByteVectorRaw representation of the new frame
offsetnumberWhat offset in data the frame actually begins. Must be positive, safe integer
headerId3v2FrameHeaderHeader of the frame found at data in the data
versionnumberID3v2 version the frame was originally encoded with

Returns

Id3v2CommentsFrame


fromRawData

Static fromRawData(data, version): Id3v2CommentsFrame

Constructs and initializes a new CommentsFrame by reading its raw data in a specified ID3v2 version.

Parameters

NameTypeDescription
dataByteVectorRaw representation of the new frame
versionnumberID3v2 version the raw frame is encoded with, must be a positive 8-bit integer

Returns

Id3v2CommentsFrame