]> git.donarmstrong.com Git - lilypond.git/blob - ly/params.ly
patch::: 1.3.37.jcn2
[lilypond.git] / ly / params.ly
1 % params.ly
2 % generic paper parameters
3
4 #'staff-height = \staffheight;
5
6 paperfile = \papersize + ".ly";
7 % paperfile = "a4.ly";
8 \include \paperfile;
9 \include "paper.ly";
10
11 staffspace = \staffheight / 4.0;
12 stafflinethickness = \staffspace / 10.0;
13
14 % deprecated
15 interline = \staffspace;
16
17
18 % urg, need grace_ versions of these too?
19 beam_thickness = 0.52 * (\staffspace - \stafflinethickness);
20
21 #'beam-thickness = \beam_thickness;  %% UGR
22
23
24 interbeam = (2.0 * \staffspace + \stafflinethickness - \beam_thickness) / 2.0;
25 interbeam4 = (3.0 * \staffspace - \beam_thickness) / 3.0;
26
27 %{
28 The space taken by a note is determined by the formula 
29
30    SPACE = arithmetic_multiplier * ( C + log2 (TIME) ))
31
32 where TIME is the amount of time a note occupies.  The value of C is
33 chosen such that the smallest space within a measure is
34 arithmetic_basicspace:
35
36   C = arithmetic_basicspace - log2 (mininum (SHORTEST, 1/8)) 
37
38 The smallest space is the one following the shortest note in the
39 measure, or the space following a hypothetical 1/8 note.  Typically
40 arithmetic_basicspace is set to a value so that the shortest note
41 takes about two noteheads of space (ie, is followed by a notehead of
42 space):
43
44    2*quartwidth = arithmetic_multiplier * ( C + log2 (SHORTEST) ))
45
46    { using: C = arithmetic_basicspace - log2 (mininum (SHORTEST, 1/8)) }
47    { assuming: SHORTEST <= 1/8 }
48
49                = arithmetic_multiplier *
50                ( arithmetic_basicspace - log2 (SHORTEST) + log2 (SHORTEST) )
51
52                = arithmetic_multiplier * arithmetic_basicspace
53
54    { choose: arithmetic_multiplier = 1.0*quartwidth (why?)}
55
56                = quartwidth * arithmetic_basicspace
57
58    =>          
59
60    arithmetic_basicspace = 2/1 = 2
61
62 If you want to space your music wider, use something like:
63
64    arithmetic_basicspace = 4.;
65
66 %}
67 % We use 0.9*\quartwidth, because 1.0 seems to wide.
68 % We don't adjust arithmetic_basicspace accordingly (why not?)
69 arithmetic_multiplier = 0.9 * \quartwidth ;
70 arithmetic_basicspace = 2.0;
71
72
73 #'Stem_tremolo::beam-width = 1.5 * \quartwidth ; 
74
75 #'Left_edge_item::visibility-lambda = #begin-of-line-visible
76 #'Clef_item::visibility-lambda = #begin-of-line-visible
77 #'Key_item::visibility-lambda = #begin-of-line-visible
78 #'Breathing_sign::visibility-lambda = #begin-of-line-invisible
79
80 % catch suspect beam slopes, set slope to zero if
81 % outer stem is lengthened more than
82 beam_lengthened = 0.2 * \staffspace;
83 % and slope is running away steeper than
84 beam_steep_slope = 0.2 / 1.0;
85
86
87
88 %{
89   Slur parameters.
90   
91   See Documentation/programmer/fonts.doc
92 %}
93 % Height-limit (h_inf) = factor * staff_space
94 slur_height_limit_factor = 2.0;
95 slur_ratio = 1.0 / 3.0;
96
97 slur_thickness = 1.2 * \stafflinethickness;
98
99 slur_force_blowfit = 0.5;
100 slur_beautiful = 0.5;
101
102
103 %{
104 Horizontal space between centre of notehead and slur.
105 %}
106 % OSU: suggested gap = ss / 5;
107 slur_x_gap = \staffspace / 5.0;
108 slur_y_gap = 0.25 * \staffspace;
109 slur_y_free = 0.75 * \staffspace;
110 slur_x_minimum = 1.5 * \staffspace;
111
112
113 % The constants that define the valid areas for the middle control points
114 % Used in de_uglyfy.  Bit empirical.
115 bezier_control1 = 1.5;
116 bezier_control2 = 0.8;
117 bezier_control3 = -2.0;
118
119 % URG: the magic constants for area asymmetry
120 bezier_pct_c0 = -0.2;
121 bezier_pct_c3 = 0.000006;
122 bezier_pct_out_max = 0.8;
123 bezier_pct_in_max = 1.2;
124 bezier_area_steps = 1.0;
125
126
127 %{
128   Tie parameters
129 %}
130
131 tie_height_limit_factor = \slur_height_limit_factor;
132 tie_ratio = \slur_ratio;
133 tie_thickness = \slur_thickness;
134
135 tie_x_minimum = \staffspace + \slur_x_minimum;
136 % OSU: tie gap == slur gap
137 tie_x_gap = \slur_x_gap;
138 tie_y_gap = 0.25 * \staffspace;
139 % length of a tie that's a staffspace high
140 tie_staffspace_length = 4.0 * \staffspace;
141
142 tie_staffline_clearance = 2.0 *\tie_thickness;
143
144
145
146
147 % ugh
148 notewidth = (\quartwidth + \wholewidth) / 2.0;
149
150 gourlay_energybound = 100000.;
151 %{
152 Maximum number of measures per line to try when using Gourlay
153 method. 
154 %}
155 gourlay_maxmeasures = 10.;
156
157
158 line_kern = \staffspace;
159
160 %{ Ross. page 151 lists these values, but we think that thick lines
161 and kernings are too thick.
162
163 bar_kern = 0.5 * \staffspace;
164 bar_thinkern = 0.75 * \staffspace;
165 barthick_thick = 0.5* \staffspace;
166 barthick_score = 0.13333* \staffspace;
167 barthick_thin = 0.1*\staffspace;
168
169 %}
170
171 bar_kern = 3.0 * \stafflinethickness;
172 bar_thinkern = 3.0 * \stafflinethickness;
173 barthick_thick = 6.0* \stafflinethickness;
174 barthick_thin = 1.6*\stafflinethickness;
175 barthick_score = 1.6*\stafflinethickness;
176
177 bracket_arch_thick = \staffspace / 4.0;
178 bracket_width = 2.0 * \staffspace;
179 bracket_thick = \staffspace / 4.0;
180 bracket_arch_height = 1.5 * \staffspace;
181 bracket_arch_width = \bracket_arch_height;
182 bracket_arch_angle = 50.0;
183
184 tuplet_spanner_gap = 2.0 * \staffspace;
185 tuplet_thick = 1.0*\stafflinethickness;
186 volta_thick = 1.6*\stafflinethickness;
187 volta_spanner_height = 2.0 *\staffspace;
188
189 % relative thickness of thin lines  1.6 : 1 : 0.8
190 stemthickness = 0.8*\stafflinethickness;
191 rulethickness = \stafflinethickness;
192
193
194 extender_height = 0.8*\stafflinethickness;
195
196 hyphen_thickness = 0.05*\font_normal;
197 hyphen_height = 0.2*\font_normal;
198 hyphen_minimum_length = 0.25*\font_normal;
199
200 % Multi-measure rests
201 multi_measure_rest_x_minimum = 2.5*\staffheight;
202 multi_measure_rest_padding = 2.0 *\staffspace;
203 multi_measure_rest_expand_limit = 10.0;
204
205 % chop off this much when next to pp / ff sign.
206 crescendo_shorten = 4.0 * \staffspace;
207 crescendo_thickness   = \stafflinethickness;
208 crescendo_height = 0.666 * \staffspace;
209 crescendo_dash_thickness = 1.2*\stafflinethickness;
210 crescendo_dash = 4.0*\staffspace;
211
212 % in internote.
213 restcollision_minimum_dist = 3.0;
214 restcollision_minimum_beamdist = 1.5;
215
216
217 % unit for note collision resolving
218 collision_note_width = \notewidth;      %ugh.
219
220 % deprecated!
221 postBreakPadding = 0.0;
222
223 % optical correction amount.
224 stemSpacingCorrection = 0.5*\staffspace;
225
226
227 %{
228  relative strength of space following breakable columns (eg. prefatory matter)
229  %}
230 breakable_column_space_strength = 2.0; 
231
232 % space after inline clefs and such get this much stretched
233 decrease_nonmus_spacing_factor = 1.0 ;
234
235 %{
236  space before musical columns (eg. taken by accidentals) get this much
237  stretched when they follow a musical column, in absence of grace notes.
238
239  0.0 means no extra space (accidentals are ignored)
240 %}
241 musical_to_musical_left_spacing_factor = 0.4;
242
243 %{
244  stretch space this much if there are grace notes before the column
245 %}
246 before_grace_spacing_factor = 1.2;
247
248 %{
249 If columns do not have spacing information set, set it to this much
250 %}
251 loose_column_distance = 2.0 * \staffspace;
252
253 %{
254 Relative cost of compressing (vs. stretching).  Increasing this
255 will cause scores to be set looser
256 .
257 %}
258
259 compression_energy_factor = 0.6;
260
261 % if stem is on middle line, choose this direction.
262 stem_default_neutral_direction = 1.0;
263
264 % in staffspace
265 articulation_script_padding_default = 1.0;
266
267 % Backward compatibility -- has no function; 
268 Gourlay = 0.0;
269 Wordwrap =0.0;
270
271 \include "engraver.ly";
272
273
274 #'margin-shape = #'()
275
276
277
278 #'Local_key_item::left-padding = #'0.2
279 #'Local_key_item::right-padding = #'0.4
280
281 #'Staff_symbol::staff-space = \staffspace ;
282 #'Staff_symbol::line-count = #5
283