import { ByteVector } from "../../byteVector"; import { Frame, FrameClassType } from "./frame"; import { Id3v2FrameHeader } from "./frameHeader"; /** * Class extends {@link Frame}, implementing support for ID3v2 Music CD Identifier (MCDI) frames. * Music CD identifier frames should contain the table of contents data as stored on the physical * CD. It is primarily used for track information lookup through web sources like CDDB. */ export default class MusicCdIdentifierFrame extends Frame { private _data; private constructor(); /** * Constructs and initializes a new instance of MusicCdIdentifier frame by reading its raw data * in a specified ID3v2 version starting at a specified offset. * @param data Raw representation of the new frame. * @param offset Offset into `data` where the frame actually begins. Must be a * positive, safe integer * @param header Header of the frame found at `offset` in the data * @param version ID3v2 version the frame was originally encoded with */ static fromOffsetRawData(data: ByteVector, offset: number, header: Id3v2FrameHeader, version: number): MusicCdIdentifierFrame; /** * Constructs and initializes a new instance of MusicCdIdentifierFrame by reading its raw data * in a specified ID3v2 version. * @param data ByteVector object starting with the raw representation of the new frame * @param version The ID3v2 version the raw frame is encoded in. Must be positive 8-bit integer */ static fromRawData(data: ByteVector, version: number): MusicCdIdentifierFrame; /** @inheritDoc */ get frameClassType(): FrameClassType; /** * Gets the identifier data stored in the current instance */ get data(): ByteVector; /** * Sets the identifier data stored in the current instance * @param value ByteVector containing the identifier stored in the current instance */ set data(value: ByteVector); /** @inheritDoc */ clone(): Frame; /** @inheritDoc */ protected parseFields(data: ByteVector): void; /** @inheritDoc */ protected renderFields(): ByteVector; }