opensheetmusicdisplay
Version:
An open source JavaScript engine for displaying MusicXML based on VexFlow.
32 lines (31 loc) • 1.21 kB
TypeScript
import { Note } from "./Note";
import { Fraction } from "../../Common/DataObjects/Fraction";
import { Pitch } from "../../Common/DataObjects/Pitch";
import { TieTypes } from "../../Common/Enums/";
import { PlacementEnum } from "../VoiceData/Expressions/AbstractExpression";
/**
* A [[Tie]] connects two notes of the same pitch and name, indicating that they have to be played as a single note.
*/
export declare class Tie {
constructor(note: Note, type: TieTypes);
private notes;
private type;
TieNumber: number;
TieDirection: PlacementEnum;
/** Can contain tie directions at certain note indices.
* For example, if it contains {2: PlacementEnum.Below}, then
* the tie should go downwards from Tie.Notes[2] onwards,
* even if tie.TieDirection is PlacementEnum.Above (tie starts going up on Notes[0]).
*/
NoteIndexToTieDirection: NoteIndexToPlacementEnum;
getTieDirection(startNote?: Note): PlacementEnum;
get Notes(): Note[];
get Type(): TieTypes;
get StartNote(): Note;
get Duration(): Fraction;
get Pitch(): Pitch;
AddNote(note: Note): void;
}
export interface NoteIndexToPlacementEnum {
[key: number]: PlacementEnum;
}