opensheetmusicdisplay
Version:
An open source JavaScript engine for displaying MusicXML based on VexFlow.
59 lines (58 loc) • 2.52 kB
TypeScript
import { Fraction } from "../../Common/DataObjects/Fraction";
import { VerticalSourceStaffEntryContainer } from "./VerticalSourceStaffEntryContainer";
import { Staff } from "./Staff";
import { AbstractNotationInstruction } from "./Instructions/AbstractNotationInstruction";
import { VoiceEntry } from "./VoiceEntry";
import { Note } from "./Note";
import { StaffEntryLink } from "./StaffEntryLink";
import { ChordSymbolContainer } from "./ChordSymbolContainer";
/**
* A [[SourceStaffEntry]] is a container spanning all the [[VoiceEntry]]s at one timestamp for one [[StaffLine]].
*/
export declare class SourceStaffEntry {
constructor(verticalContainerParent: VerticalSourceStaffEntryContainer, parentStaff: Staff);
private parentStaff;
private verticalContainerParent;
private voiceEntries;
private staffEntryLink;
private instructions;
private chordSymbolContainers;
get ParentStaff(): Staff;
get VerticalContainerParent(): VerticalSourceStaffEntryContainer;
get Timestamp(): Fraction;
get AbsoluteTimestamp(): Fraction;
get VoiceEntries(): VoiceEntry[];
set VoiceEntries(value: VoiceEntry[]);
get Link(): StaffEntryLink;
set Link(value: StaffEntryLink);
get Instructions(): AbstractNotationInstruction[];
set Instructions(value: AbstractNotationInstruction[]);
get ChordContainers(): ChordSymbolContainer[];
set ChordContainers(value: ChordSymbolContainer[]);
removeAllInstructionsOfTypeClefInstruction(): number;
/**
* Similar to RemoveAllInstructionsOfType but faster,
* because it stops searching when the first instruction of the given type is found.
* @returns {boolean}
*/
removeFirstInstructionOfTypeClefInstruction(): boolean;
removeAllInstructionsOfTypeKeyInstruction(): number;
/**
* Similar to RemoveAllInstructionsOfType but faster,
* because it stops searching when the first instruction of the given type is found.
* @returns {boolean}
*/
removeFirstInstructionOfTypeKeyInstruction(): boolean;
removeAllInstructionsOfTypeRhythmInstruction(): number;
removeFirstInstructionOfTypeRhythmInstruction(): boolean;
/**
* Calculate the [[SourceStaffEntry]]'s minimum NoteLength.
* @returns {Fraction}
*/
calculateMinNoteLength(): Fraction;
calculateMaxNoteLength(untilEndOfTie?: boolean): Fraction;
hasNotes(): boolean;
hasTie(): boolean;
findLinkedNotes(linkedNotes: Note[]): void;
get hasOnlyRests(): boolean;
}