IGraphicalSymbolFactory.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import {ClefInstruction} from "../VoiceData/Instructions/ClefInstruction";
  2. import {Fraction} from "../../Common/DataObjects/Fraction";
  3. import {GraphicalNote} from "../Graphical/GraphicalNote";
  4. import {GraphicalStaffEntry} from "../Graphical/GraphicalStaffEntry";
  5. import {MusicSystem} from "../Graphical/MusicSystem";
  6. import {Note} from "../VoiceData/Note";
  7. import {OctaveEnum} from "../VoiceData/Expressions/ContinuousExpressions/OctaveShift";
  8. import {Pitch} from "../../Common/DataObjects/Pitch";
  9. import {SourceMeasure} from "../VoiceData/SourceMeasure";
  10. import {SourceStaffEntry} from "../VoiceData/SourceStaffEntry";
  11. import {Staff} from "../VoiceData/Staff";
  12. import {StaffLine} from "../Graphical/StaffLine";
  13. import {GraphicalMeasure} from "../Graphical/GraphicalMeasure";
  14. import { TechnicalInstruction } from "../VoiceData/Instructions/TechnicalInstruction";
  15. import { GraphicalVoiceEntry } from "../Graphical/GraphicalVoiceEntry";
  16. import { VoiceEntry } from "../VoiceData/VoiceEntry";
  17. export interface IGraphicalSymbolFactory {
  18. createMusicSystem(systemIndex: number): MusicSystem;
  19. createStaffLine(parentSystem: MusicSystem, parentStaff: Staff): StaffLine;
  20. createGraphicalMeasure(sourceMeasure: SourceMeasure, staff: Staff): GraphicalMeasure;
  21. createExtraGraphicalMeasure(staffLine: StaffLine): GraphicalMeasure;
  22. createStaffEntry(sourceStaffEntry: SourceStaffEntry, measure: GraphicalMeasure): GraphicalStaffEntry;
  23. createVoiceEntry(parentVoiceEntry: VoiceEntry, parentStaffEntry: GraphicalStaffEntry): GraphicalVoiceEntry;
  24. createNote(
  25. note: Note,
  26. graphicalVoiceEntry: GraphicalVoiceEntry,
  27. activeClef: ClefInstruction,
  28. octaveShift: OctaveEnum,
  29. graphicalNoteLength: Fraction): GraphicalNote;
  30. createGraceNote(
  31. note: Note,
  32. graphicalVoiceEntry: GraphicalVoiceEntry,
  33. activeClef: ClefInstruction,
  34. octaveShift: OctaveEnum): GraphicalNote;
  35. addGraphicalAccidental(graphicalNote: GraphicalNote, pitch: Pitch): void;
  36. addFermataAtTiedEndNote(tiedNote: Note, graphicalStaffEntry: GraphicalStaffEntry): void;
  37. createGraphicalTechnicalInstruction(
  38. technicalInstruction: TechnicalInstruction,
  39. graphicalStaffEntry: GraphicalStaffEntry): void;
  40. createInStaffClef(graphicalStaffEntry: GraphicalStaffEntry, clefInstruction: ClefInstruction): void;
  41. createChordSymbols(
  42. sourceStaffEntry: SourceStaffEntry,
  43. graphicalStaffEntry: GraphicalStaffEntry,
  44. transposeHalftones: number): void;
  45. }