2 % generic paper parameters
4 paperfile = \papersize + ".ly";
9 interline = \staffheight / 4.0;
12 stafflinethickness = \interline / 10.0;
14 % urg, need grace_ versions of these too?
15 beam_thickness = 0.52 * (\interline - \stafflinethickness);
16 interbeam = (2.0 * \interline + \stafflinethickness - \beam_thickness) / 2.0;
17 interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
21 % poor man's array size
24 %{ Specify length of stems for notes in the staff
25 that don't have beams.
26 Measured in staff positions.
34 The space taken by a note is determined by the formula
36 arithmetic_multiplier * ( c + log2 (time) ))
38 where code(time) is the amount of time a note occupies. The value
39 of code(c) is chosen such that the smallest space within a measure is
40 arithmetic_basicspace. The smallest space is the one following the
41 shortest note in the measure. Typically arithmetic_basicspace is set
42 to the width of a quarter note head.
44 arithmetic_basicspace = 2.;
45 arithmetic_multiplier = 0.9 * \quartwidth ;
50 % if only these ugly arrays were scm,
51 % we could override them in the Grace context
53 grace_stem_length0 = \stem_length0 * \grace_factor;
54 grace_stem_length1 = \stem_length1 * \grace_factor;
55 grace_stem_length2 = \stem_length2 * \grace_factor;
56 grace_stem_length3 = \stem_length3 * \grace_factor;
59 minimum_stem_length0 = 0.0 ; % not used
60 minimum_stem_length1 = 3. ;
61 minimum_stem_length2 = 2.5;
62 minimum_stem_length3 = 2.0;
64 grace_minimum_stem_length0 = 0.0 ; % not used
65 grace_minimum_stem_length1 = \minimum_stem_length1 * \grace_factor;
66 grace_minimum_stem_length2 = \minimum_stem_length2 * \grace_factor;
67 grace_minimum_stem_length3 = \minimum_stem_length3 * \grace_factor;
70 stems in unnatural (forced) direction should be shortened,
71 according to [Roush & Gourlay]. Their suggestion to knock off
72 a whole staffspace seems a bit drastical: we'll do half.
75 forced_stem_shorten0 = 1.0;
76 forced_stem_shorten1 = \forced_stem_shorten0;
77 forced_stem_shorten2 = \forced_stem_shorten1;
78 forced_stem_shorten3 = \forced_stem_shorten2;
80 % don't shorten grace stems, always up
81 grace_forced_stem_shorten0 = 0.;
82 grace_forced_stem_shorten1 = \grace_forced_stem_shorten0;
83 grace_forced_stem_shorten2 = \grace_forced_stem_shorten1;
84 grace_forced_stem_shorten3 = \grace_forced_stem_shorten2;
86 % there are several ways to calculate the direction of a beam
88 % * MAJORITY : number count of up or down notes
89 % * MEAN : mean centre distance of all notes
90 % * MEDIAN : mean centre distance weighted per note
92 % enum Dir_algorithm { DOWN=-1, UP=1, MAJORITY=2, MEAN, MEDIAN };
101 dit(code(beam_dir_algorithm)) Specify algorithm for determining
102 whether beams go up or down. It is real valued. If set to 2.0 then
103 majority selection is used. If set to 3.0, then mean selection is
104 used based on the mean center distance. If set to 4.0 then median
105 selection is used, based on the median center distance.
109 beam_dir_algorithm = \MAJORITY;
111 % catch suspect beam slopes, set slope to zero if
112 % outer stem is lengthened more than
113 beam_lengthened = 0.2 * \interline;
114 % and slope is running away steeper than
115 beam_steep_slope = 0.2 / 1.0;
118 dit(code(slur_x_gap)) Horizontal space between note and slur. Set to
119 code(\interline / 5) by default.
122 % OSU: suggested gap = ss / 5;
123 slur_x_gap = \interline / 5.0;
124 slur_y_gap = 0.25 * \interline;
125 slur_y_free = 0.75 * \interline;
126 slur_x_minimum = 1.5 * \interline;
129 Like beams, slurs often aren't as steep as the notes they encompass.
130 This sets the amount of damping.
132 % slope damping: keep dy/dx < slur_slope_damping
133 slur_slope_damping = 0.3;
134 slur_interstaff_slope_damping = 0.6;
135 % height damping: keep h/dx < slur_height_damping
136 slur_height_damping = 0.4;
137 slur_interstaff_height_damping = 0.5;
138 % snap to stem if slur ends closer to stem than
139 slur_snap_to_stem = 1.75 * \interline;
140 slur_interstaff_snap_to_stem = 2.5 * \interline;
141 % maximum dy change allowed by snapping
142 slur_snap_max_slope_change = 0.5;
143 slur_interstaff_snap_max_slope_change = 0.5;
147 tie_x_minimum = \interline + \slur_x_minimum;
148 % OSU: tie gap == slur gap
149 tie_x_gap = \slur_x_gap;
150 tie_y_gap = 0.25 * \interline;
151 % length of a tie that's a staffspace high
152 tie_staffspace_length = 4.0 * \interline;
154 % ugh: rename to bow (in bezier.cc and fonts.doc too...)
155 % slur_thickness = 1.8 * \stafflinethickness;
156 slur_thickness = 1.4 * \stafflinethickness;
159 Specifies the maximum height of slurs.
161 slur_height_limit = \staffheight;
165 Specifes the ratio of slur hight to slur width
166 to aim for. Default value is 0.3.
170 % try bit flatter slurs
172 slur_clip_ratio = 1.2;
173 slur_clip_height = 3.0 * \staffheight;
174 slur_clip_angle = 100.0;
175 slur_rc_factor = 2.4;
178 notewidth = (\quartwidth + \wholewidth) / 2.0;
180 gourlay_energybound = 100000.;
182 Maximum number of measures per line to try when using Gourlay
185 gourlay_maxmeasures = 10.;
188 %{ Ross. page 151 lists these values, but we think that thick lines
189 and kernings are too thick.
191 bar_kern = 0.5 * \interline;
192 bar_thinkern = 0.75 * \interline;
193 barthick_thick = 0.5* \interline;
194 barthick_score = 0.13333* \interline;
195 barthick_thin = 0.1*\interline;
199 bar_kern = 3.0 * \stafflinethickness;
200 bar_thinkern = 3.0 * \stafflinethickness;
201 barthick_thick = 6.0* \stafflinethickness;
202 barthick_thin = 1.6*\stafflinethickness;
203 barthick_score = 1.6*\stafflinethickness;
205 tuplet_spanner_gap = 2.0 * \interline;
206 tuplet_thick = 1.0*\stafflinethickness;
207 volta_thick = 1.6*\stafflinethickness;
208 volta_spanner_height = 2.0 *\interline;
210 % relative thickness of thin lines 1.6 : 1 : 0.8
211 stemthickness = 0.8*\stafflinethickness;
212 rulethickness = \stafflinethickness;
215 extender_height = 0.8*\stafflinethickness;
217 hyphen_thickness = 0.05*\font_normal;
218 hyphen_height = 0.2*\font_normal;
219 hyphen_minimum_length = 0.25*\font_normal;
221 % Multi-measure rests
222 mmrest_x_minimum = 1.4*\staffheight;
225 % chop off this much when next to pp / ff sign.
226 crescendo_shorten = 4.0 * \interline;
227 crescendo_thickness = \stafflinethickness;
228 crescendo_height = 0.666 * \interline;
231 restcollision_minimum_dist = 3.0;
232 restcollision_minimum_beamdist = 1.5;
235 % unit for note collision resolving
236 collision_note_width = \notewidth; %ugh.
239 postBreakPadding = 0.0;
241 % optical correction amount.
242 stemSpacingCorrection = 0.5*\interline;
246 relative strength of space following breakable columns (eg. prefatory matter)
248 breakable_column_space_strength = 2.0;
250 % space after inline clefs and such get this much stretched
251 decrease_nonmus_spacing_factor = 1.0 ;
254 space before musical columns (eg. taken by accidentals) get this much
255 stretched when they follow a musical column, in absence of grace notes.
257 0.0 means no extra space (accidentals are ignored)
259 musical_to_musical_left_spacing_factor = 0.4;
262 stretch space this much if there are grace notes before the column
264 before_grace_spacing_factor = 1.2;
267 If columns do not have spacing information set, set it to this much
269 loose_column_distance = 2.0 * \interline;
272 Relative cost of compressing (vs. stretching). Increasing this
273 will cause scores to be set looser
277 compression_energy_factor = 0.6;
279 % if stem is on middle line, choose this direction.
280 stem_default_neutral_direction = 1.0;
283 articulation_script_padding_default = 1.0;
285 % Backward compatibility -- has no function;
289 \include "engraver.ly";