1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import {Fraction} from "../../Common/DataObjects/Fraction";
- import {GraphicalStaffEntry} from "./GraphicalStaffEntry";
- export class VerticalGraphicalStaffEntryContainer {
- constructor(numberOfEntries: number, absoluteTimestamp: Fraction) {
- this.absoluteTimestamp = absoluteTimestamp;
- this.staffEntries = new Array(numberOfEntries);
- }
- //public relativeInMeasureTimestamp: Fraction;
- private index: number;
- private absoluteTimestamp: Fraction;
- private staffEntries: GraphicalStaffEntry[] = [];
- public get Index(): number {
- return this.index;
- }
- public set Index(value: number) {
- this.index = value;
- }
- public get AbsoluteTimestamp(): Fraction {
- return this.absoluteTimestamp;
- }
- //public set AbsoluteTimestamp(value: Fraction) {
- // this.absoluteTimestamp = value;
- //}
- public get StaffEntries(): GraphicalStaffEntry[] {
- return this.staffEntries;
- }
- public set StaffEntries(value: GraphicalStaffEntry[]) {
- this.staffEntries = value;
- }
- public static compareByTimestamp(x: VerticalGraphicalStaffEntryContainer, y: VerticalGraphicalStaffEntryContainer): number {
- const xValue: number = x.absoluteTimestamp.RealValue;
- const yValue: number = y.absoluteTimestamp.RealValue;
- if (xValue < yValue) {
- return -1;
- } else if (xValue > yValue) {
- return 1;
- } else {
- return 0;
- }
- }
- /**
- * Return the first non-null [[GraphicalStaffEntry]].
- * @returns {any}
- */
- public getFirstNonNullStaffEntry(): GraphicalStaffEntry {
- for (let idx: number = 0, len: number = this.staffEntries.length; idx < len; ++idx) {
- const graphicalStaffEntry: GraphicalStaffEntry = this.staffEntries[idx];
- if (graphicalStaffEntry !== undefined) {
- return graphicalStaffEntry;
- }
- }
- return undefined;
- }
- }
|