]> git.donarmstrong.com Git - lilypond.git/blob - ly/params.ly
07ec6cf89d872aa684a3809d6d15116c258fea31
[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
101
102 #'Stem_tremolo::beam-width = 1.5 * \quartwidth ; 
103
104 #'Clef_item::visibility-lambda = #postbreak-only-visibility
105 #'Key_item::visibility-lambda = #postbreak-only-visibility
106 #'Breathing_sign::visibility-lambda = #non-postbreak-visibility
107
108 % catch suspect beam slopes, set slope to zero if
109 % outer stem is lengthened more than
110 beam_lengthened = 0.2 * \interline;
111 % and slope is running away steeper than
112 beam_steep_slope = 0.2 / 1.0;
113
114 %{
115 dit(code(slur_x_gap)) Horizontal space between note and slur.  Set to
116 code(\interline / 5) by default.  
117
118 %}
119 % OSU: suggested gap = ss / 5;
120 slur_x_gap = \interline / 5.0;
121 slur_y_gap = 0.25 * \interline;
122 slur_y_free = 0.75 * \interline;
123 slur_x_minimum = 1.5 * \interline;
124
125 %{
126 Like beams, slurs often aren't as steep as the notes they encompass.
127 This sets the amount of damping.
128 %}
129 % slope damping: keep dy/dx < slur_slope_damping
130 slur_slope_damping = 0.3;
131 slur_interstaff_slope_damping = 0.6;
132 % height damping: keep h/dx < slur_height_damping
133 slur_height_damping = 0.4;
134 slur_interstaff_height_damping = 0.5;
135 % snap to stem if slur ends closer to stem than
136 slur_snap_to_stem = 1.75 * \interline;
137 slur_interstaff_snap_to_stem = 2.5 * \interline;
138 % maximum dy change allowed by snapping
139 slur_snap_max_slope_change = 0.5;
140 slur_interstaff_snap_max_slope_change = 0.5;
141
142
143
144 tie_x_minimum = \interline + \slur_x_minimum;
145 % OSU: tie gap == slur gap
146 tie_x_gap = \slur_x_gap;
147 tie_y_gap = 0.25 * \interline;
148 % length of a tie that's a staffspace high
149 tie_staffspace_length = 4.0 * \interline;
150
151 % ugh: rename to bow (in bezier.cc and fonts.doc too...)
152 % slur_thickness = 1.8 * \stafflinethickness;
153 slur_thickness = 1.4 * \stafflinethickness;
154
155 %{
156  Specifies the maximum height of slurs.
157 %}
158 slur_height_limit = \staffheight;
159
160
161 %{
162 Specifes the ratio of slur hight to slur width
163 to aim for.  Default value is 0.3. 
164 %}
165
166 % slur_ratio = 0.3;
167 % try bit flatter slurs
168 slur_ratio = 0.25;
169 slur_clip_ratio = 1.2;
170 slur_clip_height = 3.0 * \staffheight;
171 slur_clip_angle = 100.0;
172 slur_rc_factor = 2.4;
173
174 % ugh
175 notewidth = (\quartwidth + \wholewidth) / 2.0;
176
177 gourlay_energybound = 100000.;
178 %{
179 Maximum number of measures per line to try when using Gourlay
180 method. 
181 %}
182 gourlay_maxmeasures = 10.;
183
184
185 %{ Ross. page 151 lists these values, but we think that thick lines
186 and kernings are too thick.
187
188 bar_kern = 0.5 * \interline;
189 bar_thinkern = 0.75 * \interline;
190 barthick_thick = 0.5* \interline;
191 barthick_score = 0.13333* \interline;
192 barthick_thin = 0.1*\interline;
193
194 %}
195
196 bar_kern = 3.0 * \stafflinethickness;
197 bar_thinkern = 3.0 * \stafflinethickness;
198 barthick_thick = 6.0* \stafflinethickness;
199 barthick_thin = 1.6*\stafflinethickness;
200 barthick_score = 1.6*\stafflinethickness;
201
202 bracket_arch_thick = \interline / 3.0;
203 bracket_width = 2.0 * \interline;
204 bracket_thick = 2.0 * \stafflinethickness;
205 bracket_arch_height = 1.5 * \interline;
206 bracket_arch_width = \bracket_arch_height;
207 bracket_arch_angle = 50.0;
208
209 tuplet_spanner_gap = 2.0 * \interline;
210 tuplet_thick = 1.0*\stafflinethickness;
211 volta_thick = 1.6*\stafflinethickness;
212 volta_spanner_height = 2.0 *\interline;
213
214 % relative thickness of thin lines  1.6 : 1 : 0.8
215 stemthickness = 0.8*\stafflinethickness;
216 rulethickness = \stafflinethickness;
217
218
219 extender_height = 0.8*\stafflinethickness;
220
221 hyphen_thickness = 0.05*\font_normal;
222 hyphen_height = 0.2*\font_normal;
223 hyphen_minimum_length = 0.25*\font_normal;
224
225 % Multi-measure rests
226 mmrest_x_minimum = 1.4*\staffheight;
227
228
229 % chop off this much when next to pp / ff sign.
230 crescendo_shorten = 4.0 * \interline;
231 crescendo_thickness   = \stafflinethickness;
232 crescendo_height = 0.666 * \interline;
233
234 % in internote.
235 restcollision_minimum_dist = 3.0;
236 restcollision_minimum_beamdist = 1.5;
237
238
239 % unit for note collision resolving
240 collision_note_width = \notewidth;      %ugh.
241
242 % deprecated!
243 postBreakPadding = 0.0;
244
245 % optical correction amount.
246 stemSpacingCorrection = 0.5*\interline;
247
248
249 %{
250  relative strength of space following breakable columns (eg. prefatory matter)
251  %}
252 breakable_column_space_strength = 2.0; 
253
254 % space after inline clefs and such get this much stretched
255 decrease_nonmus_spacing_factor = 1.0 ;
256
257 %{
258  space before musical columns (eg. taken by accidentals) get this much
259  stretched when they follow a musical column, in absence of grace notes.
260
261  0.0 means no extra space (accidentals are ignored)
262 %}
263 musical_to_musical_left_spacing_factor = 0.4;
264
265 %{
266  stretch space this much if there are grace notes before the column
267 %}
268 before_grace_spacing_factor = 1.2;
269
270 %{
271 If columns do not have spacing information set, set it to this much
272 %}
273 loose_column_distance = 2.0 * \interline;
274
275 %{
276 Relative cost of compressing (vs. stretching).  Increasing this
277 will cause scores to be set looser
278 .
279 %}
280
281 compression_energy_factor = 0.6;
282
283 % if stem is on middle line, choose this direction.
284 stem_default_neutral_direction = 1.0;
285
286 % in interline
287 articulation_script_padding_default = 1.0;
288
289 % Backward compatibility -- has no function; 
290 Gourlay = 0.0;
291 Wordwrap =0.0;
292
293 \include "engraver.ly";
294
295
296 #'margin-shape = #'()
297
298
299
300 #'Local_key_item::left-padding = #'0.2
301 #'Local_key_item::right-padding = #'0.4