UNPKG

@omnimedia/omnitool

Version:

open source video processing tools

27 lines (19 loc) 554 B
import {pub, Pub} from "@e280/stz" import {ProgressItem} from "../speech-recognition/whisper/parts/types.js" export interface LoaderEvents { onModelLoadProgress: Pub<ProgressItem[]> onTpsUpdate: Pub<[number]> } export abstract class Loader { tps = 0 static loaderEvents = { onModelLoadProgress: pub<ProgressItem[]>(), onTpsUpdate: pub<[number]>() } constructor(public readonly name: string, public model: string) {} abstract init(): Promise<void> abstract setModel(model: string): void setTps(value: number) { this.tps = value } }