+2002-04-01 Han-Wen <hanwen@cs.uu.nl>
+
+ * lily/staff-symbol.cc (brew_molecule): make line thickness
+ adjustable.
+
+ * lily/*.cc: replace stafflinethickness by linethickness.
+
2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
* input/regression/beam-concave.ly: Add to-be-considered-concave
* scm/grob-property-description.scm (concaveness-gap): Add
description.
-2002-03-31 Jan Nieuwenhuizen <janneke@gnu.org>
-
* input/mozart-hrn3-allegro.ly: Fix typo.
2002-03-31 Juergen Reuter <reuter@ipd.uka.de>
@lilypondfile[printfilename]{number-staff-lines.ly}
+@lilypondfile[printfilename]{staff-tweak.ly}
@section Spacing
\score {
\context Voice \notes\relative c {
- c' c c c | g' g g g
+ c' c c c | g' g g g \bar ":|"
}
\paper {
--- /dev/null
+\header {
+texidoc = "The staff is a grob, and may be adjusted as well: this one
+ shows a staff with 6 thick line, and a slightly large staffspace.
+Beams remain correctly quantized.
+
+"
+}
+
+\score { \notes {
+ \property Score.StaffSymbol \set #'thickness = #2.0
+ \property Score.StaffSymbol \set #'line-count = #6
+ \property Score.StaffSymbol \set #'staff-space = #1.1
+ c'4 g'4 b'8 b'8 b'8 b'8
+}
+
+\paper { linewidth = -1.
+
+
+ }
+ }
Real hair = gh_scm2double (me->get_grob_property ("hair-thickness"));
Real fatline = gh_scm2double (me->get_grob_property ("thick-thickness"));
- Real staffline = me->paper_l ()->get_var ("stafflinethickness");
+ Real staffline = me->paper_l ()->get_var ("linethickness");
Real staff_space = Staff_symbol_referencer::staff_space (me);
kern *= staffline;
Real
Beam::get_interbeam (Grob *me)
{
- Real slt = me->paper_l ()->get_var ("stafflinethickness");
+ Real slt = me->paper_l ()->get_var ("linethickness");
Real ss = Staff_symbol_referencer::staff_space (me);
Real thickness = gh_scm2double (me->get_grob_property ("thickness"))
* ss;
Real ss = Staff_symbol_referencer::staff_space (me);
Real thickness = gh_scm2double (me->get_grob_property ("thickness")) / ss;
- Real slt = me->paper_l ()->get_var ("stafflinethickness") / ss;
+ Real slt = me->paper_l ()->get_var ("linethickness") / ss;
SCM sdy = me->get_grob_property ("least-squares-dy");
- prev->relative_coordinate (0, X_AXIS);
Real stem_w = gh_scm2double (prev->get_grob_property ("thickness"))
// URG
- * me->paper_l ()->get_var ("stafflinethickness");
+ * me->paper_l ()->get_var ("linethickness");
w = w/2 <? nw_f;
Molecule a;
Real stem_w = gh_scm2double (next->get_grob_property ("thickness"))
// URG
- * me->paper_l ()->get_var ("stafflinethickness");
+ * me->paper_l ()->get_var ("linethickness");
Molecule a = Lookup::beam (dydx, w + stem_w, thick);
a.translate_axis (- stem_w/2, X_AXIS);
Grob *me= unsmob_grob (smob);
Spanner *spanner = dynamic_cast<Spanner*> (me);
- Real line = me->paper_l ()->get_var ("stafflinethickness");
+ Real line = me->paper_l ()->get_var ("linethickness");
SCM s = me->get_grob_property ("grow-direction");
if (!ly_dir_p (s))
}
while (flip (&d) != LEFT);
- Real lt = sp->paper_l ()->get_var ("stafflinethickness");
+ Real lt = sp->paper_l ()->get_var ("linethickness");
Real th = gh_scm2double (sp->get_grob_property ("thickness")) * lt ;
Real h = gh_scm2double (sp->get_grob_property ("height"));
}
- Real thick = me->paper_l ()->get_var ("stafflinethickness");
+ Real thick = me->paper_l ()->get_var ("linethickness");
SCM s = me->get_grob_property ("thickness");
if (gh_number_p (s))
Real leftext = sp->get_bound (LEFT)->extent (sp->get_bound (LEFT),
X_AXIS).length ();
- Real sl = sp->paper_l ()->get_var ("stafflinethickness");
+ Real sl = sp->paper_l ()->get_var ("linethickness");
Real righttrim = 0.5; // default to half a space gap on the right
SCM righttrim_scm = sp->get_grob_property ("right-trim-amount");
if (gh_number_p (righttrim_scm)) {
Real thick = gh_scm2double (me->get_grob_property ("thickness"));
Real ss = Staff_symbol_referencer::staff_space (me);
- Real slt = me->paper_l ()->get_var ("stafflinethickness");
+ Real slt = me->paper_l ()->get_var ("linethickness");
Real y = slt * thick/2 * ss;
Box b(Interval (0, width), Interval (-y, y));
Real ythick = slt * ss;
Item * rb = r->find_prebroken_piece (LEFT);
Item* combinations[4][2]={{l,r}, {lb,r}, {l,rb},{lb,rb}};
- Real staff_space = Staff_symbol_referencer::staff_space (me);
+
for (int i=0; i < 4; i++)
{
Item * l = combinations[i][0];
rod.item_l_drul_[LEFT] = l;
rod.item_l_drul_[RIGHT] = r;
rod.distance_f_ = l->extent (l, X_AXIS)[BIGGER] - r->extent (r, X_AXIS)[SMALLER]
- + 4.0; // magic!
+ + 5.0; // magic!
rod.add_to_cols ();
}
line_thickness = 1.0;
}
Real thickness =
- line_thickness * me->paper_l ()->get_var ("stafflinethickness");
+ line_thickness * me->paper_l ()->get_var ("linethickness");
SCM porrectus_width_scm = me->get_grob_property ("width");
Real porrectus_width;
*/
Real stem_thickness =
gh_scm2double (stem->get_grob_property ("thickness"))
- * stem->paper_l ()->get_var ("stafflinethickness");
+ * stem->paper_l ()->get_var ("linethickness");
o += Offset (0.5 *
x_extent * (1 + Stem::get_direction (stem))
- ((dir + 1)/2) * stem_thickness
return SCM_EOL;
}
- Real thick = me->paper_l ()->get_var ("stafflinethickness") *
+ Real thick = me->paper_l ()->get_var ("linethickness") *
gh_scm2double (me->get_grob_property ("thickness"));
Bezier one = get_curve (me);
;
}
- Real t = me->paper_l ()->get_var ("stafflinethickness");
+ Real t = me->paper_l ()->get_var ("linethickness");
+ SCM my_thick = me->get_grob_property("thickness");
+ if (gh_number_p(my_thick))
+ t *= gh_scm2double (my_thick);
+
int l = Staff_symbol::line_count (me);
Real height = (l-1) * staff_space (me) /2;
ADD_INTERFACE (Staff_symbol,"staff-symbol-interface",
- "This spanner draws the lines of a staff. The middle line is
-position 0.",
- "staff-space line-count invisible-staff");
+ "This spanner draws the lines of a staff. The center (i.e. middle line
+or space) is position 0.",
+
+ "staff-space thickness line-count");
aargh: I don't get it. direction is being set (and then set
to forced), if we have a Chord_tremolo.
*/
+
+ /*
+ Why the separate check for forced directions? --hwn.
+
+ (docme)
+ */
SCM dir = stem_p_->get_grob_property ("direction");
if (gh_number_p (dir) && to_dir (dir))
{
{
Real stem_width = gh_scm2double (me->get_grob_property ("thickness"))
// URG
- * me->paper_l ()->get_var ("stafflinethickness");
+ * me->paper_l ()->get_var ("linethickness");
Molecule ss =Lookup::filledbox (Box (Interval (-stem_width/2, stem_width/2),
Interval (stem_y[DOWN]*dy, stem_y[UP]*dy)));
{
Real rule_thick
= gh_scm2double (me->get_grob_property ("thickness"))
- * me->paper_l ()->get_var ("stafflinethickness");
+ * me->paper_l ()->get_var ("linethickness");
r += - d * rule_thick * 0.5;
Molecule
System_start_delimiter::simple_bar (Grob*me,Real h)
{
- Real w = me->paper_l ()->get_var ("stafflinethickness") *
+ Real w = me->paper_l ()->get_var ("linethickness") *
gh_scm2double (me->get_grob_property ("thickness"));
return Lookup::filledbox (Box (Interval (0,w), Interval (-h/2, h/2)));
}
/* ugh */
- Real thick = me->paper_l ()->get_var ("stafflinethickness");
+ Real thick = me->paper_l ()->get_var ("linethickness");
SCM st = me->get_grob_property ("thickness");
if (gh_number_p (st))
{
Text_spanner::setup_pedal_bracket(Spanner *me)
{
- Real thick = me->paper_l ()->get_var ("stafflinethickness");
+ Real thick = me->paper_l ()->get_var ("linethickness");
SCM st = me->get_grob_property ("thickness");
if (gh_number_p (st))
{
Real thick =
gh_scm2double (me->get_grob_property ("thickness"))
- * me->paper_l ()->get_var ("stafflinethickness");
+ * me->paper_l ()->get_var ("linethickness");
Bezier b;
int i = 0;
follow beam precisely for determining tuplet number location.
*/
-
-
MAKE_SCHEME_CALLBACK (Tuplet_bracket,brew_molecule,1);
SCM
Tuplet_bracket::brew_molecule (SCM smob)
if (bracket_visibility)
{
- Real lt = me->paper_l ()->get_var ("stafflinethickness");
+ Real lt = me->paper_l ()->get_var ("linethickness");
SCM thick = me->get_grob_property ("thick");
SCM gap = me->get_grob_property ("number-gap");
Tuplet_bracket::get_default_dir (Grob*me)
{
Direction d = UP;
- SCM dir_sym =me->get_grob_property ("dir-forced");
- if (ly_dir_p (dir_sym))
- {
- d= to_dir (dir_sym);
- if (d != CENTER)
- return d;
- }
-
- d = UP ;
for (SCM s = me->get_grob_property ("columns"); gh_pair_p (s); s = ly_cdr (s))
{
Grob * nc = unsmob_grob (ly_car (s));
(strcmp(cs,":|")!=0 && strcmp(cs,"|:")!=0 && strcmp(cs,"|.")!=0
&& strcmp(cs,":|:")!=0 && strcmp(cs,".|")!=0);
- Real staff_thick = me->paper_l ()->get_var ("stafflinethickness");
+ Real staff_thick = me->paper_l ()->get_var ("linethickness");
Real half_space = 0.5;
Item * bound = dynamic_cast<Spanner*> (me)->get_bound (LEFT);
unit = "mm"
staffspace = \staffheight / 4.0
-stafflinethickness = \staffspace / 10.0
+linethickness = \staffspace / 10.0
outputscale = \staffheight / 4.0
-ledgerlinethickness = 2.0 * \stafflinethickness
+ledgerlinethickness = 2.0 * \linethickness
(StaffSymbol
. (
(molecule-callback . ,Staff_symbol::brew_molecule)
- (staff-space . 1.0)
(line-count . 5)
(layer . 0)
(meta . ((interfaces . (staff-symbol-interface))))
(grob-property-description 'ideal-distances list? "(OBJ . (DIST . STRENGTH)) pairs.")
(grob-property-description 'interfaces list? "list of symbols indicating the interfaces supported by this object. Is initialized from the @code{meta} field.")
(grob-property-description 'inversion list? " musical-pitch, optional.")
-(grob-property-description 'invisible-staff boolean? "is staff invisible?")
(grob-property-description 'items-worth-living list? "list of interesting items. If empty in a particular system, clear that system.")
(grob-property-description 'kern number? "amount of extra white space to add.