@vdegenne/subtitles 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/SubtitlesManager.d.ts +33 -0
- package/lib/SubtitlesManager.d.ts.map +1 -0
- package/lib/SubtitlesManager.js +52 -0
- package/lib/SubtitlesManager.js.map +1 -0
- package/lib/index.d.ts +10 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +31 -3
- package/lib/index.js.map +1 -1
- package/package.json +5 -1
- package/types.d.ts +3 -3
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
interface Subtitle extends Omit<sub.Subtitle, 'text'> {
|
|
2
|
+
text: string[];
|
|
3
|
+
}
|
|
4
|
+
interface SetTextOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Id of the subtitle
|
|
7
|
+
*/
|
|
8
|
+
id: number;
|
|
9
|
+
/**
|
|
10
|
+
* Text index of the subtitle
|
|
11
|
+
* (BEWARE) If `undefined` the text will be written to index 0
|
|
12
|
+
* and all other indexes will get deleted.
|
|
13
|
+
*
|
|
14
|
+
* @default undefined
|
|
15
|
+
*/
|
|
16
|
+
index: number | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Text to change with
|
|
19
|
+
*/
|
|
20
|
+
text: string;
|
|
21
|
+
}
|
|
22
|
+
export declare class SubtitleManager {
|
|
23
|
+
#private;
|
|
24
|
+
protected cutIndexWith: string;
|
|
25
|
+
constructor(subtitles?: sub.Subtitle[], cutIndexWith?: string);
|
|
26
|
+
getSubtitleFromId(id: number): Subtitle | undefined;
|
|
27
|
+
setText(options: SetTextOptions): boolean;
|
|
28
|
+
getScript(index?: number, clearEmptyLines?: boolean, joinIndexWith?: string): string;
|
|
29
|
+
rebuild(): sub.Subtitle[];
|
|
30
|
+
iterate(): Generator<Subtitle, void, unknown>;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=SubtitlesManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubtitlesManager.d.ts","sourceRoot":"","sources":["../src/SubtitlesManager.ts"],"names":[],"mappings":"AAAA,UAAU,QAAS,SAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpD,IAAI,EAAE,MAAM,EAAE,CAAA;CACd;AAED,UAAU,cAAc;IACvB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAEzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,qBAAa,eAAe;;IAK1B,SAAS,CAAC,YAAY;gBADtB,SAAS,GAAE,GAAG,CAAC,QAAQ,EAAO,EACpB,YAAY,SAAS;IAUhC,iBAAiB,CAAC,EAAE,EAAE,MAAM;IAI5B,OAAO,CAAC,OAAO,EAAE,cAAc;IAc/B,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,UAAO,EAAE,aAAa,SAAO;IAYtE,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE;IASxB,OAAO;CAKR"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export class SubtitleManager {
|
|
2
|
+
#subtitles = [];
|
|
3
|
+
constructor(subtitles = [], cutIndexWith = '\n\n') {
|
|
4
|
+
this.cutIndexWith = cutIndexWith;
|
|
5
|
+
this.#subtitles = subtitles.map((s) => {
|
|
6
|
+
return {
|
|
7
|
+
...s,
|
|
8
|
+
text: s.text.split(this.cutIndexWith),
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
getSubtitleFromId(id) {
|
|
13
|
+
return this.#subtitles.find((s) => s.id === id);
|
|
14
|
+
}
|
|
15
|
+
setText(options) {
|
|
16
|
+
// if (options.id === undefined) return
|
|
17
|
+
const subtitle = this.getSubtitleFromId(options.id);
|
|
18
|
+
if (subtitle) {
|
|
19
|
+
if (options.index === undefined) {
|
|
20
|
+
subtitle.text = [options.text];
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
subtitle.text[options.index] = options.text;
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
getScript(index, clearEmptyLines = true, joinIndexWith = '\n') {
|
|
30
|
+
const joined = this.#subtitles
|
|
31
|
+
.map((sub) => index === undefined ? sub.text.join(joinIndexWith) : sub.text[index])
|
|
32
|
+
.filter((text) => {
|
|
33
|
+
return !(!text && clearEmptyLines);
|
|
34
|
+
})
|
|
35
|
+
.join(joinIndexWith);
|
|
36
|
+
return joined;
|
|
37
|
+
}
|
|
38
|
+
rebuild() {
|
|
39
|
+
return this.#subtitles.map((s) => {
|
|
40
|
+
return {
|
|
41
|
+
...s,
|
|
42
|
+
text: s.text.join(this.cutIndexWith),
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
*iterate() {
|
|
47
|
+
for (const item of this.#subtitles) {
|
|
48
|
+
yield item;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=SubtitlesManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubtitlesManager.js","sourceRoot":"","sources":["../src/SubtitlesManager.ts"],"names":[],"mappings":"AAyBA,MAAM,OAAO,eAAe;IAC3B,UAAU,GAAe,EAAE,CAAA;IAE3B,YACC,YAA4B,EAAE,EACpB,eAAe,MAAM;QAArB,iBAAY,GAAZ,YAAY,CAAS;QAE/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrC,OAAO;gBACN,GAAG,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;aACrC,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,CAAC,OAAuB;QAC9B,uCAAuC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACnD,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAA;YAC5C,CAAC;YACD,OAAO,IAAI,CAAA;QACZ,CAAC;QACD,OAAO,KAAK,CAAA;IACb,CAAC;IAED,SAAS,CAAC,KAAc,EAAE,eAAe,GAAG,IAAI,EAAE,aAAa,GAAG,IAAI;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU;aAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACZ,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CACpE;aACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,CAAA;QACnC,CAAC,CAAC;aACD,IAAI,CAAC,aAAa,CAAC,CAAA;QACrB,OAAO,MAAM,CAAA;IACd,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,OAAO;gBACN,GAAG,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;aACpC,CAAA;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAED,CAAC,OAAO;QACP,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,CAAA;QACX,CAAC;IACF,CAAC;CACD"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
export declare function numericTimeToTimecode(seconds: sub.NumericTime): sub.Timecode;
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function timecodeToNumericTime(timecode: string): number;
|
|
3
|
+
interface SubtitlesToVTTOptions {
|
|
4
|
+
/**
|
|
5
|
+
* A number between 0 and 1 that determines the y-position of all subtitles in the final VTT output.
|
|
6
|
+
* e.g. 0.9 would place the subtitles at 90% from the top (bottom area of the screen).
|
|
7
|
+
*/
|
|
8
|
+
verticalPosition: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function subtitlesToVTT(subtitles: sub.Subtitles, options?: Partial<SubtitlesToVTTOptions>): string;
|
|
3
11
|
export declare function numericTimeToSRTTimecode(seconds: sub.NumericTime): string;
|
|
4
12
|
export declare function subtitlesToSRT(subtitles: sub.Subtitles): string;
|
|
5
13
|
export declare function VTTtoSRT(vtt: string): string;
|
|
6
14
|
export declare function SRTtoVTT(srt: string): string;
|
|
15
|
+
export {};
|
|
7
16
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,QAAQ,CAQ5E;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,QAAQ,CAQ5E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAED,UAAU,qBAAqB;IAC9B;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,cAAc,CAC7B,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACtC,MAAM,CAkBR;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,MAAM,CAMzE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,GAAG,MAAM,CAS/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAyB5C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqB5C"}
|
package/lib/index.js
CHANGED
|
@@ -7,12 +7,40 @@ export function numericTimeToTimecode(seconds) {
|
|
|
7
7
|
'.' +
|
|
8
8
|
String(((seconds * 1000) | 0) % 1000).padStart(3, '0'));
|
|
9
9
|
}
|
|
10
|
-
export function
|
|
10
|
+
export function timecodeToNumericTime(timecode) {
|
|
11
|
+
const [main, msPart] = timecode.split('.');
|
|
12
|
+
if (main === undefined) {
|
|
13
|
+
throw new Error('invalid timecode');
|
|
14
|
+
}
|
|
15
|
+
const parts = main.split(':').map(Number);
|
|
16
|
+
let hours = 0, minutes = 0, seconds = 0, milliseconds = 0;
|
|
17
|
+
if (msPart)
|
|
18
|
+
milliseconds = parseInt(msPart.padEnd(3, '0'), 10);
|
|
19
|
+
if (parts.length === 3) {
|
|
20
|
+
;
|
|
21
|
+
[hours, minutes, seconds] = parts;
|
|
22
|
+
}
|
|
23
|
+
else if (parts.length === 2) {
|
|
24
|
+
;
|
|
25
|
+
[minutes, seconds] = parts;
|
|
26
|
+
}
|
|
27
|
+
else if (parts.length === 1) {
|
|
28
|
+
seconds = parts[0];
|
|
29
|
+
}
|
|
30
|
+
return hours * 3600 + minutes * 60 + seconds + milliseconds / 1000;
|
|
31
|
+
}
|
|
32
|
+
export function subtitlesToVTT(subtitles, options) {
|
|
33
|
+
const opts = {
|
|
34
|
+
verticalPosition: 1,
|
|
35
|
+
...options,
|
|
36
|
+
};
|
|
11
37
|
let vtt = 'WEBVTT\n\n';
|
|
38
|
+
// Convert normalized 0–1 vertical position to WebVTT percent
|
|
39
|
+
const lineValue = Math.round(opts.verticalPosition * 100);
|
|
12
40
|
for (const s of subtitles) {
|
|
13
|
-
if (s.id
|
|
41
|
+
if (s.id !== undefined && s.id !== null)
|
|
14
42
|
vtt += `${s.id}\n`;
|
|
15
|
-
vtt += `${numericTimeToTimecode(s.start)} --> ${numericTimeToTimecode(s.end)}
|
|
43
|
+
vtt += `${numericTimeToTimecode(s.start)} --> ${numericTimeToTimecode(s.end)} line:${lineValue}%\n`;
|
|
16
44
|
vtt += `${s.text}\n\n`;
|
|
17
45
|
}
|
|
18
46
|
return vtt;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,OAAwB;IAC7D,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACpD,GAAG;QACH,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAClD,GAAG;QACH,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAC3C,GAAG;QACH,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAiB,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vdegenne/subtitles",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Small npm utility to work with subtitles.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
8
8
|
"import": "./lib/index.js",
|
|
9
9
|
"types": "./types.d.ts"
|
|
10
|
+
},
|
|
11
|
+
"./SubtitlesManager.js": {
|
|
12
|
+
"import": "./lib/SubtitlesManager.js",
|
|
13
|
+
"types": "./lib/SubtitlesManager.d.ts"
|
|
10
14
|
}
|
|
11
15
|
},
|
|
12
16
|
"files": [
|
package/types.d.ts
CHANGED
|
@@ -5,11 +5,11 @@ declare global {
|
|
|
5
5
|
type NumericTime = number
|
|
6
6
|
|
|
7
7
|
interface Subtitle {
|
|
8
|
-
id
|
|
8
|
+
id: number
|
|
9
9
|
/** numeric time in seconds */
|
|
10
|
-
start: NumericTime
|
|
10
|
+
start: sub.NumericTime
|
|
11
11
|
/** numeric time in seconds */
|
|
12
|
-
end: NumericTime
|
|
12
|
+
end: sub.NumericTime
|
|
13
13
|
text: string
|
|
14
14
|
}
|
|
15
15
|
|