jassub 2.5.0 → 2.5.2
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/README.md +2 -0
- package/dist/jassub.d.ts +1 -1
- package/dist/jassub.js +25 -26
- package/dist/jassub.js.map +1 -1
- package/dist/wasm/jassub-worker.js +177 -118
- package/dist/wasm/jassub-worker.js.map +1 -1
- package/dist/worker/util.d.ts +50 -5
- package/dist/worker/util.js +0 -5
- package/dist/worker/util.js.map +1 -1
- package/dist/worker/worker.d.ts +8 -9
- package/dist/worker/worker.js +36 -75
- package/dist/worker/worker.js.map +1 -1
- package/package.json +2 -2
- package/src/jassub.ts +18 -16
- package/src/wasm/types.d.ts +15 -79
- package/src/worker/util.ts +51 -10
- package/src/worker/worker.ts +44 -85
package/dist/worker/worker.js
CHANGED
|
@@ -6,17 +6,19 @@ import WASM from '../wasm/jassub-worker.js';
|
|
|
6
6
|
import { Canvas2DRenderer } from "./renderers/2d-renderer.js";
|
|
7
7
|
import { WebGL1Renderer } from "./renderers/webgl1-renderer.js";
|
|
8
8
|
import { WebGL2Renderer } from "./renderers/webgl2-renderer.js";
|
|
9
|
-
import {
|
|
9
|
+
import { _fetch, fetchtext, LIBASS_YCBCR_MAP, THREAD_COUNT, WEIGHT_MAP } from "./util.js";
|
|
10
|
+
const constructor = Symbol.for('constructor');
|
|
10
11
|
export class ASSRenderer {
|
|
11
|
-
_offCanvas;
|
|
12
12
|
_wasm;
|
|
13
13
|
_subtitleColorSpace;
|
|
14
14
|
_videoColorSpace;
|
|
15
15
|
_malloc;
|
|
16
16
|
_gpurender;
|
|
17
17
|
debug = false;
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
constructor(...args) {
|
|
19
|
+
return this[constructor](...args);
|
|
20
|
+
}
|
|
21
|
+
async [constructor](data, getFont, ctrl) {
|
|
20
22
|
// remove case sensitivity
|
|
21
23
|
this._availableFonts = Object.fromEntries(Object.entries(data.availableFonts).map(([k, v]) => [k.trim().toLowerCase(), v]));
|
|
22
24
|
this.debug = data.debug;
|
|
@@ -26,16 +28,6 @@ export class ASSRenderer {
|
|
|
26
28
|
// hack, we want custom WASM URLs
|
|
27
29
|
const _fetch = globalThis.fetch;
|
|
28
30
|
globalThis.fetch = _ => _fetch(data.wasmUrl);
|
|
29
|
-
// TODO: abslink doesnt support transferables yet
|
|
30
|
-
const handleMessage = ({ data }) => {
|
|
31
|
-
if (data.name === 'offscreenCanvas') {
|
|
32
|
-
// await this._ready // needed for webGPU
|
|
33
|
-
this._offCanvas = data.ctrl;
|
|
34
|
-
this._gpurender.setCanvas(this._offCanvas);
|
|
35
|
-
removeEventListener('message', handleMessage);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
addEventListener('message', handleMessage);
|
|
39
31
|
// const devicePromise = navigator.gpu?.requestAdapter({
|
|
40
32
|
// powerPreference: 'high-performance'
|
|
41
33
|
// }).then(adapter => adapter?.requestDevice())
|
|
@@ -51,27 +43,24 @@ export class ASSRenderer {
|
|
|
51
43
|
catch {
|
|
52
44
|
this._gpurender = new Canvas2DRenderer();
|
|
53
45
|
}
|
|
46
|
+
this._gpurender.setCanvas(ctrl);
|
|
47
|
+
this._loadedInitialFonts = !data.fonts.length;
|
|
54
48
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
this.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
this._checkColorSpace();
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
ready() {
|
|
74
|
-
return this._ready;
|
|
49
|
+
const { _malloc, JASSUB } = await WASM({ __url: data.wasmUrl, __out: (log) => this._log(log) });
|
|
50
|
+
this._malloc = _malloc;
|
|
51
|
+
this._wasm = new JASSUB(data.width, data.height, this._defaultFont);
|
|
52
|
+
// Firefox seems to have issues with multithreading in workers
|
|
53
|
+
// a worker inside a worker does not recieve messages properly
|
|
54
|
+
this._wasm.setThreads(THREAD_COUNT);
|
|
55
|
+
if (!this._loadedInitialFonts)
|
|
56
|
+
await this._loadInitialFonts(data.fonts);
|
|
57
|
+
this._wasm.createTrackMem(data.subContent ?? await fetchtext(data.subUrl));
|
|
58
|
+
this._subtitleColorSpace = LIBASS_YCBCR_MAP[this._wasm.trackColorSpace];
|
|
59
|
+
if (data.libassMemoryLimit > 0 || data.libassGlyphLimit > 0) {
|
|
60
|
+
this._wasm.setMemoryLimits(data.libassGlyphLimit || 0, data.libassMemoryLimit || 0);
|
|
61
|
+
}
|
|
62
|
+
this._checkColorSpace();
|
|
63
|
+
return this;
|
|
75
64
|
}
|
|
76
65
|
// this passes a string of track data to libass, be it styles, events etc, which it then processes and adds to the track
|
|
77
66
|
// useful for streaming subtitles
|
|
@@ -79,44 +68,31 @@ export class ASSRenderer {
|
|
|
79
68
|
this._wasm.processData(events);
|
|
80
69
|
}
|
|
81
70
|
createEvent(event) {
|
|
82
|
-
|
|
71
|
+
this._wasm.createEvent(event);
|
|
83
72
|
}
|
|
84
73
|
getEvents() {
|
|
85
|
-
|
|
86
|
-
for (let i = 0; i < this._wasm.getEventCount(); i++) {
|
|
87
|
-
const { Start, Duration, ReadOrder, Layer, Style, MarginL, MarginR, MarginV, Name, Text, Effect } = this._wasm.getEvent(i);
|
|
88
|
-
events.push({ Start, Duration, ReadOrder, Layer, Style, MarginL, MarginR, MarginV, Name, Text, Effect });
|
|
89
|
-
}
|
|
90
|
-
return events;
|
|
74
|
+
return this._wasm.getEvents();
|
|
91
75
|
}
|
|
92
76
|
setEvent(event, index) {
|
|
93
|
-
|
|
77
|
+
this._wasm.setEvent(index, event);
|
|
94
78
|
}
|
|
95
79
|
removeEvent(index) {
|
|
96
80
|
this._wasm.removeEvent(index);
|
|
97
81
|
}
|
|
98
82
|
createStyle(style) {
|
|
99
|
-
|
|
100
|
-
_applyKeys(style, alloc);
|
|
101
|
-
return alloc;
|
|
83
|
+
this._wasm.createStyle(style);
|
|
102
84
|
}
|
|
103
85
|
getStyles() {
|
|
104
|
-
|
|
105
|
-
for (let i = 0; i < this._wasm.getStyleCount(); i++) {
|
|
106
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
107
|
-
const { Name, FontName, FontSize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding, treat_fontname_as_pattern, Blur, Justify } = this._wasm.getStyle(i);
|
|
108
|
-
styles.push({ Name, FontName, FontSize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding, treat_fontname_as_pattern, Blur, Justify });
|
|
109
|
-
}
|
|
110
|
-
return styles;
|
|
86
|
+
return this._wasm.getStyles();
|
|
111
87
|
}
|
|
112
88
|
setStyle(style, index) {
|
|
113
|
-
|
|
89
|
+
this._wasm.setStyle(index, style);
|
|
114
90
|
}
|
|
115
91
|
removeStyle(index) {
|
|
116
92
|
this._wasm.removeStyle(index);
|
|
117
93
|
}
|
|
118
94
|
styleOverride(style) {
|
|
119
|
-
this._wasm.styleOverride(
|
|
95
|
+
this._wasm.styleOverride(style);
|
|
120
96
|
}
|
|
121
97
|
disableStyleOverride() {
|
|
122
98
|
this._wasm.disableStyleOverride();
|
|
@@ -150,7 +126,7 @@ export class ASSRenderer {
|
|
|
150
126
|
}
|
|
151
127
|
async addFonts(fontOrURLs) {
|
|
152
128
|
if (!fontOrURLs.length)
|
|
153
|
-
return;
|
|
129
|
+
return false;
|
|
154
130
|
const strings = [];
|
|
155
131
|
const uint8s = [];
|
|
156
132
|
for (const fontOrURL of fontOrURLs) {
|
|
@@ -165,7 +141,7 @@ export class ASSRenderer {
|
|
|
165
141
|
this._allocFonts(uint8s);
|
|
166
142
|
// this isn't batched like uint8s because software like jellyfin exists, which loads 50+ fonts over the network which takes time...
|
|
167
143
|
// is connection exhaustion a concern here?
|
|
168
|
-
return await Promise.allSettled(strings.map(url => this._asyncWrite(url)));
|
|
144
|
+
return !!await Promise.allSettled(strings.map(url => this._asyncWrite(url)));
|
|
169
145
|
}
|
|
170
146
|
// we don't want to run _findAvailableFont before initial fonts are loaded
|
|
171
147
|
// because it could duplicate fonts
|
|
@@ -173,6 +149,7 @@ export class ASSRenderer {
|
|
|
173
149
|
async _loadInitialFonts(fontOrURLs) {
|
|
174
150
|
await this.addFonts(fontOrURLs);
|
|
175
151
|
this._loadedInitialFonts = true;
|
|
152
|
+
this._wasm.reloadFonts();
|
|
176
153
|
}
|
|
177
154
|
_getFont;
|
|
178
155
|
_availableFonts = {};
|
|
@@ -240,7 +217,6 @@ export class ASSRenderer {
|
|
|
240
217
|
this._gpurender.resizeCanvas(width, height);
|
|
241
218
|
}
|
|
242
219
|
async [finalizer]() {
|
|
243
|
-
await this._ready;
|
|
244
220
|
this._wasm.quitLibrary();
|
|
245
221
|
this._gpurender.destroy();
|
|
246
222
|
// @ts-expect-error force GC
|
|
@@ -250,25 +226,10 @@ export class ASSRenderer {
|
|
|
250
226
|
this._availableFonts = {};
|
|
251
227
|
}
|
|
252
228
|
_draw(time, repaint = false) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
const result = this._wasm.rawRender(time, Number(repaint));
|
|
256
|
-
if (this._wasm.changed === 0 && !repaint)
|
|
229
|
+
const images = this._wasm.rawRender(time, Number(repaint));
|
|
230
|
+
if (!images)
|
|
257
231
|
return;
|
|
258
|
-
|
|
259
|
-
for (let image = result, i = 0; i < this._wasm.count; image = image.next, ++i) {
|
|
260
|
-
// @ts-expect-error internal emsc types
|
|
261
|
-
bitmaps.push({
|
|
262
|
-
bitmap: image.bitmap,
|
|
263
|
-
color: image.color,
|
|
264
|
-
dst_x: image.dst_x,
|
|
265
|
-
dst_y: image.dst_y,
|
|
266
|
-
h: image.h,
|
|
267
|
-
stride: image.stride,
|
|
268
|
-
w: image.w
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
this._gpurender.render(bitmaps, self.HEAPU8RAW);
|
|
232
|
+
this._gpurender.render(images, self.HEAPU8RAW);
|
|
272
233
|
}
|
|
273
234
|
_setColorSpace(videoColorSpace) {
|
|
274
235
|
if (videoColorSpace === 'RGB')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jassub",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.2",
|
|
4
4
|
"description": "The Fastest JavaScript SSA/ASS Subtitle Renderer For Browsers",
|
|
5
5
|
"main": "dist/jassub.js",
|
|
6
6
|
"type": "module",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"homepage": "https://github.com/ThaUnknown/jassub",
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"abslink": "^1.
|
|
43
|
+
"abslink": "^1.2.2",
|
|
44
44
|
"lfa-ponyfill": "^1.1.0",
|
|
45
45
|
"rvfc-polyfill": "^1.0.8",
|
|
46
46
|
"throughput": "^1.0.2"
|
package/src/jassub.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'rvfc-polyfill'
|
|
2
2
|
|
|
3
|
-
import { proxy, releaseProxy } from 'abslink'
|
|
3
|
+
import { proxy, releaseProxy, transfer } from 'abslink'
|
|
4
4
|
import { wrap } from 'abslink/w3c'
|
|
5
5
|
|
|
6
6
|
import { Debug } from './debug.ts'
|
|
@@ -115,8 +115,8 @@ export default class JASSUB {
|
|
|
115
115
|
availableFonts['liberation sans'] = new URL('./default.woff2', import.meta.url).href
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
this.ready =
|
|
119
|
-
|
|
118
|
+
this.ready = new Renderer(
|
|
119
|
+
{
|
|
120
120
|
wasmUrl: JASSUB._supportsSIMD ? modern : normal,
|
|
121
121
|
width: ctrl.width,
|
|
122
122
|
height: ctrl.height,
|
|
@@ -129,17 +129,18 @@ export default class JASSUB {
|
|
|
129
129
|
libassMemoryLimit: opts.libassMemoryLimit ?? 0,
|
|
130
130
|
libassGlyphLimit: opts.libassGlyphLimit ?? 0,
|
|
131
131
|
queryFonts: opts.queryFonts ?? 'local'
|
|
132
|
-
},
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
132
|
+
},
|
|
133
|
+
proxy(font => this._getLocalFont(font)),
|
|
134
|
+
transfer(ctrl, [ctrl])
|
|
135
|
+
).then((renderer: unknown) => {
|
|
136
|
+
this.renderer = renderer as Remote<ASSRenderer>
|
|
137
|
+
})
|
|
136
138
|
|
|
137
139
|
if (this._video) {
|
|
138
140
|
this.setVideo(this._video)
|
|
139
141
|
} else {
|
|
140
142
|
this._ro.observe(this._canvas)
|
|
141
143
|
}
|
|
142
|
-
this._worker.postMessage({ name: 'offscreenCanvas', ctrl }, [ctrl])
|
|
143
144
|
}
|
|
144
145
|
|
|
145
146
|
static _supportsSIMD?: boolean
|
|
@@ -189,21 +190,21 @@ export default class JASSUB {
|
|
|
189
190
|
if (this._lastDemandTime) await this._demandRender(forceRepaint)
|
|
190
191
|
}
|
|
191
192
|
|
|
192
|
-
_getElementBoundingBox (el:
|
|
193
|
-
const {
|
|
193
|
+
_getElementBoundingBox (el: HTMLElement, videoWidth: number, videoHeight: number) {
|
|
194
|
+
const { clientWidth, clientHeight, offsetLeft, offsetTop } = el
|
|
194
195
|
|
|
195
196
|
const videoRatio = videoWidth / videoHeight
|
|
196
|
-
const elementRatio =
|
|
197
|
+
const elementRatio = clientWidth / clientHeight
|
|
197
198
|
|
|
198
199
|
if (elementRatio > videoRatio) {
|
|
199
|
-
videoHeight =
|
|
200
|
-
videoWidth =
|
|
200
|
+
videoHeight = clientHeight
|
|
201
|
+
videoWidth = clientHeight * videoRatio
|
|
201
202
|
} else {
|
|
202
|
-
videoHeight =
|
|
203
|
-
videoWidth =
|
|
203
|
+
videoHeight = clientWidth / videoRatio
|
|
204
|
+
videoWidth = clientWidth
|
|
204
205
|
}
|
|
205
206
|
|
|
206
|
-
return { x:
|
|
207
|
+
return { x: offsetLeft + (clientWidth - videoWidth) / 2, y: offsetTop + (clientHeight - videoHeight) / 2, width: videoWidth, height: videoHeight }
|
|
207
208
|
}
|
|
208
209
|
|
|
209
210
|
_computeRenderSize (width = 0, height = 0) {
|
|
@@ -324,6 +325,7 @@ export default class JASSUB {
|
|
|
324
325
|
this._destroyed = true
|
|
325
326
|
this._canvas.remove()
|
|
326
327
|
this._removeListeners()
|
|
328
|
+
await this.ready
|
|
327
329
|
await this.renderer?.[releaseProxy]()
|
|
328
330
|
this._worker.terminate()
|
|
329
331
|
}
|
package/src/wasm/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// TypeScript bindings for emscripten-generated code. Automatically generated at compile time.
|
|
2
2
|
interface WasmModule {
|
|
3
3
|
__ZdlPvm(_0: number, _1: number): void;
|
|
4
|
+
__Znwm(_0: number): number;
|
|
4
5
|
_malloc(_0: number): number;
|
|
5
6
|
_calloc(_0: number, _1: number): number;
|
|
6
7
|
_emscripten_builtin_free(_0: number): void;
|
|
@@ -10,10 +11,9 @@ interface WasmModule {
|
|
|
10
11
|
__ZdaPv(_0: number): void;
|
|
11
12
|
__ZdaPvm(_0: number, _1: number): void;
|
|
12
13
|
__ZdlPv(_0: number): void;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
__ZnwjSt11align_val_t(_0: number, _1: number): number;
|
|
14
|
+
__Znam(_0: number): number;
|
|
15
|
+
__ZnamSt11align_val_t(_0: number, _1: number): number;
|
|
16
|
+
__ZnwmSt11align_val_t(_0: number, _1: number): number;
|
|
17
17
|
___libc_calloc(_0: number, _1: number): number;
|
|
18
18
|
___libc_realloc(_0: number, _1: number): number;
|
|
19
19
|
_emscripten_builtin_calloc(_0: number, _1: number): number;
|
|
@@ -33,101 +33,37 @@ export interface ClassHandle {
|
|
|
33
33
|
[Symbol.dispose](): void;
|
|
34
34
|
clone(): this;
|
|
35
35
|
}
|
|
36
|
-
export interface ASS_Image extends ClassHandle {
|
|
37
|
-
readonly next: ASS_Image;
|
|
38
|
-
w: number;
|
|
39
|
-
h: number;
|
|
40
|
-
dst_x: number;
|
|
41
|
-
dst_y: number;
|
|
42
|
-
stride: number;
|
|
43
|
-
color: number;
|
|
44
|
-
readonly bitmap: number;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export interface ASS_Style extends ClassHandle {
|
|
48
|
-
Bold: number;
|
|
49
|
-
Italic: number;
|
|
50
|
-
Underline: number;
|
|
51
|
-
StrikeOut: number;
|
|
52
|
-
BorderStyle: number;
|
|
53
|
-
Alignment: number;
|
|
54
|
-
MarginL: number;
|
|
55
|
-
MarginR: number;
|
|
56
|
-
MarginV: number;
|
|
57
|
-
Encoding: number;
|
|
58
|
-
treat_fontname_as_pattern: number;
|
|
59
|
-
Justify: number;
|
|
60
|
-
PrimaryColour: number;
|
|
61
|
-
SecondaryColour: number;
|
|
62
|
-
OutlineColour: number;
|
|
63
|
-
BackColour: number;
|
|
64
|
-
FontSize: number;
|
|
65
|
-
ScaleX: number;
|
|
66
|
-
ScaleY: number;
|
|
67
|
-
Spacing: number;
|
|
68
|
-
Angle: number;
|
|
69
|
-
Outline: number;
|
|
70
|
-
Shadow: number;
|
|
71
|
-
Blur: number;
|
|
72
|
-
get Name(): string;
|
|
73
|
-
set Name(value: EmbindString);
|
|
74
|
-
get FontName(): string;
|
|
75
|
-
set FontName(value: EmbindString);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export interface ASS_Event extends ClassHandle {
|
|
79
|
-
ReadOrder: number;
|
|
80
|
-
Layer: number;
|
|
81
|
-
Style: number;
|
|
82
|
-
MarginL: number;
|
|
83
|
-
MarginR: number;
|
|
84
|
-
MarginV: number;
|
|
85
|
-
Start: number;
|
|
86
|
-
Duration: number;
|
|
87
|
-
get Name(): string;
|
|
88
|
-
set Name(value: EmbindString);
|
|
89
|
-
get Effect(): string;
|
|
90
|
-
set Effect(value: EmbindString);
|
|
91
|
-
get Text(): string;
|
|
92
|
-
set Text(value: EmbindString);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
36
|
export interface JASSUB extends ClassHandle {
|
|
96
37
|
trackColorSpace: number;
|
|
97
|
-
changed: number;
|
|
98
|
-
count: number;
|
|
99
38
|
removeTrack(): void;
|
|
100
39
|
quitLibrary(): void;
|
|
101
40
|
reloadFonts(): void;
|
|
102
41
|
removeAllEvents(): void;
|
|
103
|
-
styleOverride(_0: ASS_Style): void;
|
|
104
42
|
disableStyleOverride(): void;
|
|
105
43
|
setLogLevel(_0: number): void;
|
|
106
44
|
resizeCanvas(_0: number, _1: number, _2: number, _3: number): void;
|
|
107
45
|
setMargin(_0: number, _1: number, _2: number, _3: number): void;
|
|
108
|
-
getEventCount(): number;
|
|
109
|
-
allocEvent(): number;
|
|
110
|
-
allocStyle(): number;
|
|
111
46
|
removeEvent(_0: number): void;
|
|
112
|
-
getStyleCount(): number;
|
|
113
47
|
removeStyle(_0: number): void;
|
|
114
48
|
setMemoryLimits(_0: number, _1: number): void;
|
|
115
|
-
getEvent(_0: number): ASS_Event | null;
|
|
116
|
-
getStyle(_0: number): ASS_Style | null;
|
|
117
49
|
setThreads(_0: number): number;
|
|
118
|
-
rawRender(_0: number, _1: number): ASS_Image | null;
|
|
119
50
|
createTrackMem(_0: EmbindString): void;
|
|
120
|
-
addFont(_0: EmbindString, _1: number, _2: number): void;
|
|
121
51
|
processData(_0: EmbindString): void;
|
|
122
|
-
|
|
52
|
+
addFont(_0: any, _1: number, _2: number): void;
|
|
53
|
+
getEvents(): any;
|
|
54
|
+
getStyles(): any;
|
|
55
|
+
createEvent(_0: any): void;
|
|
56
|
+
setEvent(_0: number, _1: any): void;
|
|
57
|
+
createStyle(_0: any): void;
|
|
58
|
+
setStyle(_0: number, _1: any): void;
|
|
59
|
+
rawRender(_0: number, _1: number): any;
|
|
60
|
+
styleOverride(_0: any): void;
|
|
61
|
+
setDefaultFont(_0: any): void;
|
|
123
62
|
}
|
|
124
63
|
|
|
125
64
|
interface EmbindModule {
|
|
126
|
-
ASS_Image: {};
|
|
127
|
-
ASS_Style: {};
|
|
128
|
-
ASS_Event: {};
|
|
129
65
|
JASSUB: {
|
|
130
|
-
new(_0: number, _1: number, _2:
|
|
66
|
+
new(_0: number, _1: number, _2: any): JASSUB;
|
|
131
67
|
};
|
|
132
68
|
}
|
|
133
69
|
|
package/src/worker/util.ts
CHANGED
|
@@ -1,9 +1,56 @@
|
|
|
1
1
|
/* eslint-disable camelcase */
|
|
2
|
-
|
|
2
|
+
export interface ASSEvent {
|
|
3
|
+
Start: number
|
|
4
|
+
Duration: number
|
|
5
|
+
Name: string
|
|
6
|
+
Effect: string
|
|
7
|
+
Text: string
|
|
8
|
+
ReadOrder: number
|
|
9
|
+
Layer: number
|
|
10
|
+
Style: number
|
|
11
|
+
MarginL: number
|
|
12
|
+
MarginR: number
|
|
13
|
+
MarginV: number
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface ASSStyle {
|
|
17
|
+
Name: string
|
|
18
|
+
FontName: string
|
|
19
|
+
FontSize: number
|
|
20
|
+
PrimaryColour: number
|
|
21
|
+
SecondaryColour: number
|
|
22
|
+
OutlineColour: number
|
|
23
|
+
BackColour: number
|
|
24
|
+
Bold: number
|
|
25
|
+
Italic: number
|
|
26
|
+
Underline: number
|
|
27
|
+
StrikeOut: number
|
|
28
|
+
ScaleX: number
|
|
29
|
+
ScaleY: number
|
|
30
|
+
Spacing: number
|
|
31
|
+
Angle: number
|
|
32
|
+
BorderStyle: number
|
|
33
|
+
Outline: number
|
|
34
|
+
Shadow: number
|
|
35
|
+
Alignment: number
|
|
36
|
+
MarginL: number
|
|
37
|
+
MarginR: number
|
|
38
|
+
MarginV: number
|
|
39
|
+
Encoding: number
|
|
40
|
+
treat_fontname_as_pattern: number
|
|
41
|
+
Blur: number
|
|
42
|
+
Justify: number
|
|
43
|
+
}
|
|
3
44
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
45
|
+
export interface ASSImage {
|
|
46
|
+
w: number
|
|
47
|
+
h: number
|
|
48
|
+
dst_x: number
|
|
49
|
+
dst_y: number
|
|
50
|
+
stride: number
|
|
51
|
+
color: number
|
|
52
|
+
bitmap: number
|
|
53
|
+
}
|
|
7
54
|
|
|
8
55
|
// offset by 1, 0 = 1, to match CSS font-weight values, but dividing by 100 gives the correct index
|
|
9
56
|
export const WEIGHT_MAP = [
|
|
@@ -32,12 +79,6 @@ const d = 'FCC'
|
|
|
32
79
|
|
|
33
80
|
export const LIBASS_YCBCR_MAP = [null, a, null, a, a, b, b, c, c, d, d] as const
|
|
34
81
|
|
|
35
|
-
export function _applyKeys<T extends (ASSEvent | ASSStyle)> (input: T, output: T) {
|
|
36
|
-
for (const v of Object.keys(input) as Array<keyof T>) {
|
|
37
|
-
output[v] = input[v]
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
82
|
export const _fetch = globalThis.fetch
|
|
42
83
|
export async function fetchtext (url: string) {
|
|
43
84
|
const res = await _fetch(url)
|