MusicSystemBuilder.d.ts 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { StaffMeasure } from "./StaffMeasure";
  2. import { MusicSystem } from "./MusicSystem";
  3. import { SystemLinesEnum } from "./SystemLinesEnum";
  4. import { GraphicalMusicSheet } from "./GraphicalMusicSheet";
  5. import { IGraphicalSymbolFactory } from "../Interfaces/IGraphicalSymbolFactory";
  6. export declare class MusicSystemBuilder {
  7. private measureList;
  8. private graphicalMusicSheet;
  9. private currentMusicPage;
  10. private currentPageHeight;
  11. private currentSystemParams;
  12. private numberOfVisibleStaffLines;
  13. private rules;
  14. private measureListIndex;
  15. private visibleStaffIndices;
  16. private activeRhythm;
  17. private activeKeys;
  18. private activeClefs;
  19. private globalSystemIndex;
  20. private leadSheet;
  21. private symbolFactory;
  22. initialize(graphicalMusicSheet: GraphicalMusicSheet, measureList: StaffMeasure[][], numberOfStaffLines: number, symbolFactory: IGraphicalSymbolFactory): void;
  23. buildMusicSystems(): void;
  24. private setMeasureWidth(staffMeasures, width, beginInstrWidth, endInstrWidth);
  25. private finalizeCurrentAndCreateNewSystem(measures, isPartEndingSystem?);
  26. private adaptRepetitionLineWithIfNeeded();
  27. private addMeasureToSystem(staffMeasures, measureStartLine, measureEndLine, totalMeasureWidth, currentMeasureBeginInstructionsWidth, currentVarWidth, currentMeasureEndInstructionsWidth);
  28. private createMusicPage();
  29. private initMusicSystem();
  30. private getFullPageSystemWidth();
  31. private layoutSystemStaves();
  32. private addStaffLineToMusicSystem(musicSystem, relativeYPosition, staff);
  33. private initializeActiveInstructions(measureList);
  34. private transposeKeyInstruction(keyInstruction, graphicalMeasure);
  35. private addBeginInstructions(measures, isSystemFirstMeasure, isFirstSourceMeasure);
  36. private addEndInstructions(measures);
  37. private AddInstructionsAtMeasureBegin(firstEntry, measure, visibleStaffIdx, isFirstSourceMeasure, isSystemStartMeasure);
  38. private addInstructionsAtMeasureEnd(lastEntry, measure);
  39. private updateActiveClefs(measure, staffMeasures);
  40. private checkAndCreateExtraInstructionMeasure(measures);
  41. private addExtraInstructionMeasure(visStaffIdx, keyInstruction, rhythmInstruction);
  42. private addStaveMeasuresToSystem(staffMeasures);
  43. private getMeasureStartLine();
  44. private getMeasureEndLine();
  45. private getLineWidth(measure, systemLineEnum, isSystemStartMeasure);
  46. private previousMeasureEndsLineRepetition();
  47. private thisMeasureBeginsLineRepetition();
  48. private nextMeasureBeginsLineRepetition();
  49. private thisMeasureEndsLineRepetition();
  50. private nextMeasureBeginsWordRepetition();
  51. private thisMeasureEndsWordRepetition();
  52. private nextMeasureHasKeyInstructionChange();
  53. private getNextMeasureKeyInstruction();
  54. private calculateXScalingFactor(systemFixWidth, systemVarWidth);
  55. private stretchMusicSystem(isPartEndingSystem);
  56. private decreaseMusicSystemBorders();
  57. }
  58. export declare class SystemBuildParameters {
  59. currentSystem: MusicSystem;
  60. systemMeasures: MeasureBuildParameters[];
  61. systemMeasureIndex: number;
  62. currentWidth: number;
  63. currentSystemFixWidth: number;
  64. currentSystemVarWidth: number;
  65. maxLabelLength: number;
  66. IsSystemStartMeasure(): boolean;
  67. }
  68. export declare class MeasureBuildParameters {
  69. beginLine: SystemLinesEnum;
  70. endLine: SystemLinesEnum;
  71. }