VexFlowMusicSystem.ts 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import {MusicSystem} from "../MusicSystem";
  2. import {GraphicalMusicPage} from "../GraphicalMusicPage";
  3. import {SystemLinesEnum} from "../SystemLinesEnum";
  4. import {EngravingRules} from "../EngravingRules";
  5. import {PointF2D} from "../../../Common/DataObjects/PointF2D";
  6. export class VexFlowMusicSystem extends MusicSystem {
  7. constructor(parent: GraphicalMusicPage, id: number) {
  8. super(parent, id);
  9. }
  10. /**
  11. * This method creates the left vertical Line of the MusicSystem.
  12. * @param lineWidth
  13. * @param systemLabelsRightMargin
  14. */
  15. public createSystemLeftVerticalLineObject(lineWidth: number, systemLabelsRightMargin: number): void {
  16. return;
  17. }
  18. /**
  19. * This method creates the vertical Line Objects after the End of all StaffLine's Measures
  20. * @param position
  21. * @param lineType
  22. * @param lineWidth
  23. * @param index
  24. */
  25. public createVerticalLineForMeasure(position: number, lineType: SystemLinesEnum, lineWidth: number, index: number): void {
  26. return;
  27. }
  28. /**
  29. * This method sets the y-Positions of vertical Line Objects and creates the Lines within.
  30. * @param rules
  31. */
  32. public setYPositionsToVerticalLineObjectsAndCreateLines(rules: EngravingRules): void {
  33. return;
  34. }
  35. /**
  36. * Calculates the summed x-width of a possibly given Instrument Brace and/or Group Bracket(s).
  37. * @returns {number} the x-width
  38. */
  39. protected calcInstrumentsBracketsWidth(): number {
  40. return 0;
  41. }
  42. /**
  43. * creates an instrument brace for the given dimension.
  44. * The height and positioning can be inferred from the given points.
  45. * @param rightUpper the upper right corner point of the bracket to create
  46. * @param rightLower the lower right corner point of the bracket to create
  47. */
  48. protected createInstrumentBracket(rightUpper: PointF2D, rightLower: PointF2D): void {
  49. return;
  50. }
  51. /**
  52. * creates an instrument group bracket for the given dimension.
  53. * There can be cascaded bracket (e.g. a group of 2 in a group of 4) -
  54. * The recursion depth informs about the current depth level (needed for positioning)
  55. * @param rightUpper rightUpper the upper right corner point of the bracket to create
  56. * @param rightLower rightLower the lower right corner point of the bracket to create
  57. * @param staffHeight
  58. * @param recursionDepth
  59. */
  60. protected createGroupBracket(rightUpper: PointF2D, rightLower: PointF2D, staffHeight: number, recursionDepth: number): void {
  61. return;
  62. }
  63. }