opensheetmusicdisplay
Version:
An open source JavaScript engine for displaying MusicXML based on VexFlow.
63 lines (62 loc) • 3.01 kB
TypeScript
import { SourceMusicPart } from "./SourceMusicPart";
import { Fraction } from "../../Common/DataObjects/Fraction";
import { MusicSheet } from "../MusicSheet";
import { RepetitionInstruction } from "../VoiceData/Instructions/RepetitionInstruction";
import { PartListEntry } from "./PartListEntry";
export declare class Repetition extends PartListEntry {
constructor(musicSheet: MusicSheet, virtualOverallRepetition?: boolean);
startMarker: RepetitionInstruction;
endMarker: RepetitionInstruction;
forwardJumpInstruction: RepetitionInstruction;
/** If set to true, will skip the repetition during playback.
* Note that you need to call PlaybackManager.recalculatePlaybackEntriesAndRepetitions() afterwards to skip repetitions during playback.
* Also note that the better method is to set UserNumberOfRepetitions = 1 instead of SkipRepetition, this will also work for voltas.
* This can be set or disabled by the user/developer at any time.
* Note that you can also set osmd.EngravingRules.CursorIgnoreRepetitions to skip all repetitions. */
SkipRepetition: boolean;
/** How many times the repetition should be played. Standard for a repetition is 2, so setting it to 1 makes it not repeat.
* Note that you need to call PlaybackManager.recalculatePlaybackEntriesAndRepetitions() afterwards to respect this during playback.
*/
private userNumberOfRepetitions;
private backwardJumpInstructions;
private endingParts;
private endingIndexDict;
private visibles;
private fromWords;
private musicSheet2;
private repetitonIterationOrder;
private numberOfEndings;
private virtualOverallRepetition;
get BackwardJumpInstructions(): RepetitionInstruction[];
get EndingIndexDict(): {
[_: number]: RepetitionEndingPart;
};
get EndingParts(): RepetitionEndingPart[];
get Visibles(): boolean[];
set Visibles(value: boolean[]);
get DefaultNumberOfRepetitions(): number;
get UserNumberOfRepetitions(): number;
set UserNumberOfRepetitions(value: number);
getForwardJumpTargetForIteration(iteration: number): number;
getBackwardJumpTarget(): number;
setEndingsStartIndex(endingNumbers: number[], startIndex: number): void;
setEndingStartIndex(endingNumber: number, startIndex: number): void;
setEndingEndIndex(endingNumber: number, endIndex: number): void;
get NumberOfEndings(): number;
get FromWords(): boolean;
set FromWords(value: boolean);
get AbsoluteTimestamp(): Fraction;
get StartIndex(): number;
get EndIndex(): number;
private checkRepetitionForMultipleLyricVerses;
get FirstSourceMeasureNumber(): number;
get LastSourceMeasureNumber(): number;
coversIdenticalMeasures(other: Repetition): boolean;
removeFromRepetitionInstructions(): void;
}
export declare class RepetitionEndingPart {
constructor(endingPart: SourceMusicPart);
part: SourceMusicPart;
endingIndices: number[];
ToString(): string;
}