TabNote.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. import { Note } from "./Note";
  2. import { Fraction } from "../../Common/DataObjects/Fraction";
  3. import { VoiceEntry } from "./VoiceEntry";
  4. import { SourceStaffEntry } from "./SourceStaffEntry";
  5. import { Pitch } from "../../Common/DataObjects/Pitch";
  6. import { SourceMeasure } from "./SourceMeasure";
  7. export class TabNote extends Note {
  8. constructor(voiceEntry: VoiceEntry, parentStaffEntry: SourceStaffEntry, length: Fraction, pitch: Pitch, sourceMeasure: SourceMeasure,
  9. stringNumber: number, fretNumber: number, bendArray: { bendalter: number, direction: string }[]) {
  10. super(voiceEntry, parentStaffEntry, length, pitch, sourceMeasure);
  11. this.stringNumberTab = stringNumber;
  12. this.fretNumber = fretNumber;
  13. this.bendArray = bendArray;
  14. }
  15. private stringNumberTab: number; // there can also be string numbers for e.g. violin in treble clef.
  16. private fretNumber: number;
  17. private bendArray: { bendalter: number, direction: string }[];
  18. /** Returns the string number the note should be played on. Note there can also be violin string numbers in treble clef. */
  19. public get StringNumberTab(): number {
  20. return this.stringNumberTab;
  21. }
  22. public get FretNumber(): number {
  23. return this.fretNumber;
  24. }
  25. public get BendArray(): { bendalter: number, direction: string }[] {
  26. return this.bendArray;
  27. }
  28. }