]> git.donarmstrong.com Git - lilypond.git/commitdiff
''
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 31 Mar 2002 23:12:19 +0000 (23:12 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 31 Mar 2002 23:12:19 +0000 (23:12 +0000)
24 files changed:
ChangeLog
Documentation/regression-test.tely
input/regression/number-staff-lines.ly
input/regression/staff-tweak.ly [new file with mode: 0644]
lily/bar-line.cc
lily/beam.cc
lily/hairpin.cc
lily/hyphen-spanner.cc
lily/line-spanner.cc
lily/lyric-extender.cc
lily/multi-measure-rest.cc
lily/porrectus.cc
lily/slur.cc
lily/staff-symbol.cc
lily/stem-engraver.cc
lily/stem.cc
lily/system-start-delimiter.cc
lily/text-spanner.cc
lily/tie.cc
lily/tuplet-bracket.cc
lily/volta-bracket.cc
ly/params-init.ly
scm/grob-description.scm
scm/grob-property-description.scm

index bb2b4ee7c99d8ef81e194a42f43b2f2a63dc0449..0a6ac8c554a2449cd1355742000b1dbc50e34a80 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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
@@ -12,8 +19,6 @@
        * 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>
index 141cbd18b5d2c9231f8c9749b0e73f76eb4ddd3c..588ea303b68460eb72d3a8a961005045d30c5b85 100644 (file)
@@ -237,6 +237,7 @@ Grace note do weird things with timing. Fragile.
 
 @lilypondfile[printfilename]{number-staff-lines.ly}
 
+@lilypondfile[printfilename]{staff-tweak.ly}
 
 
 @section Spacing
index e522311a04817daf538ab1b6235634279ccdf14c..fdcc7e5cf6d1af29380d5eda90fa40c186a3aea1 100644 (file)
@@ -8,7 +8,7 @@ adjusted.  "
 
 \score { 
 \context Voice \notes\relative c {
-       c' c c c | g' g g g     
+       c' c c c | g' g g g     \bar ":|"
   }
   \paper {
 
diff --git a/input/regression/staff-tweak.ly b/input/regression/staff-tweak.ly
new file mode 100644 (file)
index 0000000..18db69d
--- /dev/null
@@ -0,0 +1,20 @@
+\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.
+
+
+      } 
+     }
index d4228dcc25e4c6c434969b8f716c8904b53ce37f..61a1095250dfb1edba7a38a17b47c740294bc79c 100644 (file)
@@ -52,7 +52,7 @@ Bar_line::compound_barline (Grob*me, String str, Real h)
   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;
index 16f427bbf3e0fdb0f61a55dcab7cc8e01a8c6f76..11fe157c58f23da507cd8256f1a7001de7743a8b 100644 (file)
@@ -74,7 +74,7 @@ Beam::add_stem (Grob *me, Grob *s)
 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;
@@ -378,7 +378,7 @@ Beam::quanting (SCM smob)
 
   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");
@@ -1064,7 +1064,7 @@ Beam::stem_beams (Grob *me, Item *here, Item *next, Item *prev, Real dydx)
        - 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;
@@ -1092,7 +1092,7 @@ Beam::stem_beams (Grob *me, Item *here, Item *next, Item *prev, Real dydx)
 
       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);
index f1c715d60276241679f47f02c6dfb15d0c568309..0a45b6a1842a661a6196ddcd8c5f02af555c441f 100644 (file)
@@ -23,7 +23,7 @@ Hairpin::brew_molecule (SCM smob)
   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))
index ce66513274429169ca7d2f7386d6311429bf9613..8231c4b2a6390c56e3a40fca444ee88d99bb57a7 100644 (file)
@@ -45,7 +45,7 @@ Hyphen_spanner::brew_molecule (SCM smob)
     }
   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"));
 
index 3b7c1495b3e98fbab38fa28647a1fbde35f324d4..5ba97cf8e3c2eaa8903fc38eee1c12b2b10c865e 100644 (file)
@@ -244,7 +244,7 @@ Line_spanner::brew_molecule (SCM smob)
       
       }
 
-  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))
index 38c44068cde9850e764bab425ce3102e676fe575..0c7bb4ec448b3ec143f642b437a5c871ad522023 100644 (file)
@@ -26,7 +26,7 @@ Lyric_extender::brew_molecule (SCM smob)
   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)) {
index 1549cf727c2e0c505be70cb7b79722c439dfbf47..6a52280949843e6985716b4400d15f0aa544969d 100644 (file)
@@ -196,7 +196,7 @@ Multi_measure_rest::big_rest (Grob *me, Real width)
   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;
@@ -301,7 +301,7 @@ Multi_measure_rest::set_spacing_rods (SCM smob)
   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];
@@ -314,7 +314,7 @@ Multi_measure_rest::set_spacing_rods (SCM smob)
       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 ();
     }
index 405a567d17f78dc87581bd0a0e9c0c7d6f765ee5..c9865f68b23bba773b74b40e41cf86f7e9433da4 100644 (file)
@@ -182,7 +182,7 @@ Porrectus::brew_molecule (SCM smob)
       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;
index dcdea460abac9b9b24c6fa45590d161aa52a6d93..0678e694fce133246ff58592c4ff185f6db8597a 100644 (file)
@@ -338,7 +338,7 @@ Slur::get_attachment (Grob *me, Direction dir,
               */
              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
@@ -545,7 +545,7 @@ Slur::brew_molecule (SCM smob)
       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);
 
index 4eeb24b8645d4ac9783fb6ba556a32cf8913a69f..61b762fe99baef933d60a337b5981d36bb2374c0 100644 (file)
@@ -46,7 +46,11 @@ Staff_symbol::brew_molecule (SCM smob)
        ;
     }
 
-  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;
@@ -100,7 +104,8 @@ Staff_symbol::has_interface (Grob*m)
 
 
 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");
 
index c4cab0c3a1fec3d54ba586983bed482cd513f109..da011fd60ee670f454f47923611de740b22afb12 100644 (file)
@@ -149,6 +149,12 @@ Stem_engraver::stop_translation_timestep ()
         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))
        {
index 79823a10923942f0212c7e8c62b50cac4a369883..752a0baef2136588dd7166c7151cdf6233828cc1 100644 (file)
@@ -586,7 +586,7 @@ Stem::brew_molecule (SCM smob)
     {
       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)));
@@ -633,7 +633,7 @@ Stem::off_callback (SCM element_smob, SCM)
        {
          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;
index 5ad1bc6c6e68ddb8d7a8aeca8a3de86efa4f93ce..b07c6619b1e3d28d85a4026be337ff3836d18b05 100644 (file)
@@ -67,7 +67,7 @@ System_start_delimiter::has_interface (Grob*me)
 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)));
 }
index 0ff02bf2e07e1c73d9b9a2b94f52362b4fee062a..634c517769b2ca596f4ac31e7c0d2dd403bc1431 100644 (file)
@@ -134,7 +134,7 @@ Text_spanner::brew_molecule (SCM smob)
 
   /* 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))
     {
@@ -195,7 +195,7 @@ void
 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))
     {
index 688a12dece44afd48e502200084051651db20dbe..9f116b8f6036a6773f17efeac82b3df026e7570d 100644 (file)
@@ -294,7 +294,7 @@ Tie::brew_molecule (SCM smob)
   
   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;
index da4f0585403be71e19c916ca22b204eb86e35294..4b857da02f9413ef73805dcd9e446c083282c3e1 100644 (file)
@@ -32,8 +32,6 @@
   follow beam precisely for determining tuplet number location.
   
  */
-
-
 MAKE_SCHEME_CALLBACK (Tuplet_bracket,brew_molecule,1);
 SCM
 Tuplet_bracket::brew_molecule (SCM smob) 
@@ -101,7 +99,7 @@ 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");
@@ -260,15 +258,6 @@ Direction
 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));
index 1705fbf24bbd3ef9fa2f0b3458663d70e24a2537..ffe9e5b887fc451117fcdc22f3a9f0862f12e3a6 100644 (file)
@@ -59,7 +59,7 @@ Volta_bracket_interface::brew_molecule (SCM smob)
     (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);
index 69c2ea699e5ef2297c5b8475856e09a24b9d9daf..9dd6f2c2f869c3d50370eeded05676578c32d5ff 100644 (file)
@@ -20,9 +20,9 @@ paperfile = \papersize + "-init.ly"
 
 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
 
 
 
index ab647f4df50682e2c3be3584259fa5da71694432..74f73f50619281b8763e94a4de708f09add132b4 100644 (file)
     (StaffSymbol
      . (
        (molecule-callback . ,Staff_symbol::brew_molecule)
-       (staff-space . 1.0)
        (line-count . 5)
        (layer . 0)
        (meta . ((interfaces . (staff-symbol-interface))))
index 055699db66cdec5a7500f01810729787f22118aa..38a92f16a9f219e6c9a46b37fdb905e5331dd693 100644 (file)
@@ -197,7 +197,6 @@ FIXME: in Tie this is a pair of grob pointers, pointing to the two heads of the
 (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.