% params.ly
% generic paper parameters
+#'staff-height = \staffheight;
+
paperfile = \papersize + ".ly";
% paperfile = "a4.ly";
\include \paperfile;
\include "paper.ly";
-interline = \staffheight / 4.0;
+staffspace = \staffheight / 4.0;
+stafflinethickness = \staffspace / 10.0;
+% deprecated
+interline = \staffspace;
-% thickness of stafflines
-staffline = \interline / 10.0;
% urg, need grace_ versions of these too?
-beam_thickness = 0.52 * (\interline - \staffline);
-interbeam = (2.0 * \interline + \staffline - \beam_thickness) / 2.0;
-interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
-
-% stems and beams
-%
-% poor man's array size
-stem_max = 3.0;
-
-%{ Specify length of stems for notes in the staff
-that don't have beams.
- Measured in staff positions.
-%}
-stem_length0 = 7.;
-stem_length1 = 5.;
-stem_length2 = 4.;
-stem_length3 = 3.;
+beam_thickness = 0.52 * (\staffspace - \stafflinethickness);
+
+#'beam-thickness = \beam_thickness; %% UGR
+
+
+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 = 0.9 * \quartwidth ;
+#'Stem_tremolo::beam-width = 1.5 * \quartwidth ;
-% urg.
-% if only these ugly arrays were scm,
-% we could override them in the Grace context
-grace_factor = 0.8;
-grace_stem_length0 = \stem_length0 * \grace_factor;
-grace_stem_length1 = \stem_length1 * \grace_factor;
-grace_stem_length2 = \stem_length2 * \grace_factor;
-grace_stem_length3 = \stem_length3 * \grace_factor;
+#'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 * \staffspace;
+% and slope is running away steeper than
+beam_steep_slope = 0.2 / 1.0;
-% only used for beams
-minimum_stem_length0 = 0.0 ; % not used
-minimum_stem_length1 = 3. ;
-minimum_stem_length2 = 2.5;
-minimum_stem_length3 = 2.0;
-grace_minimum_stem_length0 = 0.0 ; % not used
-grace_minimum_stem_length1 = \minimum_stem_length1 * \grace_factor;
-grace_minimum_stem_length2 = \minimum_stem_length2 * \grace_factor;
-grace_minimum_stem_length3 = \minimum_stem_length3 * \grace_factor;
%{
- stems in unnatural (forced) direction should be shortened,
- according to [Roush & Gourlay]. Their suggestion to knock off
- a whole staffspace seems a bit drastical: we'll do half.
+ 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;
-forced_stem_shorten0 = 1.0;
-forced_stem_shorten1 = \forced_stem_shorten0;
-forced_stem_shorten2 = \forced_stem_shorten1;
-forced_stem_shorten3 = \forced_stem_shorten2;
-
-% don't shorten grace stems, always up
-grace_forced_stem_shorten0 = 0.;
-grace_forced_stem_shorten1 = \grace_forced_stem_shorten0;
-grace_forced_stem_shorten2 = \grace_forced_stem_shorten1;
-grace_forced_stem_shorten3 = \grace_forced_stem_shorten2;
+slur_thickness = 1.2 * \stafflinethickness;
-% there are several ways to calculate the direction of a beam
-%
-% * MAJORITY : number count of up or down notes
-% * MEAN : mean centre distance of all notes
-% * MEDIAN : mean centre distance weighted per note
-%
-% enum Dir_algorithm { DOWN=-1, UP=1, MAJORITY=2, MEAN, MEDIAN };
-%
-DOWN = -1.0;
-UP = 1.0;
-MAJORITY = 2.0;
-MEAN = 3.0;
-MEDIAN = 4.0;
%{
-dit(code(beam_dir_algorithm)) Specify algorithm for determining
-whether beams go up or down. It is real valued. If set to 2.0 then
-majority selection is used. If set to 3.0, then mean selection is
-used based on the mean center distance. If set to 4.0 then median
-selection is used, based on the median center distance.
+Horizontal space between centre of notehead and slur.
%}
+% OSU: suggested gap = ss / 5;
+slur_x_gap = \staffspace / 5.0;
+slur_y_gap = 0.25 * \staffspace;
+slur_y_free = 0.75 * \staffspace;
+slur_x_minimum = 1.5 * \staffspace;
-% [Ross]: majority
-beam_dir_algorithm = \MAJORITY;
-% catch suspect beam slopes, set slope to zero if
-% outer stem is lengthened more than
-beam_lengthened = 0.2 * \interline;
-% and slope is running away steeper than
-beam_steep_slope = 0.2 / 1.0;
+bezier_asymmetry = 1.0;
+bezier_beautiful = 2.0;
-%{
-dit(code(slur_x_gap)) Horizontal space between note and slur. Set to
-code(\interline / 5) by default.
+% 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;
+
+slur_force_blowfit = 0.5;
+slur_beautiful = 0.5;
-%}
-% 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;
%{
-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;
-
-
-
-tie_x_minimum = \interline + \slur_x_minimum;
+
+tie_height_limit_factor = \slur_height_limit_factor;
+tie_ratio = \slur_ratio;
+tie_thickness = \slur_thickness;
+
+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...)
-% slur_thickness = 1.8 * \staffline;
-slur_thickness = 1.4 * \staffline;
+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;
-% ugh
-rulethickness = \staffline;
-
gourlay_energybound = 100000.;
%{
Maximum number of measures per line to try when using Gourlay
%{ 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;
%}
-bar_kern = 3.0 * \staffline;
-bar_thinkern = 3.0 * \staffline;
-barthick_thick = 6.0* \staffline;
-barthick_thin = 1.6*\staffline;
-barthick_score = 1.6*\staffline;
+bar_kern = 3.0 * \stafflinethickness;
+bar_thinkern = 3.0 * \stafflinethickness;
+barthick_thick = 6.0* \stafflinethickness;
+barthick_thin = 1.6*\stafflinethickness;
+barthick_score = 1.6*\stafflinethickness;
-tuplet_spanner_gap = 2.0 * \interline;
-tuplet_thick = 1.0*\staffline;
-volta_thick = 1.6*\staffline;
-volta_spanner_height = 2.0 *\interline;
+bracket_arch_thick = \staffspace / 3.0;
+bracket_width = 2.0 * \staffspace;
+bracket_thick = 2.0 * \stafflinethickness;
+bracket_arch_height = 1.5 * \staffspace;
+bracket_arch_width = \bracket_arch_height;
+bracket_arch_angle = 50.0;
+
+tuplet_spanner_gap = 2.0 * \staffspace;
+tuplet_thick = 1.0*\stafflinethickness;
+volta_thick = 1.6*\stafflinethickness;
+volta_spanner_height = 2.0 *\staffspace;
% relative thickness of thin lines 1.6 : 1 : 0.8
-stemthickness = 0.8*\staffline;
-rulethickness = \staffline;
+stemthickness = 0.8*\stafflinethickness;
+rulethickness = \stafflinethickness;
-extender_height = 0.8*\staffline;
+extender_height = 0.8*\stafflinethickness;
hyphen_thickness = 0.05*\font_normal;
hyphen_height = 0.2*\font_normal;
hyphen_minimum_length = 0.25*\font_normal;
% Multi-measure rests
-mmrest_x_minimum = 1.4*\staffheight;
-
+multi_measure_rest_x_minimum = 2.5*\staffheight;
+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_thickness = \staffline;
+crescendo_shorten = 4.0 * \staffspace;
+crescendo_thickness = \stafflinethickness;
+crescendo_height = 0.666 * \staffspace;
+crescendo_dash_thickness = 1.2*\stafflinethickness;
+crescendo_dash = 4.0*\staffspace;
% in internote.
restcollision_minimum_dist = 3.0;
restcollision_minimum_beamdist = 1.5;
+
+% unit for note collision resolving
+collision_note_width = \notewidth; %ugh.
+
% deprecated!
postBreakPadding = 0.0;
% optical correction amount.
-stemSpacingCorrection = 0.5*\interline;
+stemSpacingCorrection = 0.5*\staffspace;
%{
%{
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
+will cause scores to be set looser
+.
+%}
+
+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;
\include "engraver.ly";
+#'margin-shape = #'()
+
+
+%
+#'Local_key_item::left-padding = #'0.2
+#'Local_key_item::right-padding = #'0.4
+
+#'Staff_symbol::staff-space = \staffspace ;
+#'Staff_symbol::line-count = #5