]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/params.ly
patch::: 1.3.37.jcn2
[lilypond.git] / ly / params.ly
index 988e697e098c08c4fcfd7f59b949b65eb3a934e4..e0382e13e8f8a301342a74c74190fe8f2edcc40a 100644 (file)
@@ -8,108 +8,141 @@ paperfile = \papersize + ".ly";
 \include \paperfile;
 \include "paper.ly";
 
-interline = \staffheight / 4.0;
+staffspace = \staffheight / 4.0;
+stafflinethickness = \staffspace / 10.0;
 
+% deprecated
+interline = \staffspace;
 
-stafflinethickness = \interline / 10.0;
 
 % urg, need grace_ versions of these too?
-beam_thickness = 0.52 * (\interline - \stafflinethickness);
+beam_thickness = 0.52 * (\staffspace - \stafflinethickness);
 
 #'beam-thickness = \beam_thickness;  %% UGR
 
 
-interbeam = (2.0 * \interline + \stafflinethickness - \beam_thickness) / 2.0;
-interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
+interbeam = (2.0 * \staffspace + \stafflinethickness - \beam_thickness) / 2.0;
+interbeam4 = (3.0 * \staffspace - \beam_thickness) / 3.0;
 
 %{
 The space taken by a note is determined by the formula 
 
-arithmetic_multiplier * ( c + log2 (time) ))
+   SPACE = arithmetic_multiplier * ( C + log2 (TIME) ))
+
+where TIME is the amount of time a note occupies.  The value of C is
+chosen such that the smallest space within a measure is
+arithmetic_basicspace:
+
+  C = arithmetic_basicspace - log2 (mininum (SHORTEST, 1/8)) 
+
+The smallest space is the one following the shortest note in the
+measure, or the space following a hypothetical 1/8 note.  Typically
+arithmetic_basicspace is set to a value so that the shortest note
+takes about two noteheads of space (ie, is followed by a notehead of
+space):
+
+   2*quartwidth = arithmetic_multiplier * ( C + log2 (SHORTEST) ))
+
+   { using: C = arithmetic_basicspace - log2 (mininum (SHORTEST, 1/8)) }
+   { assuming: SHORTEST <= 1/8 }
+
+               = arithmetic_multiplier *
+              ( arithmetic_basicspace - log2 (SHORTEST) + log2 (SHORTEST) )
+
+               = arithmetic_multiplier * arithmetic_basicspace
+
+   { choose: arithmetic_multiplier = 1.0*quartwidth (why?)}
+
+               = quartwidth * arithmetic_basicspace
+
+   =>         
+
+   arithmetic_basicspace = 2/1 = 2
+
+If you want to space your music wider, use something like:
+
+   arithmetic_basicspace = 4.;
 
-where code(time) is the amount of time a note occupies.  The value
-of code(c) is chosen such that the smallest space within a measure is
-arithmetic_basicspace.  The smallest space is the one following the
-shortest note in the measure.  Typically arithmetic_basicspace is set
-to the width of a quarter note head.
 %}
-arithmetic_basicspace = 2.;
+% We use 0.9*\quartwidth, because 1.0 seems to wide.
+% We don't adjust arithmetic_basicspace accordingly (why not?)
 arithmetic_multiplier = 0.9 * \quartwidth ;
+arithmetic_basicspace = 2.0;
 
 
 #'Stem_tremolo::beam-width = 1.5 * \quartwidth ; 
 
-#'Clef_item::visibility-lambda = #postbreak-only-visibility
-#'Key_item::visibility-lambda = #postbreak-only-visibility
-#'Breathing_sign::visibility-lambda = #non-postbreak-visibility
+#'Left_edge_item::visibility-lambda = #begin-of-line-visible
+#'Clef_item::visibility-lambda = #begin-of-line-visible
+#'Key_item::visibility-lambda = #begin-of-line-visible
+#'Breathing_sign::visibility-lambda = #begin-of-line-invisible
 
 % catch suspect beam slopes, set slope to zero if
 % outer stem is lengthened more than
-beam_lengthened = 0.2 * \interline;
+beam_lengthened = 0.2 * \staffspace;
 % and slope is running away steeper than
 beam_steep_slope = 0.2 / 1.0;
 
+
+
 %{
-dit(code(slur_x_gap)) Horizontal space between note and slur.  Set to
-code(\interline / 5) by default.  
+  Slur parameters.
+  
+  See Documentation/programmer/fonts.doc
+%}
+% Height-limit (h_inf) = factor * staff_space
+slur_height_limit_factor = 2.0;
+slur_ratio = 1.0 / 3.0;
 
+slur_thickness = 1.2 * \stafflinethickness;
+
+slur_force_blowfit = 0.5;
+slur_beautiful = 0.5;
+
+
+%{
+Horizontal space between centre of notehead and slur.
 %}
 % OSU: suggested gap = ss / 5;
-slur_x_gap = \interline / 5.0;
-slur_y_gap = 0.25 * \interline;
-slur_y_free = 0.75 * \interline;
-slur_x_minimum = 1.5 * \interline;
+slur_x_gap = \staffspace / 5.0;
+slur_y_gap = 0.25 * \staffspace;
+slur_y_free = 0.75 * \staffspace;
+slur_x_minimum = 1.5 * \staffspace;
+
+
+% The constants that define the valid areas for the middle control points
+% Used in de_uglyfy.  Bit empirical.
+bezier_control1 = 1.5;
+bezier_control2 = 0.8;
+bezier_control3 = -2.0;
+
+% URG: the magic constants for area asymmetry
+bezier_pct_c0 = -0.2;
+bezier_pct_c3 = 0.000006;
+bezier_pct_out_max = 0.8;
+bezier_pct_in_max = 1.2;
+bezier_area_steps = 1.0;
+
 
 %{
-Like beams, slurs often aren't as steep as the notes they encompass.
-This sets the amount of damping.
+  Tie parameters
 %}
-% slope damping: keep dy/dx < slur_slope_damping
-slur_slope_damping = 0.3;
-slur_interstaff_slope_damping = 0.6;
-% height damping: keep h/dx < slur_height_damping
-slur_height_damping = 0.4;
-slur_interstaff_height_damping = 0.5;
-% snap to stem if slur ends closer to stem than
-slur_snap_to_stem = 1.75 * \interline;
-slur_interstaff_snap_to_stem = 2.5 * \interline;
-% maximum dy change allowed by snapping
-slur_snap_max_slope_change = 0.5;
-slur_interstaff_snap_max_slope_change = 0.5;
-slur_thickness = 1.2 * \stafflinethickness;
-
 
+tie_height_limit_factor = \slur_height_limit_factor;
+tie_ratio = \slur_ratio;
+tie_thickness = \slur_thickness;
 
-tie_x_minimum = \interline + \slur_x_minimum;
+tie_x_minimum = \staffspace + \slur_x_minimum;
 % OSU: tie gap == slur gap
 tie_x_gap = \slur_x_gap;
-tie_y_gap = 0.25 * \interline;
+tie_y_gap = 0.25 * \staffspace;
 % length of a tie that's a staffspace high
-tie_staffspace_length = 4.0 * \interline;
+tie_staffspace_length = 4.0 * \staffspace;
 
-% ugh: rename to bow (in bezier.cc and fonts.doc too...)
-
-% used to be 1.4 .
-tie_thickness = 1.2 * \stafflinethickness;
 tie_staffline_clearance = 2.0 *\tie_thickness;
 
-%{
- Specifies the maximum height of slurs.
-%}
-slur_height_limit = \staffheight;
 
 
-%{
-Specifes the ratio of slur hight to slur width
-to aim for.  Default value is 0.3. 
-%}
-% slur_ratio = 0.3;
-% try bit flatter slurs
-slur_ratio = 0.25;
-slur_clip_ratio = 1.2;
-slur_clip_height = 3.0 * \staffheight;
-slur_clip_angle = 100.0;
-slur_rc_factor = 2.4;
 
 % ugh
 notewidth = (\quartwidth + \wholewidth) / 2.0;
@@ -122,14 +155,16 @@ method.
 gourlay_maxmeasures = 10.;
 
 
+line_kern = \staffspace;
+
 %{ Ross. page 151 lists these values, but we think that thick lines
 and kernings are too thick.
 
-bar_kern = 0.5 * \interline;
-bar_thinkern = 0.75 * \interline;
-barthick_thick = 0.5* \interline;
-barthick_score = 0.13333* \interline;
-barthick_thin = 0.1*\interline;
+bar_kern = 0.5 * \staffspace;
+bar_thinkern = 0.75 * \staffspace;
+barthick_thick = 0.5* \staffspace;
+barthick_score = 0.13333* \staffspace;
+barthick_thin = 0.1*\staffspace;
 
 %}
 
@@ -139,17 +174,17 @@ barthick_thick = 6.0* \stafflinethickness;
 barthick_thin = 1.6*\stafflinethickness;
 barthick_score = 1.6*\stafflinethickness;
 
-bracket_arch_thick = \interline / 3.0;
-bracket_width = 2.0 * \interline;
-bracket_thick = 2.0 * \stafflinethickness;
-bracket_arch_height = 1.5 * \interline;
+bracket_arch_thick = \staffspace / 4.0;
+bracket_width = 2.0 * \staffspace;
+bracket_thick = \staffspace / 4.0;
+bracket_arch_height = 1.5 * \staffspace;
 bracket_arch_width = \bracket_arch_height;
 bracket_arch_angle = 50.0;
 
-tuplet_spanner_gap = 2.0 * \interline;
+tuplet_spanner_gap = 2.0 * \staffspace;
 tuplet_thick = 1.0*\stafflinethickness;
 volta_thick = 1.6*\stafflinethickness;
-volta_spanner_height = 2.0 *\interline;
+volta_spanner_height = 2.0 *\staffspace;
 
 % relative thickness of thin lines  1.6 : 1 : 0.8
 stemthickness = 0.8*\stafflinethickness;
@@ -164,13 +199,15 @@ hyphen_minimum_length = 0.25*\font_normal;
 
 % Multi-measure rests
 multi_measure_rest_x_minimum = 2.5*\staffheight;
-multi_measure_rest_padding = 2.0 *\interline;
+multi_measure_rest_padding = 2.0 *\staffspace;
 multi_measure_rest_expand_limit = 10.0;
 
 % chop off this much when next to pp / ff sign.
-crescendo_shorten = 4.0 * \interline;
+crescendo_shorten = 4.0 * \staffspace;
 crescendo_thickness   = \stafflinethickness;
-crescendo_height = 0.666 * \interline;
+crescendo_height = 0.666 * \staffspace;
+crescendo_dash_thickness = 1.2*\stafflinethickness;
+crescendo_dash = 4.0*\staffspace;
 
 % in internote.
 restcollision_minimum_dist = 3.0;
@@ -184,7 +221,7 @@ collision_note_width = \notewidth;  %ugh.
 postBreakPadding = 0.0;
 
 % optical correction amount.
-stemSpacingCorrection = 0.5*\interline;
+stemSpacingCorrection = 0.5*\staffspace;
 
 
 %{
@@ -211,7 +248,7 @@ before_grace_spacing_factor = 1.2;
 %{
 If columns do not have spacing information set, set it to this much
 %}
-loose_column_distance = 2.0 * \interline;
+loose_column_distance = 2.0 * \staffspace;
 
 %{
 Relative cost of compressing (vs. stretching).  Increasing this
@@ -224,7 +261,7 @@ compression_energy_factor = 0.6;
 % if stem is on middle line, choose this direction.
 stem_default_neutral_direction = 1.0;
 
-% in interline
+% in staffspace
 articulation_script_padding_default = 1.0;
 
 % Backward compatibility -- has no function; 
@@ -241,6 +278,6 @@ Wordwrap =0.0;
 #'Local_key_item::left-padding = #'0.2
 #'Local_key_item::right-padding = #'0.4
 
-#'Staff_symbol::staff-space = \interline ;
+#'Staff_symbol::staff-space = \staffspace ;
 #'Staff_symbol::line-count = #5