]> git.donarmstrong.com Git - lilypond.git/blob - ly/params.ly
patch::: 1.3.9.hwn2
[lilypond.git] / ly / params.ly
1 % params.ly
2 % generic paper parameters
3
4 paperfile = \papersize + ".ly";
5 % paperfile = "a4.ly";
6 \include \paperfile;
7 \include "paper.ly";
8
9 interline = \staffheight / 4.0;
10
11
12 stafflinethickness = \interline / 10.0;
13
14 % urg, need grace_ versions of these too?
15 beam_thickness = 0.52 * (\interline - \stafflinethickness);
16
17 #'beam-thickness = \beam_thickness;  %% UGR
18
19
20 interbeam = (2.0 * \interline + \stafflinethickness - \beam_thickness) / 2.0;
21 interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
22
23
24
25 % stems and beams
26 %
27 % poor man's array size
28 stem_max = 3.0;
29
30 %{ Specify length of stems for notes in the staff
31 that don't have beams. 
32  Measured in staff positions.
33 %}
34 stem_length0 = 7.;
35 stem_length1 = 5.;
36 stem_length2 = 4.;
37 stem_length3 = 3.;
38
39 %{
40 The space taken by a note is determined by the formula 
41
42 arithmetic_multiplier * ( c + log2 (time) ))
43
44 where code(time) is the amount of time a note occupies.  The value
45 of code(c) is chosen such that the smallest space within a measure is
46 arithmetic_basicspace.  The smallest space is the one following the
47 shortest note in the measure.  Typically arithmetic_basicspace is set
48 to the width of a quarter note head.
49 %}
50 arithmetic_basicspace = 2.;
51 arithmetic_multiplier = 0.9 * \quartwidth ;
52
53
54
55 % urg.
56 % if only these ugly arrays were scm,
57 % we could override them in the Grace context
58 grace_factor = 0.8;
59 grace_stem_length0 = \stem_length0 * \grace_factor;
60 grace_stem_length1 = \stem_length1 * \grace_factor;
61 grace_stem_length2 = \stem_length2 * \grace_factor;
62 grace_stem_length3 = \stem_length3 * \grace_factor;
63
64 % only used for beams
65 minimum_stem_length0 = 0.0 ; % not used
66 minimum_stem_length1 = 3. ;
67 minimum_stem_length2 = 2.5;
68 minimum_stem_length3 = 2.0;
69
70 grace_minimum_stem_length0 = 0.0 ; % not used
71 grace_minimum_stem_length1 = \minimum_stem_length1 * \grace_factor;
72 grace_minimum_stem_length2 = \minimum_stem_length2 * \grace_factor;
73 grace_minimum_stem_length3 = \minimum_stem_length3 * \grace_factor;
74
75 %{
76   stems in unnatural (forced) direction should be shortened,
77   according to [Roush & Gourlay].  Their suggestion to knock off
78   a whole staffspace seems a bit drastical: we'll do half.
79 %}
80
81 forced_stem_shorten0 = 1.0;
82 forced_stem_shorten1 = \forced_stem_shorten0;
83 forced_stem_shorten2 = \forced_stem_shorten1;
84 forced_stem_shorten3 = \forced_stem_shorten2;
85
86 % don't shorten grace stems, always up
87 grace_forced_stem_shorten0 = 0.;
88 grace_forced_stem_shorten1 = \grace_forced_stem_shorten0;
89 grace_forced_stem_shorten2 = \grace_forced_stem_shorten1;
90 grace_forced_stem_shorten3 = \grace_forced_stem_shorten2;
91
92 % there are several ways to calculate the direction of a beam
93
94 % * MAJORITY : number count of up or down notes
95 % * MEAN     : mean centre distance of all notes
96 % * MEDIAN   : mean centre distance weighted per note
97 %
98
99 #'beam-dir-algorithm = #'majority       %urg.
100 #'Stem_tremolo::beam-width = 1.5 * \quartwidth ; 
101
102 % The beams should be prevented to conflict with the stafflines, 
103 % especially at small slopes.
104 #'slope-quantisation = #'normal
105
106
107
108 #'Clef_item::visibility-lambda = #postbreak-only-visibility
109 #'Key_item::visibility-lambda = #postbreak-only-visibility
110 #'Breathing_sign::visibility-lambda = #non-postbreak-visibility
111
112
113 %{
114 dit(code(beam_dir_algorithm)) Specify algorithm for determining
115 whether beams go up or down.  It is real valued.  If set to 2.0 then
116 majority selection is used.  If set to 3.0, then mean selection is
117 used based on the mean center distance.  If set to 4.0 then median
118 selection is used, based on the median center distance.
119 %}
120
121
122 % catch suspect beam slopes, set slope to zero if
123 % outer stem is lengthened more than
124 beam_lengthened = 0.2 * \interline;
125 % and slope is running away steeper than
126 beam_steep_slope = 0.2 / 1.0;
127
128 %{
129 dit(code(slur_x_gap)) Horizontal space between note and slur.  Set to
130 code(\interline / 5) by default.  
131
132 %}
133 % OSU: suggested gap = ss / 5;
134 slur_x_gap = \interline / 5.0;
135 slur_y_gap = 0.25 * \interline;
136 slur_y_free = 0.75 * \interline;
137 slur_x_minimum = 1.5 * \interline;
138
139 %{
140 Like beams, slurs often aren't as steep as the notes they encompass.
141 This sets the amount of damping.
142 %}
143 % slope damping: keep dy/dx < slur_slope_damping
144 slur_slope_damping = 0.3;
145 slur_interstaff_slope_damping = 0.6;
146 % height damping: keep h/dx < slur_height_damping
147 slur_height_damping = 0.4;
148 slur_interstaff_height_damping = 0.5;
149 % snap to stem if slur ends closer to stem than
150 slur_snap_to_stem = 1.75 * \interline;
151 slur_interstaff_snap_to_stem = 2.5 * \interline;
152 % maximum dy change allowed by snapping
153 slur_snap_max_slope_change = 0.5;
154 slur_interstaff_snap_max_slope_change = 0.5;
155
156
157
158 tie_x_minimum = \interline + \slur_x_minimum;
159 % OSU: tie gap == slur gap
160 tie_x_gap = \slur_x_gap;
161 tie_y_gap = 0.25 * \interline;
162 % length of a tie that's a staffspace high
163 tie_staffspace_length = 4.0 * \interline;
164
165 % ugh: rename to bow (in bezier.cc and fonts.doc too...)
166 % slur_thickness = 1.8 * \stafflinethickness;
167 slur_thickness = 1.4 * \stafflinethickness;
168
169 %{
170  Specifies the maximum height of slurs.
171 %}
172 slur_height_limit = \staffheight;
173
174
175 %{
176 Specifes the ratio of slur hight to slur width
177 to aim for.  Default value is 0.3. 
178 %}
179
180 % slur_ratio = 0.3;
181 % try bit flatter slurs
182 slur_ratio = 0.25;
183 slur_clip_ratio = 1.2;
184 slur_clip_height = 3.0 * \staffheight;
185 slur_clip_angle = 100.0;
186 slur_rc_factor = 2.4;
187
188 % ugh
189 notewidth = (\quartwidth + \wholewidth) / 2.0;
190
191 gourlay_energybound = 100000.;
192 %{
193 Maximum number of measures per line to try when using Gourlay
194 method. 
195 %}
196 gourlay_maxmeasures = 10.;
197
198
199 %{ Ross. page 151 lists these values, but we think that thick lines
200 and kernings are too thick.
201
202 bar_kern = 0.5 * \interline;
203 bar_thinkern = 0.75 * \interline;
204 barthick_thick = 0.5* \interline;
205 barthick_score = 0.13333* \interline;
206 barthick_thin = 0.1*\interline;
207
208 %}
209
210 bar_kern = 3.0 * \stafflinethickness;
211 bar_thinkern = 3.0 * \stafflinethickness;
212 barthick_thick = 6.0* \stafflinethickness;
213 barthick_thin = 1.6*\stafflinethickness;
214 barthick_score = 1.6*\stafflinethickness;
215
216 bracket_arch_thick = \interline / 3.0;
217 bracket_width = 2.0 * \interline;
218 bracket_thick = 2.0 * \stafflinethickness;
219 bracket_arch_height = 1.5 * \interline;
220 bracket_arch_width = \bracket_arch_height;
221 bracket_arch_angle = 50.0;
222
223 tuplet_spanner_gap = 2.0 * \interline;
224 tuplet_thick = 1.0*\stafflinethickness;
225 volta_thick = 1.6*\stafflinethickness;
226 volta_spanner_height = 2.0 *\interline;
227
228 % relative thickness of thin lines  1.6 : 1 : 0.8
229 stemthickness = 0.8*\stafflinethickness;
230 rulethickness = \stafflinethickness;
231
232
233 extender_height = 0.8*\stafflinethickness;
234
235 hyphen_thickness = 0.05*\font_normal;
236 hyphen_height = 0.2*\font_normal;
237 hyphen_minimum_length = 0.25*\font_normal;
238
239 % Multi-measure rests
240 mmrest_x_minimum = 1.4*\staffheight;
241
242
243 % chop off this much when next to pp / ff sign.
244 crescendo_shorten = 4.0 * \interline;
245 crescendo_thickness   = \stafflinethickness;
246 crescendo_height = 0.666 * \interline;
247
248 % in internote.
249 restcollision_minimum_dist = 3.0;
250 restcollision_minimum_beamdist = 1.5;
251
252
253 % unit for note collision resolving
254 collision_note_width = \notewidth;      %ugh.
255
256 % deprecated!
257 postBreakPadding = 0.0;
258
259 % optical correction amount.
260 stemSpacingCorrection = 0.5*\interline;
261
262
263 %{
264  relative strength of space following breakable columns (eg. prefatory matter)
265  %}
266 breakable_column_space_strength = 2.0; 
267
268 % space after inline clefs and such get this much stretched
269 decrease_nonmus_spacing_factor = 1.0 ;
270
271 %{
272  space before musical columns (eg. taken by accidentals) get this much
273  stretched when they follow a musical column, in absence of grace notes.
274
275  0.0 means no extra space (accidentals are ignored)
276 %}
277 musical_to_musical_left_spacing_factor = 0.4;
278
279 %{
280  stretch space this much if there are grace notes before the column
281 %}
282 before_grace_spacing_factor = 1.2;
283
284 %{
285 If columns do not have spacing information set, set it to this much
286 %}
287 loose_column_distance = 2.0 * \interline;
288
289 %{
290 Relative cost of compressing (vs. stretching).  Increasing this
291 will cause scores to be set looser
292 .
293 %}
294
295 compression_energy_factor = 0.6;
296
297 % if stem is on middle line, choose this direction.
298 stem_default_neutral_direction = 1.0;
299
300 % in interline
301 articulation_script_padding_default = 1.0;
302
303 % Backward compatibility -- has no function; 
304 Gourlay = 0.0;
305 Wordwrap =0.0;
306
307 \include "engraver.ly";
308
309
310 #'margin-shape = #'()
311
312
313
314 #'Local_key_item::left-padding = #'0.2
315 #'Local_key_item::right-padding = #'0.4