Initial working version
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
import { IChunkHeader } from '../iff';
|
||||
import { IGetToken } from 'strtok3/lib/core';
|
||||
export { IChunkHeader } from '../iff';
|
||||
/**
|
||||
* Common RIFF chunk header
|
||||
*/
|
||||
export declare const Header: IGetToken<IChunkHeader>;
|
||||
/**
|
||||
* Token to parse RIFF-INFO tag value
|
||||
*/
|
||||
export declare class ListInfoTagValue implements IGetToken<string> {
|
||||
private tagHeader;
|
||||
len: number;
|
||||
constructor(tagHeader: IChunkHeader);
|
||||
get(buf: any, off: any): string;
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ListInfoTagValue = exports.Header = void 0;
|
||||
const Token = require("token-types");
|
||||
/**
|
||||
* Common RIFF chunk header
|
||||
*/
|
||||
exports.Header = {
|
||||
len: 8,
|
||||
get: (buf, off) => {
|
||||
return {
|
||||
// Group-ID
|
||||
chunkID: buf.toString('binary', off, off + 4),
|
||||
// Size
|
||||
chunkSize: Token.UINT32_LE.get(buf, 4)
|
||||
};
|
||||
}
|
||||
};
|
||||
/**
|
||||
* Token to parse RIFF-INFO tag value
|
||||
*/
|
||||
class ListInfoTagValue {
|
||||
constructor(tagHeader) {
|
||||
this.tagHeader = tagHeader;
|
||||
this.len = tagHeader.chunkSize;
|
||||
this.len += this.len & 1; // if it is an odd length, round up to even
|
||||
}
|
||||
get(buf, off) {
|
||||
return new Token.StringType(this.tagHeader.chunkSize, 'ascii').get(buf, off);
|
||||
}
|
||||
}
|
||||
exports.ListInfoTagValue = ListInfoTagValue;
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { INativeTagMap } from '../common/GenericTagTypes';
|
||||
import { CommonTagMapper } from '../common/GenericTagMapper';
|
||||
/**
|
||||
* RIFF Info Tags; part of the EXIF 2.3
|
||||
* Ref: http://owl.phy.queensu.ca/~phil/exiftool/TagNames/RIFF.html#Info
|
||||
*/
|
||||
export declare const riffInfoTagMap: INativeTagMap;
|
||||
export declare class RiffInfoTagMapper extends CommonTagMapper {
|
||||
constructor();
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.RiffInfoTagMapper = exports.riffInfoTagMap = void 0;
|
||||
const GenericTagMapper_1 = require("../common/GenericTagMapper");
|
||||
/**
|
||||
* RIFF Info Tags; part of the EXIF 2.3
|
||||
* Ref: http://owl.phy.queensu.ca/~phil/exiftool/TagNames/RIFF.html#Info
|
||||
*/
|
||||
exports.riffInfoTagMap = {
|
||||
IART: 'artist',
|
||||
ICRD: 'date',
|
||||
INAM: 'title',
|
||||
TITL: 'title',
|
||||
IPRD: 'album',
|
||||
ITRK: 'track',
|
||||
COMM: 'comment',
|
||||
ICMT: 'comment',
|
||||
ICNT: 'releasecountry',
|
||||
GNRE: 'genre',
|
||||
IWRI: 'writer',
|
||||
RATE: 'rating',
|
||||
YEAR: 'year',
|
||||
ISFT: 'encodedby',
|
||||
CODE: 'encodedby',
|
||||
TURL: 'website',
|
||||
IGNR: 'genre',
|
||||
IENG: 'engineer',
|
||||
ITCH: 'technician',
|
||||
IMED: 'media',
|
||||
IRPD: 'album' // Product, where the file was intended for
|
||||
};
|
||||
class RiffInfoTagMapper extends GenericTagMapper_1.CommonTagMapper {
|
||||
constructor() {
|
||||
super(['exif'], exports.riffInfoTagMap);
|
||||
}
|
||||
}
|
||||
exports.RiffInfoTagMapper = RiffInfoTagMapper;
|
||||
Reference in New Issue
Block a user