import { AbcElem } from "abcjs"; export interface INote { /** 临时升降记号 */ accidental: string | "^^" | "^" | "_" | "__" | "="; /** 音符 */ content: string; /** 音符类型 */ noteType: string; /** 拍号 */ meter: string; /** 谱号 */ clef: string; /** 调号 */ key: string; /** 演奏技法 */ play: string[]; /** 速度 */ speed: string; /** 力度符号 */ dynamics: string; /** 渐强渐弱关联 */ dCode: string; /** 延音 */ tie: string; /** 连音关联 */ tCode: string; /** 附点 */ dot: string; /** 3连音 */ slus: string /** 延音 */ tieline: string } export interface IMeasure { /** 小节号 */ measureNumber?: number; /** 小节内的音符 */ notes: INote[]; /** 小节线 */ barline: string; /** 谱号 */ celf: string; /** 调号 */ key: string; /** 反复跳跃 */ repeat: string; } export interface IAbc { /** 谱号 */ celf?: string; /** 调号 */ key?: string; /** 拍号 */ meter?: string; minUnit?: string; /** 曲谱名 */ title?: string; /** 速度 */ speed: string; measures: IMeasure[]; } export interface INoteActive extends AbcElem { /** 小节 index */ measureIndex: number; /** 音符 index */ noteIndex: number; /** 是否第一次选中小节 */ isFirstChecked: boolean; averagepitch?: number; }