]> git.donarmstrong.com Git - lilypond.git/commitdiff
(print): always start from right edge of
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 24 Aug 2004 22:17:20 +0000 (22:17 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 24 Aug 2004 22:17:20 +0000 (22:17 +0000)
a broken bound. This fixes ottava-clef.ps

ChangeLog
input/regression/ottava-broken.ly
lily/ottava-bracket.cc
lily/script-engraver.cc
scm/define-grob-properties.scm
scm/script.scm

index c69eaf084751ea4463ebdc1aacb42d0a310e48be..f4d4637064fbc1d07e0460a4a570ca85f81ccf05 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-08-25  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/ottava-bracket.cc (print): always start from right edge of
+       a broken bound. This fixes ottava-clef.ps 
+
 2004-08-24  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
        * input/regression/slur-script-inside.ly: new file.
index e03b138e123dbfd523969f642df06db0b61f2cd3..37744a3fd45bb65304763b8d328f6df17e74c2fc 100644 (file)
@@ -3,23 +3,23 @@
 \header
 {
     
-texidoc = "At line breaks, ottava brackets have no vertical line and 
-their horizontal line does not stick out."
-
+texidoc = "At line breaks, ottava brackets have no vertical line and
+their horizontal line does not stick out.  The dashed line runs until
+the end of the line (regardless of prefatory matter).
+"
 
 }
+
 \version "2.3.4"
 
 
-\paper { raggedright = ##t} 
-\score {
-  \relative c'''  {
-  a2 b
-  #(set-octavation 1)
-  a2 b \break c''1 \break
-  a
-  #(set-octavation 0)
-  g,,2 b c a 
-}
+\paper { raggedright = ##t }
+\relative c'''  {
+    a2 b
+    #(set-octavation 1)
+    a2 b \time 3/4  \break c''2. \break
+    a
+    #(set-octavation 0)
+    g,,2 b4 c2 a4 
 }
 
index aadf68a55b84026da6c6fddef669687e48ade2df..ef2df3a9f704edc7da97f6e89bf582868cc8ed29 100644 (file)
@@ -95,16 +95,20 @@ Ottava_bracket::print (SCM smob)
                }
            }
        }
-
+      
       if (ext.is_empty ())
        {
-         Real x = b->relative_coordinate (common, X_AXIS);
-         ext = Interval (x,x);
+         ext = robust_relative_extent (b, common, X_AXIS);
        }
-      span_points[d] =  (broken [d]) ? b->extent (common, X_AXIS)[-d] : ext[d];
 
       if (broken[d])
-       shorten [d] = 0.0; 
+       {
+         span_points[d] = b->extent (common, X_AXIS)[RIGHT];
+         shorten[d] = 0.;
+       }
+           
+      else
+       span_points[d] = ext[d];
     }
   while (flip (&d) != LEFT);
 
index 0cf404e7b10dc7ed2b8dda17beca92cf660977c3..2a463b581f6f574eccb3f43eb5656c001552dd7e 100644 (file)
@@ -116,6 +116,10 @@ void make_script_from_event (Grob *p, bool * follow, Context *tg,
   for (SCM s = art ; ly_c_pair_p (s); s = ly_cdr (s))
     {
       SCM sym = ly_caar (s);
+      SCM type = scm_object_property (sym, ly_symbol2scm ("backend-type?"));
+      if (!ly_c_procedure_p (type))
+       continue;
+      
       SCM val = ly_cdar (s);
 
       if (sym == ly_symbol2scm ("script-priority"))
index 25cb66762312fd2f419342cc53de4beb48af350c..5b41d46360ffa7f10a3589d254a350fded5f7f58 100644 (file)
@@ -287,7 +287,9 @@ slur, the closer it is to this height.")
      (horizontal-shift ,integer? "An integer that identifies ranking
 of note-column for horizontal shifting. This is used by
 @internalsref{note-collision-interface}.")
-     (inside-slur ,boolean? "If set, this object should be inside the slur")
+     (inside-slur ,boolean? "If set, this script should be inside the
+slur. If set to false, the script places itself around the slur. If
+unset, script and slur ignore each other ")
      (inspect-quants ,number-pair? "If debugging is set,
 set beam quant to this position, and print the respective scores.")
      
@@ -633,7 +635,7 @@ empirical.")
      (interfaces ,list? "list of symbols indicating the interfaces supported by this object. Is initialized from the @code{meta} field.")
      (shorten ,ly:dimension? "The amount of space that a
 stem. Internally used to distribute beam shortening over stems. ")
-
+     (slur  ,ly:grob? "A pointer to a slur object")
      (use-breve-rest ,boolean? "Use breve rests for measures longer
 than a whole rest.")
      
index 2da8149027fe4ad309ad4b81b118a3c092c08701..f1254b161eb125a938d2c72e1ab011fbfc7c3218 100644 (file)
@@ -57,6 +57,7 @@
           (direction .  1)))
         ("fermata" .
          ((script-stencil . (feta . ("dfermata" . "ufermata")))
+          (inside-slur . #f)
           (direction .  1)))
         ("shortfermata" .
          ((script-stencil . (feta . ("dshortfermata" . "ushortfermata")))
@@ -79,6 +80,7 @@
         ("tenuto" .
          ((script-stencil . (feta . ("tenuto" . "tenuto")))
           (follow-into-staff . #t)
+          (inside-slur . #t)
           (side-relative-direction . -1)))
         ("comma" .
          ((script-stencil . (feta . ("lcomma" . "rcomma")))