]> git.donarmstrong.com Git - lilypond.git/blob - ly/params.ly
release: 1.3.0
[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 interbeam = (2.0 * \interline + \stafflinethickness - \beam_thickness) / 2.0;
17 interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
18
19 % stems and beams
20 %
21 % poor man's array size
22 stem_max = 3.0;
23
24 %{ Specify length of stems for notes in the staff
25 that don't have beams. 
26  Measured in staff positions.
27 %}
28 stem_length0 = 7.;
29 stem_length1 = 5.;
30 stem_length2 = 4.;
31 stem_length3 = 3.;
32
33 %{
34 The space taken by a note is determined by the formula 
35
36 arithmetic_multiplier * ( c + log2 (time) ))
37
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.
43 %}
44 arithmetic_basicspace = 2.;
45 arithmetic_multiplier = 0.9 * \quartwidth ;
46
47
48
49 % urg.
50 % if only these ugly arrays were scm,
51 % we could override them in the Grace context
52 grace_factor = 0.8;
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;
57
58 % only used for beams
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;
63
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;
68
69 %{
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.
73 %}
74
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;
79
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;
85
86 % there are several ways to calculate the direction of a beam
87
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
91 %
92 % enum Dir_algorithm { DOWN=-1, UP=1, MAJORITY=2, MEAN, MEDIAN };
93 %
94 DOWN = -1.0;
95 UP = 1.0;
96 MAJORITY = 2.0;
97 MEAN = 3.0;
98 MEDIAN = 4.0;
99
100 %{
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.
106 %}
107
108 % [Ross]: majority
109 beam_dir_algorithm = \MAJORITY;
110
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;
116
117 %{
118 dit(code(slur_x_gap)) Horizontal space between note and slur.  Set to
119 code(\interline / 5) by default.  
120
121 %}
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;
127
128 %{
129 Like beams, slurs often aren't as steep as the notes they encompass.
130 This sets the amount of damping.
131 %}
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;
144
145
146
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;
153
154 % ugh: rename to bow (in bezier.cc and fonts.doc too...)
155 % slur_thickness = 1.8 * \stafflinethickness;
156 slur_thickness = 1.4 * \stafflinethickness;
157
158 %{
159  Specifies the maximum height of slurs.
160 %}
161 slur_height_limit = \staffheight;
162
163
164 %{
165 Specifes the ratio of slur hight to slur width
166 to aim for.  Default value is 0.3. 
167 %}
168
169 % slur_ratio = 0.3;
170 % try bit flatter slurs
171 slur_ratio = 0.25;
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;
176
177 % ugh
178 notewidth = (\quartwidth + \wholewidth) / 2.0;
179
180 gourlay_energybound = 100000.;
181 %{
182 Maximum number of measures per line to try when using Gourlay
183 method. 
184 %}
185 gourlay_maxmeasures = 10.;
186
187
188 %{ Ross. page 151 lists these values, but we think that thick lines
189 and kernings are too thick.
190
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;
196
197 %}
198
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;
204
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;
209
210 % relative thickness of thin lines  1.6 : 1 : 0.8
211 stemthickness = 0.8*\stafflinethickness;
212 rulethickness = \stafflinethickness;
213
214
215 extender_height = 0.8*\stafflinethickness;
216
217 hyphen_thickness = 0.05*\font_normal;
218 hyphen_height = 0.2*\font_normal;
219 hyphen_minimum_length = 0.25*\font_normal;
220
221 % Multi-measure rests
222 mmrest_x_minimum = 1.4*\staffheight;
223
224
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;
229
230 % in internote.
231 restcollision_minimum_dist = 3.0;
232 restcollision_minimum_beamdist = 1.5;
233
234
235 % unit for note collision resolving
236 collision_note_width = \notewidth;      %ugh.
237
238 % deprecated!
239 postBreakPadding = 0.0;
240
241 % optical correction amount.
242 stemSpacingCorrection = 0.5*\interline;
243
244
245 %{
246  relative strength of space following breakable columns (eg. prefatory matter)
247  %}
248 breakable_column_space_strength = 2.0; 
249
250 % space after inline clefs and such get this much stretched
251 decrease_nonmus_spacing_factor = 1.0 ;
252
253 %{
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.
256
257  0.0 means no extra space (accidentals are ignored)
258 %}
259 musical_to_musical_left_spacing_factor = 0.4;
260
261 %{
262  stretch space this much if there are grace notes before the column
263 %}
264 before_grace_spacing_factor = 1.2;
265
266 %{
267 If columns do not have spacing information set, set it to this much
268 %}
269 loose_column_distance = 2.0 * \interline;
270
271 %{
272 Relative cost of compressing (vs. stretching).  Increasing this
273 will cause scores to be set looser
274 .
275 %}
276
277 compression_energy_factor = 0.6;
278
279 % if stem is on middle line, choose this direction.
280 stem_default_neutral_direction = 1.0;
281
282 % in interline
283 articulation_script_padding_default = 1.0;
284
285 % Backward compatibility -- has no function; 
286 Gourlay = 0.0;
287 Wordwrap =0.0;
288
289 \include "engraver.ly";
290
291
292