osmd-audio-player
Version:
OSMD audio player
35 lines (34 loc) • 1.22 kB
TypeScript
import { VoiceEntry } from "opensheetmusicdisplay/build/dist/src";
import { IAudioContext } from "standardized-audio-context";
declare type NoteSchedulingCallback = (delay: number, notes: any) => void;
export default class PlaybackScheduler {
wholeNoteLength: number;
private stepQueue;
private stepQueueIndex;
private scheduledTicks;
private currentTick;
private currentTickTimestamp;
private audioContext;
private audioContextStartTime;
private schedulerIntervalHandle;
private scheduleInterval;
private schedulePeriod;
private tickDenominator;
private lastTickOffset;
private playing;
private noteSchedulingCallback;
constructor(wholeNoteLength: number, audioContext: IAudioContext, noteSchedulingCallback: NoteSchedulingCallback);
get schedulePeriodTicks(): number;
get audioContextTime(): number;
get tickDuration(): number;
private get calculatedTick();
start(): void;
setIterationStep(step: number): void;
pause(): void;
resume(): void;
reset(): void;
loadNotes(currentVoiceEntries: VoiceEntry[]): void;
private scheduleIterationStep;
private nextTickAvailableAndWithinSchedulePeriod;
}
export {};