opensheetmusicdisplay
Version:
An open source JavaScript engine for displaying MusicXML based on VexFlow.
39 lines (38 loc) • 1.49 kB
TypeScript
import { MusicSheet } from "../MusicSheet";
import { PartListEntry } from "../MusicSource/PartListEntry";
import { Repetition } from "../MusicSource/Repetition";
import { Fraction } from "../../Common/DataObjects/Fraction";
import { MusicPartManagerIterator } from "./MusicPartManagerIterator";
export declare class MusicPartManager {
constructor(musicSheet: MusicSheet);
private parts;
private timestamps;
private musicSheet;
private sheetStart;
private sheetEnd;
/**
* This method is called from CoreContainer when the user changes a Repetitions's userNumberOfRepetitions.
*/
reInit(): void;
/**
* Main initialize method for MusicPartManager.
*/
init(): void;
getCurrentRepetitionTimestampTransform(curEnrolledTimestamp: Fraction): TimestampTransform;
absoluteEnrolledToSheetTimestamp(timestamp: Fraction): Fraction;
get Parts(): PartListEntry[];
get MusicSheet(): MusicSheet;
getIterator(start?: Fraction): MusicPartManagerIterator;
setSelectionStart(beginning: Fraction): void;
setSelectionRange(start: Fraction, end: Fraction): void;
private calcMapping;
}
export declare class TimestampTransform {
constructor(sourceTimestamp: Fraction, enrolledTimestamp: Fraction, repetition: Repetition, curRepetitionIteration: number);
$from: Fraction;
to: Fraction;
nextBackJump: Fraction;
nextForwardJump: Fraction;
curRepetition: Repetition;
curRepetitionIteration: number;
}