EngravingRules.d.ts 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. import { PagePlacementEnum } from "./GraphicalMusicPage";
  2. export declare class EngravingRules {
  3. private static rules;
  4. private static unit;
  5. private samplingUnit;
  6. private staccatoShorteningFactor;
  7. private sheetTitleHeight;
  8. private sheetSubtitleHeight;
  9. private sheetMinimumDistanceBetweenTitleAndSubtitle;
  10. private sheetComposerHeight;
  11. private sheetAuthorHeight;
  12. private pagePlacementEnum;
  13. private pageHeight;
  14. private pageTopMargin;
  15. private pageBottomMargin;
  16. private pageLeftMargin;
  17. private pageRightMargin;
  18. private titleTopDistance;
  19. private titleBottomDistance;
  20. private systemDistance;
  21. private systemLeftMargin;
  22. private systemRightMargin;
  23. private firstSystemMargin;
  24. private systemLabelsRightMargin;
  25. private systemComposerDistance;
  26. private instrumentLabelTextHeight;
  27. private minimumAllowedDistanceBetweenSystems;
  28. private lastSystemMaxScalingFactor;
  29. private staffDistance;
  30. private betweenStaffDistance;
  31. private staffHeight;
  32. private betweenStaffLinesDistance;
  33. private beamWidth;
  34. private beamSpaceWidth;
  35. private beamForwardLength;
  36. private clefLeftMargin;
  37. private clefRightMargin;
  38. private betweenKeySymbolsDistance;
  39. private keyRightMargin;
  40. private rhythmRightMargin;
  41. private inStaffClefScalingFactor;
  42. private distanceBetweenNaturalAndSymbolWhenCancelling;
  43. private noteHelperLinesOffset;
  44. private measureLeftMargin;
  45. private measureRightMargin;
  46. private distanceBetweenLastInstructionAndRepetitionBarline;
  47. private arpeggioDistance;
  48. private idealStemLength;
  49. private stemNoteHeadBorderYOffset;
  50. private stemWidth;
  51. private stemMargin;
  52. private stemMinLength;
  53. private stemMaxLength;
  54. private beamSlopeMaxAngle;
  55. private stemMinAllowedDistanceBetweenNoteHeadAndBeamLine;
  56. private graceNoteScalingFactor;
  57. private graceNoteXOffset;
  58. private wedgeOpeningLength;
  59. private wedgeMeasureEndOpeningLength;
  60. private wedgeMeasureBeginOpeningLength;
  61. private wedgePlacementAboveY;
  62. private wedgePlacementBelowY;
  63. private wedgeHorizontalMargin;
  64. private wedgeVerticalMargin;
  65. private distanceOffsetBetweenTwoHorizontallyCrossedWedges;
  66. private wedgeMinLength;
  67. private distanceBetweenAdjacentDynamics;
  68. private tempoChangeMeasureValitidy;
  69. private tempoContinousFactor;
  70. private staccatoScalingFactor;
  71. private betweenDotsDistance;
  72. private ornamentAccidentalScalingFactor;
  73. private chordSymbolTextHeight;
  74. private fingeringLabelFontHeight;
  75. private measureNumberLabelHeight;
  76. private measureNumberLabelOffset;
  77. private tupletNumberLabelHeight;
  78. private tupletNumberYOffset;
  79. private labelMarginBorderFactor;
  80. private tupletVerticalLineLength;
  81. private repetitionEndingLabelHeight;
  82. private repetitionEndingLabelXOffset;
  83. private repetitionEndingLabelYOffset;
  84. private repetitionEndingLineYLowerOffset;
  85. private repetitionEndingLineYUpperOffset;
  86. private lyricsHeight;
  87. private verticalBetweenLyricsDistance;
  88. private betweenSyllabelMaximumDistance;
  89. private minimumDistanceBetweenDashes;
  90. private bezierCurveStepSize;
  91. private tPower3;
  92. private oneMinusTPower3;
  93. private factorOne;
  94. private factorTwo;
  95. private tieGhostObjectWidth;
  96. private tieYPositionOffsetFactor;
  97. private minimumNeededXspaceForTieGhostObject;
  98. private tieHeightMinimum;
  99. private tieHeightMaximum;
  100. private tieHeightInterpolationK;
  101. private tieHeightInterpolationD;
  102. private slurNoteHeadYOffset;
  103. private slurStemXOffset;
  104. private slurSlopeMaxAngle;
  105. private slurTangentMinAngle;
  106. private slurTangentMaxAngle;
  107. private slursStartingAtSameStaffEntryYOffset;
  108. private instantaniousTempoTextHeight;
  109. private continuousDynamicTextHeight;
  110. private moodTextHeight;
  111. private unknownTextHeight;
  112. private continuousTempoTextHeight;
  113. private staffLineWidth;
  114. private ledgerLineWidth;
  115. private wedgeLineWidth;
  116. private tupletLineWidth;
  117. private lyricUnderscoreLineWidth;
  118. private systemThinLineWidth;
  119. private systemBoldLineWidth;
  120. private systemRepetitionEndingLineWidth;
  121. private systemDotWidth;
  122. private distanceBetweenVerticalSystemLines;
  123. private distanceBetweenDotAndLine;
  124. private octaveShiftLineWidth;
  125. private octaveShiftVerticalLineLength;
  126. private graceLineWidth;
  127. private minimumStaffLineDistance;
  128. private minimumCrossedBeamDifferenceMargin;
  129. private displacedNoteMargin;
  130. private minNoteDistance;
  131. private subMeasureXSpacingThreshold;
  132. private measureDynamicsMaxScalingFactor;
  133. private maxInstructionsConstValue;
  134. private noteDistances;
  135. private noteDistancesScalingFactors;
  136. private durationDistanceDict;
  137. private durationScalingDistanceDict;
  138. constructor();
  139. static Rules: EngravingRules;
  140. SamplingUnit: number;
  141. SheetTitleHeight: number;
  142. SheetSubtitleHeight: number;
  143. SheetMinimumDistanceBetweenTitleAndSubtitle: number;
  144. SheetComposerHeight: number;
  145. SheetAuthorHeight: number;
  146. PagePlacement: PagePlacementEnum;
  147. PageHeight: number;
  148. PageTopMargin: number;
  149. PageBottomMargin: number;
  150. PageLeftMargin: number;
  151. PageRightMargin: number;
  152. TitleTopDistance: number;
  153. TitleBottomDistance: number;
  154. SystemComposerDistance: number;
  155. InstrumentLabelTextHeight: number;
  156. SystemDistance: number;
  157. SystemLeftMargin: number;
  158. SystemRightMargin: number;
  159. FirstSystemMargin: number;
  160. SystemLabelsRightMargin: number;
  161. MinimumAllowedDistanceBetweenSystems: number;
  162. LastSystemMaxScalingFactor: number;
  163. StaffDistance: number;
  164. BetweenStaffDistance: number;
  165. StaffHeight: number;
  166. BetweenStaffLinesDistance: number;
  167. BeamWidth: number;
  168. BeamSpaceWidth: number;
  169. BeamForwardLength: number;
  170. BetweenKeySymbolsDistance: number;
  171. ClefLeftMargin: number;
  172. ClefRightMargin: number;
  173. KeyRightMargin: number;
  174. RhythmRightMargin: number;
  175. InStaffClefScalingFactor: number;
  176. DistanceBetweenNaturalAndSymbolWhenCancelling: number;
  177. NoteHelperLinesOffset: number;
  178. MeasureLeftMargin: number;
  179. MeasureRightMargin: number;
  180. DistanceBetweenLastInstructionAndRepetitionBarline: number;
  181. ArpeggioDistance: number;
  182. StaccatoShorteningFactor: number;
  183. IdealStemLength: number;
  184. StemNoteHeadBorderYOffset: number;
  185. StemWidth: number;
  186. StemMargin: number;
  187. StemMinLength: number;
  188. StemMaxLength: number;
  189. BeamSlopeMaxAngle: number;
  190. StemMinAllowedDistanceBetweenNoteHeadAndBeamLine: number;
  191. GraceNoteScalingFactor: number;
  192. GraceNoteXOffset: number;
  193. WedgeOpeningLength: number;
  194. WedgeMeasureEndOpeningLength: number;
  195. WedgeMeasureBeginOpeningLength: number;
  196. WedgePlacementAboveY: number;
  197. WedgePlacementBelowY: number;
  198. WedgeHorizontalMargin: number;
  199. WedgeVerticalMargin: number;
  200. DistanceOffsetBetweenTwoHorizontallyCrossedWedges: number;
  201. WedgeMinLength: number;
  202. DistanceBetweenAdjacentDynamics: number;
  203. TempoChangeMeasureValitidy: number;
  204. TempoContinousFactor: number;
  205. StaccatoScalingFactor: number;
  206. BetweenDotsDistance: number;
  207. OrnamentAccidentalScalingFactor: number;
  208. ChordSymbolTextHeight: number;
  209. FingeringLabelFontHeight: number;
  210. MeasureNumberLabelHeight: number;
  211. MeasureNumberLabelOffset: number;
  212. TupletNumberLabelHeight: number;
  213. TupletNumberYOffset: number;
  214. LabelMarginBorderFactor: number;
  215. TupletVerticalLineLength: number;
  216. RepetitionEndingLabelHeight: number;
  217. RepetitionEndingLabelXOffset: number;
  218. RepetitionEndingLabelYOffset: number;
  219. RepetitionEndingLineYLowerOffset: number;
  220. RepetitionEndingLineYUpperOffset: number;
  221. LyricsHeight: number;
  222. VerticalBetweenLyricsDistance: number;
  223. BetweenSyllabelMaximumDistance: number;
  224. MinimumDistanceBetweenDashes: number;
  225. BezierCurveStepSize: number;
  226. TPow3: number[];
  227. OneMinusTPow3: number[];
  228. BezierFactorOne: number[];
  229. BezierFactorTwo: number[];
  230. TieGhostObjectWidth: number;
  231. TieYPositionOffsetFactor: number;
  232. MinimumNeededXspaceForTieGhostObject: number;
  233. TieHeightMinimum: number;
  234. TieHeightMaximum: number;
  235. TieHeightInterpolationK: number;
  236. TieHeightInterpolationD: number;
  237. SlurNoteHeadYOffset: number;
  238. SlurStemXOffset: number;
  239. SlurSlopeMaxAngle: number;
  240. SlurTangentMinAngle: number;
  241. SlurTangentMaxAngle: number;
  242. SlursStartingAtSameStaffEntryYOffset: number;
  243. InstantaniousTempoTextHeight: number;
  244. ContinuousDynamicTextHeight: number;
  245. MoodTextHeight: number;
  246. ContinuousTempoTextHeight: number;
  247. UnknownTextHeight: number;
  248. StaffLineWidth: number;
  249. LedgerLineWidth: number;
  250. WedgeLineWidth: number;
  251. TupletLineWidth: number;
  252. LyricUnderscoreLineWidth: number;
  253. SystemThinLineWidth: number;
  254. SystemBoldLineWidth: number;
  255. SystemRepetitionEndingLineWidth: number;
  256. SystemDotWidth: number;
  257. DistanceBetweenVerticalSystemLines: number;
  258. DistanceBetweenDotAndLine: number;
  259. OctaveShiftLineWidth: number;
  260. OctaveShiftVerticalLineLength: number;
  261. GraceLineWidth: number;
  262. MinimumStaffLineDistance: number;
  263. MinimumCrossedBeamDifferenceMargin: number;
  264. DisplacedNoteMargin: number;
  265. MinNoteDistance: number;
  266. SubMeasureXSpacingThreshold: number;
  267. MeasureDynamicsMaxScalingFactor: number;
  268. MaxInstructionsConstValue: number;
  269. NoteDistances: number[];
  270. NoteDistancesScalingFactors: number[];
  271. DurationDistanceDict: {
  272. [_: number]: number;
  273. };
  274. DurationScalingDistanceDict: {
  275. [_: number]: number;
  276. };
  277. private populateDictionaries();
  278. private calculateCurveParametersArrays();
  279. }