node-taglib-sharp / Exports / Id3v2UrlLinkFrame
Provides ID3v2 URL Link frame implementation (section 4.3.1) covering W000
to WZZZ
,
excluding WXXX
.
With these frames dynamic data such as webpages with touring information, price information,
or plain ordinary news can be added to the tag. There may only be one URL link frame of its kind
in a tag, except when stated otherwise in the frame description. If the text string is followed
by a string termination, all the following information should be ignored and not be displayed.
The following table contains the types and descriptions as found in the ID3 2.4.0 native frames
specification.
- WCOM - The 'Commercial Information' frame is a URL pointing at a webpage with information such as where the album can be bought. There may be more than one WCOM frame per tag, but not with the same content.
- WCOP - The 'Copyright/Legal information' frame is a URL pointing at a webpage where the terms of use and ownership of the field is described.
- WOAF - The 'Official audio file webpage' frame is a URL pointing at a file specific webpage.
- WOAR - The 'Official artist/performer webpage' frame is a URL pointing at the artists' official webpage. There may be more than one WOAR frame in a tag if the audio contains more than one performer, but not with the same content.
- WOAS - THe 'Official audio source webpage' frame is a URL pointing at the official webpage of the source of the audio file, eg, a movie.
- WORS - The 'Official internet radio station homepage' frame contains a URL pointing at the homepage of the internet radio station.
- WPAY - The 'Payment' frame is a URL pointing at a webpage that will handle the process of paying for this file.
- WPUB - The 'Publisher's official webpage' frame is a URL pointing at the official webpage for the publisher.
-
↳
Id3v2UrlLinkFrame
- clone
- fieldData
- parseFields
- parseRawData
- render
- renderFields
- setData
- toString
- correctEncoding
- findUrlLinkFrame
- fromIdentity
- fromOffsetRawData
- fromRawData
• Protected
new Id3v2UrlLinkFrame(header
)
Name | Type |
---|---|
header |
Id3v2FrameHeader |
• Protected
_encoding: StringType
= StringType.Latin1
Text encoding to use to store the text contents of the current instance.
• Protected
_rawData: ByteVector
Raw data contents in the current instance.
• Protected
_rawVersion: number
ID3v2 version of the current instance.
• Protected
_textFields: string
[] = []
Decoded text contained in the current instance.
• get
encryptionId(): number
Gets the encryption ID applied to the current instance.
number
Value containing the encryption identifier for the current instance or
undefined
if not set.
Frame.encryptionId
• set
encryptionId(value
): void
Sets the encryption ID applied to the current instance.
Name | Type | Description |
---|---|---|
value |
number |
Value 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 |
void
Frame.encryptionId
• get
flags(): Id3v2FrameFlags
Gets the frame flags applied to the current instance.
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.
Name | Type |
---|---|
value |
Id3v2FrameFlags |
void
Frame.flags
• get
frameClassType(): Id3v2FrameClassType
Gets a flag indicating which type of frame the current instance is.
Frame.frameClassType
• get
frameId(): Id3v2FrameIdentifier
Gets the frame ID for the current instance.
Object representing of the identifier of the frame
Frame.frameId
• get
groupId(): number
Gets the grouping ID applied to the current instance.
number
Value containing the grouping identifier for the current instance, or
undefined
if not set.
Frame.groupId
• set
groupId(value
): void
Sets the grouping ID applied to the current instance.
Name | Type | Description |
---|---|---|
value |
number |
Grouping identifier for the current instance. Must be an 8-bit unsigned integer. Setting to undefined will remove the grouping identity header and ID |
void
Frame.groupId
• Protected
get
header(): Id3v2FrameHeader
Gets the header for the frame. For new frames this should not exist.
Frame.header
• Protected
set
header(value
): void
Sets the header for the frame.
Name | Type | Description |
---|---|---|
value |
Id3v2FrameHeader |
Header for the frame |
void
Frame.header
• 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.
number
Frame.size
• get
text(): string
[]
Gets the text contained in the current instance. Modifying the contents of the returned value will not modify the contents of the current instance. The value must be reassigned for the value to change.
string
[]
• set
text(value
): void
Sets the text contained in the current instance.
Name | Type |
---|---|
value |
string [] |
void
• get
textEncoding(): StringType
Gets the text encoding to use when rendering the current instance.
• set
textEncoding(value
): void
Sets the text encoding to use when rendering the current instance.
NOTE: This value will be overwritten if forceDefaultEncoding is true
.
Name | Type |
---|---|
value |
StringType |
void
▸ clone(): Id3v2UrlLinkFrame
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.
▸ 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.
Name | Type | Description |
---|---|---|
frameData |
ByteVector |
Raw frame data |
offset |
number |
Index at which the data is contained |
version |
number |
Version of the ID3v2 tag the data was originally encoded with |
dataIncludesHeader |
boolean |
true if frameData includes the header, false otherwise |
▸ Protected
parseFields(data
, version
): void
Populates the values in this frame by parsing its field data in a specified version.
Name | Type | Description |
---|---|---|
data |
ByteVector |
Extracted field data |
version |
number |
ID3v2 version the field data is encoded in |
void
▸ Protected
parseRawData(): void
Performs the actual parsing of the raw data.
Remarks
Because of the high parsing cost and relatively low usage of the class, parseFields only stores the field data, so it can be parsed on demand. Whenever a property or method is called which requires the data, this method is called, and only on the first call does it actually parse the data.
void
▸ render(version
): ByteVector
Renders the current instance, encoded in a specified ID3v2 version.
Name | Type | Description |
---|---|---|
version |
number |
Version of ID3v2 to use when encoding the current instance |
▸ Protected
renderFields(version
): ByteVector
Renders the values in the current instance into field data for a specified version.
Name | Type | Description |
---|---|---|
version |
number |
ID3v2 version the field data is to be encoded in. |
▸ Protected
setData(data
, offset
, readHeader
, version
): void
Populates the current instance by reading the raw frame from disk, optionally reading the header.
Name | Type | Description |
---|---|---|
data |
ByteVector |
Raw ID3v2 frame |
offset |
number |
Offset in data at which the frame begins. |
readHeader |
boolean |
Whether or not to read the reader into the current instance. |
version |
number |
Version of the ID3v2 tag the data was encoded with |
void
▸ toString(): string
Generates a string representation of the URL link frame.
string
▸ Static
Protected
correctEncoding(type
, version
): StringType
Converts an encoding to be a supported encoding for a specified tag version.
Name | Type | Description |
---|---|---|
type |
StringType |
Value containing the original encoding |
version |
number |
Value containing the ID3v2 version to be encoded. |
Value containing the correct encoding to use, based on
forceDefaultEncoding and what is supported by
version
▸ Static
findUrlLinkFrame(frames
, ident
): Id3v2UrlLinkFrame
Gets the first frame that matches the provided type
Name | Type | Description |
---|---|---|
frames |
Id3v2UrlLinkFrame [] |
Object to search in |
ident |
Id3v2FrameIdentifier |
Frame identifier to search for |
Frame containing the matching frameId, undefined
if a match was not found
▸ Static
fromIdentity(ident
): Id3v2UrlLinkFrame
Constructs and initializes an empty frame with the provided frame identity
Name | Type | Description |
---|---|---|
ident |
Id3v2FrameIdentifier |
Identity of the frame to construct |
▸ Static
fromOffsetRawData(data
, offset
, header
, version
): Id3v2UrlLinkFrame
Constructs and initializes a new instance by reading its raw data in a specified ID3v2 version. This method allows for offset reading from the data byte vector.
Name | Type | Description |
---|---|---|
data |
ByteVector |
Raw representation of the new frame |
offset |
number |
What offset in data the frame actually begins. Must be positive, safe integer |
header |
Id3v2FrameHeader |
Header of the frame found at data in the data |
version |
number |
ID3v2 version the frame was originally encoded with |
▸ Static
fromRawData(data
, version
): Id3v2UrlLinkFrame
Constructs and initializes a new instance by reading its raw data in a specified ID3v2 version.
Name | Type | Description |
---|---|---|
data |
ByteVector |
Raw representation of the new frame |
version |
number |
ID3v2 version the raw frame is encoded with, must be a positive 8-bit integer |