TabNote.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. vibratoStroke: boolean) {
  11. super(voiceEntry, parentStaffEntry, length, pitch, sourceMeasure);
  12. this.stringNumberTab = stringNumber;
  13. this.fretNumber = fretNumber;
  14. this.bendArray = bendArray;
  15. this.vibratoStroke = vibratoStroke;
  16. }
  17. private stringNumberTab: number; // there can also be string numbers for e.g. violin in treble clef.
  18. private fretNumber: number;
  19. private bendArray: { bendalter: number, direction: string }[];
  20. private vibratoStroke: boolean;
  21. /** Returns the string number the note should be played on. Note there can also be violin string numbers in treble clef. */
  22. public get StringNumberTab(): number {
  23. return this.stringNumberTab;
  24. }
  25. public get FretNumber(): number {
  26. return this.fretNumber;
  27. }
  28. public get BendArray(): { bendalter: number, direction: string }[] {
  29. return this.bendArray;
  30. }
  31. public get VibratoStroke(): boolean {
  32. return this.vibratoStroke;
  33. }
  34. }