import { MusicSheet } from "../MusicSheet" ; import { Fraction } from "../../Common/DataObjects/Fraction" ; import { SourceMeasure } from "../VoiceData/SourceMeasure" ; export abstract class PartListEntry { constructor ( musicSheet ) { this . musicSheet = musicSheet ; } public absoluteTimestamp : Fraction ; public startIndex : number ; public endIndex : number ; protected enrolledTimestamps : Fraction [ ] = [ ] ; protected visible : boolean = true ; protected musicSheet : MusicSheet ; public get Visible ( ) : boolean { return this . visible ; } public set Visible ( value ) { this . visible = value ; } public getFirstSourceMeasure ( ) { return this . musicSheet . SourceMeasures [ this . startIndex ] ; } public getLastSourceMeasure ( ) { return this . musicSheet . SourceMeasures [ this . endIndex ] ; } }