74 lines
1.9 KiB
TypeScript
74 lines
1.9 KiB
TypeScript
import * as util from '../common/Util';
|
|
import { IGetToken } from 'strtok3/lib/core';
|
|
/**
|
|
* The picture type according to the ID3v2 APIC frame
|
|
* Ref: http://id3.org/id3v2.3.0#Attached_picture
|
|
*/
|
|
export declare enum AttachedPictureType {
|
|
'Other' = 0,
|
|
"32x32 pixels 'file icon' (PNG only)" = 1,
|
|
'Other file icon' = 2,
|
|
'Cover (front)' = 3,
|
|
'Cover (back)' = 4,
|
|
'Leaflet page' = 5,
|
|
'Media (e.g. label side of CD)' = 6,
|
|
'Lead artist/lead performer/soloist' = 7,
|
|
'Artist/performer' = 8,
|
|
'Conductor' = 9,
|
|
'Band/Orchestra' = 10,
|
|
'Composer' = 11,
|
|
'Lyricist/text writer' = 12,
|
|
'Recording Location' = 13,
|
|
'During recording' = 14,
|
|
'During performance' = 15,
|
|
'Movie/video screen capture' = 16,
|
|
'A bright coloured fish' = 17,
|
|
'Illustration' = 18,
|
|
'Band/artist logotype' = 19,
|
|
'Publisher/Studio logotype' = 20
|
|
}
|
|
export declare type ID3v2MajorVersion = 2 | 3 | 4;
|
|
export interface IExtendedHeader {
|
|
size: number;
|
|
extendedFlags: number;
|
|
sizeOfPadding: number;
|
|
crcDataPresent: boolean;
|
|
}
|
|
/**
|
|
* 28 bits (representing up to 256MB) integer, the msb is 0 to avoid 'false syncsignals'.
|
|
* 4 * %0xxxxxxx
|
|
*/
|
|
export declare const UINT32SYNCSAFE: {
|
|
get: (buf: Uint8Array, off: number) => number;
|
|
len: number;
|
|
};
|
|
/**
|
|
* ID3v2 tag header
|
|
*/
|
|
export interface IID3v2header {
|
|
fileIdentifier: string;
|
|
version: {
|
|
major: ID3v2MajorVersion;
|
|
revision: number;
|
|
};
|
|
flags: {
|
|
unsynchronisation: boolean;
|
|
isExtendedHeader: boolean;
|
|
expIndicator: boolean;
|
|
footer: boolean;
|
|
};
|
|
size: number;
|
|
}
|
|
/**
|
|
* ID3v2 header
|
|
* Ref: http://id3.org/id3v2.3.0#ID3v2_header
|
|
* ToDo
|
|
*/
|
|
export declare const ID3v2Header: IGetToken<IID3v2header>;
|
|
export declare const ExtendedHeader: IGetToken<IExtendedHeader>;
|
|
export interface ITextEncoding {
|
|
encoding: util.StringEncoding;
|
|
bom?: boolean;
|
|
}
|
|
export declare const TextEncodingToken: IGetToken<ITextEncoding>;
|