Tone.js/test/helper/CompareToFile.ts

30 lines
953 B
TypeScript
Raw Normal View History

2019-06-17 18:03:52 +00:00
// import {Offline} from "./Offline";
import { Compare } from "@tonejs/plot";
import { OfflineContext } from "Tone/core/context/OfflineContext";
import { getContext, setContext } from "Tone/core/Global";
2019-06-17 18:03:52 +00:00
import "./ToneAudioBuffer";
export async function CompareToFile(
callback, url: string,
threshold: number = 0.001,
RENDER_NEW: boolean = false,
duration: number = 0.1, channels: number = 1,
): Promise<void> {
// @ts-ignore
const prefix = window.__karma__ ? "/base/test/" : "../test/";
const origContext = getContext();
2019-06-17 18:03:52 +00:00
try {
await Compare.toFile(async context => {
2019-08-19 16:59:22 +00:00
const offlineContext = new OfflineContext(context);
setContext(offlineContext);
await callback(offlineContext);
// @ts-ignore
await offlineContext.workletsAreReady();
// @ts-ignore
await offlineContext._renderClock();
}, prefix + "audio/compare/" + url, threshold, RENDER_NEW, duration, channels, 44100);
2019-06-17 18:03:52 +00:00
} finally {
setContext(origContext);
2019-06-17 18:03:52 +00:00
}
}