]> git.donarmstrong.com Git - lilypond.git/commitdiff
release commit
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 19 Jan 2004 00:03:19 +0000 (00:03 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 19 Jan 2004 00:03:19 +0000 (00:03 +0000)
ChangeLog
Documentation/topdocs/NEWS.texi
Documentation/user/refman.itely
lily/include/music-iterator.hh
lily/thread-devnull-engraver.cc
lily/tuplet-bracket.cc
lily/voice-devnull-engraver.cc
scm/define-grobs.scm
scm/new-markup.scm

index 5338b5cee4e5907f8eb9f77044536a1b7792fbe8..115afe2bcb9b21e422a4e78a042930c84946ce58 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2004-01-19  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * scm/define-grobs.scm (all-grob-descriptions): larger font for
+       ChordName
+
+       * scm/new-markup.scm (sub-markup): sup & super: make smaller in
+       relation to surroundings.
+
+       * lily/tuplet-bracket.cc (calc_position_and_height): add staff
+       Y-extent to the note-extents: stay clear of the staff.
+
 2004-01-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
        * Documentation/user/GNUmakefile
index 1f69533e460469dc5cb74e2b18250550aec18b71..8e5633c2a0a8f36bbb3fcc71a59a99dcfaf8f049 100644 (file)
@@ -17,6 +17,13 @@ Version 2.1.9
 @end ignore
 
 @itemize @bullet
+
+@item Formatting of rehearsal marks has been improved. The @code{\mark}
+command now only does automatic incrementing for marks specified as
+integer. For example, @code{\mark #1} will print an A in the default
+style.  See @file{input/regression/rehearsal-mark-letter.ly},
+@file{input/regression/rehearsal-mark-number.ly}.
+
 @item Formatting of ottava brackets has been much improved.
 
 @item Objects in the output can now be documented: the following fragment
index e31a01ee227f0d1a320a334907c1aefee522f85b..a474382d0a824f5aa19c942d6f348991535982d7 100644 (file)
@@ -31,6 +31,7 @@ somewhat familiar with using LilyPond.
 * Orchestral music::            
 * Ancient notation::            
 * Contemporary notation::       
+* Special notation::            
 * Tuning output::               
 * Global layout::               
 * Sound::                       
@@ -57,7 +58,6 @@ such as stems, tuplets and ties.
 * Stems::                       
 * Ties::                        
 * Tuplets::                     
-* Easy Notation note heads::    
 @end menu
 
 
@@ -510,40 +510,6 @@ tuplet brackets should be moved manually, which is demonstrated in
 
 
 
-
-@node Easy Notation note heads
-@subsection Easy Notation note heads
-
-@cindex easy notation
-@cindex Hal Leonard
-
-The `easy play' note head includes a note name inside the head.  It is
-used in music aimed at beginners:
-
-@lilypond[singleline,verbatim,26pt]
-\score {
-  \notes { c'2 e'4 f' | g'1 }
-  \paper { \translator { \EasyNotation } } 
-}
-@end lilypond
-
-The @code{EasyNotation} variable overrides a @internalsref{Score} context.  
-You probably will want to print it with magnification or a
-large font size to make it more readable.  To print with
-magnification, you must create a DVI file (with @file{lilypond}) and
-then enlarge it with something like @file{dvips -x 2000 file.dvi}.
-See the @code{dvips} documentation for more details.  To print with a
-larger font, see @ref{Font Size}.
-
-
-@cindex Xdvi
-@cindex ghostscript
-
-If you view the result with Xdvi, then staff lines will show through
-the letters.  Printing the PostScript file obtained does produce the
-correct result.
-
-
 @node Easier music entry
 @section Easier music entry
 @cindex Music entry
@@ -7504,6 +7470,54 @@ The following are supported
 See @ref{Articulations} for general instructions how to apply scripts
 such as fermatas to a @code{\notes@{@}} block.
 
+
+@node Special notation
+@section Special notation
+
+@menu
+* Balloon help::                
+* Easy Notation note heads::    
+@end menu
+
+@node Balloon help
+@subsection Balloon help
+
+
+
+@node Easy Notation note heads
+@subsection Easy Notation note heads
+
+@cindex easy notation
+@cindex Hal Leonard
+
+The `easy play' note head includes a note name inside the head.  It is
+used in music aimed at beginners:
+
+@lilypond[singleline,verbatim,26pt]
+\score {
+  \notes { c'2 e'4 f' | g'1 }
+  \paper { \translator { \EasyNotation } } 
+}
+@end lilypond
+
+The @code{EasyNotation} variable overrides a @internalsref{Score} context.  
+You probably will want to print it with magnification or a
+large font size to make it more readable.  To print with
+magnification, you must create a DVI file (with @file{lilypond}) and
+then enlarge it with something like @file{dvips -x 2000 file.dvi}.
+See the @code{dvips} documentation for more details.  To print with a
+larger font, see @ref{Font Size}.
+
+
+@cindex Xdvi
+@cindex ghostscript
+
+If you view the result with Xdvi, then staff lines will show through
+the letters.  Printing the PostScript file obtained does produce the
+correct result.
+
+
+
 @node Tuning output
 @section Tuning output
 
index e49777a659fad1572a1eb4d24e94aa40e39e1cc5..98010ea9d00f899d9ff6786d6f5a90ad388d3d12 100644 (file)
@@ -90,7 +90,7 @@ public:
    */
   static SCM get_static_get_iterator (Music * mus);
   void init_translator (Music  *, Translator_group *); 
-void quit ();
+  void quit ();
 
   
   virtual Moment pending_moment () const;
index 8480139e6a6867e5a2a1909036cd7bbd85b4ff9d..442b9db1d442923839d3ee891beee052bfb506f7 100644 (file)
@@ -27,12 +27,6 @@ Thread_devnull_engraver::acknowledge_grob (Grob_info i)
 {
   SCM s = get_property ("devNullThread");
 
-#if 0
-  /* No need, next if will never be true */
-  if (s == ly_symbol2scm ("never"))
-    return;
-#endif
-
   if (s == ly_symbol2scm ("always")
       || (s == SCM_EOL
          && to_boolean (get_property ("soloADue"))
index 2c9705d0b4e83c55c2206752e948bb0ba3e9740c..7e589483ac6e1a3bec312ea3a45b39ca9718ac98 100644 (file)
@@ -293,6 +293,11 @@ Tuplet_bracket::calc_position_and_height (Grob*me,Real *offset, Real * dy)
   SCM cols = me->get_grob_property ("note-columns");
   Grob * commony = common_refpoint_of_list (cols, me, Y_AXIS);
   Grob * commonx = common_refpoint_of_list (cols, me, X_AXIS);  
+
+  Interval staff;
+
+  if (Grob * st = Staff_symbol_referencer::get_staff_symbol (me))
+    staff = st->extent (commony, Y_AXIS);
   
   Direction dir = get_grob_direction (me);
 
@@ -309,8 +314,12 @@ Tuplet_bracket::calc_position_and_height (Grob*me,Real *offset, Real * dy)
   
   if (l < r)
     {
-      *dy = columns[r]->extent (commony, Y_AXIS) [dir]
-       - columns[l]->extent (commony, Y_AXIS) [dir] ;
+      Interval rv =columns[r]->extent (commony, Y_AXIS);
+      Interval lv =columns[l]->extent (commony, Y_AXIS);
+      rv.unite (staff);
+      lv.unite (staff);
+      
+      *dy =  rv[dir] - lv[dir];
     }
   else
     * dy = 0;
@@ -329,15 +338,16 @@ Tuplet_bracket::calc_position_and_height (Grob*me,Real *offset, Real * dy)
   Real x1 = rgr->extent (commonx,X_AXIS)[RIGHT];
 
 
-    /*
-      Slope.
-    */
+  /*
+    Slope.
+  */
   Real factor = columns.size () > 1 ? 1/ (x1 - x0) : 1.0;
   
   for (int i = 0; i < columns.size ();  i++)
     {
-      Real notey = columns[i]->extent (commony, Y_AXIS)[dir] 
-       - me->relative_coordinate (commony, Y_AXIS);
+      Interval note_ext =columns[i]->extent (commony, Y_AXIS);
+      note_ext.unite (staff);
+      Real notey = note_ext[dir] - me->relative_coordinate (commony, Y_AXIS);
       
       Real x = columns[i]->relative_coordinate (commonx, X_AXIS) - x0;
       Real tuplety =  *dy * x * factor;
@@ -425,7 +435,7 @@ Tuplet_bracket::after_line_breaking (SCM smob)
     }
   if (dynamic_cast<Spanner*> (me)->broken_b ())
     {
-      me->warning ("Tuplet_bracket was across linebreak. Farewell cruel world.");
+      me->warning (_("Killing tuplet bracket across linebreak."));
       me->suicide();
       return SCM_UNSPECIFIED;
     }
index d7027086bf570d4c52d025aea7b325d7074323d2..81e99a03add0acb09d48140f9e2a56b87f214575 100644 (file)
@@ -44,12 +44,6 @@ Voice_devnull_engraver::try_music (Music *m)
 {
   SCM s = get_property ("devNullVoice");
 
-#if 0
-  /* No need */
-  if (gh_equal_p (s, ly_symbol2scm ("never")))
-    return;
-#endif
-
   if (gh_equal_p (s, ly_symbol2scm ("always"))
       || (s == SCM_EOL
          && daddy_trans_->id_string_.left_string (3) == "two"
@@ -92,30 +86,16 @@ void
 Voice_devnull_engraver::acknowledge_grob (Grob_info i)
 {
   SCM s = get_property ("devNullVoice");
-#if 0
-  /* No need, next if will never be true */
-  if (s == ly_symbol2scm ("never"))
-    return;
-#endif
 
-#if 0  /* We used to have have this until 1.5.68.  Not sure about
-         soloADue requirement */
   if (s == ly_symbol2scm ("always")
       || (s == SCM_EOL
-         && daddy_trans_->id_string_.left_string (3) == "two"
-         && (to_boolean (get_property ("unison"))
-             || to_boolean (get_property ("unisilence")))))
-#else
-    if (s == ly_symbol2scm ("always")
-       || (s == SCM_EOL
-           && to_boolean (get_property ("soloADue"))
-           && ((daddy_trans_->id_string_.left_string (3) == "two"
-                && (to_boolean (get_property ("unison"))
-                    || to_boolean (get_property ("unisilence"))))
+         && to_boolean (get_property ("soloADue"))
+         && ((daddy_trans_->id_string_.left_string (3) == "two"
+              && (to_boolean (get_property ("unison"))
+                  || to_boolean (get_property ("unisilence"))))
                
-               /* Maybe this should be optional? */
+             /* Maybe this should be optional? */
              || to_boolean (get_property ("othersolo")))))
-#endif
     
     for (char const **p = junk_interfaces; *p; p++)
       if (i.grob_->internal_has_interface (ly_symbol2scm (*p)))
index c30a1637acac5e741738033c398dedabadd2a3b7..18e30c6bf0b4c2f801d29e0832cadb40d8e8b0a9 100644 (file)
        (after-line-breaking-callback . ,Chord_name::after_line_breaking)
        (word-space . 0.0)
        (font-family . sans)
+       (font-size . 1.5)
        (meta . ((interfaces . (font-interface                                                  rhythmic-grob-interface
                                                                                                text-interface chord-name-interface item-interface ))))
        ))
     (TupletBracket
      . (
        (gap . 2.0)
-       (padding . 0.9)
+       (padding . 1.1)
        (thickness . 1.6)
        (edge-height . (0.7 . 0.7))
        (shorten-pair . (-0.2 . -0.2))
index 65e608c877dadf1a46c16d703d641b67c684baa2..87432cf35466878f1af0d74f7c9e3590f7d1f661 100644 (file)
@@ -378,7 +378,8 @@ for DIR, you can obtain longer or shorter stems."
   "Syntax: \\super MARKUP. "
   (ly:molecule-translate-axis (interpret-markup
                               paper
-                              (cons '((font-size . -3)) props) (car rest))
+                              (cons `((font-size .
+                                                 ,(- (chain-assoc-get 'font-size props 0) 3))) props) (car rest))
                              (* 0.5 (cdr (chain-assoc 'baseline-skip props)))
                              Y)
   )
@@ -392,21 +393,22 @@ for DIR, you can obtain longer or shorter stems."
 
 (define-public (sub-markup paper props  . rest)
   "Syntax: \\sub MARKUP."
-  (ly:molecule-translate-axis (interpret-markup
-                              paper
-                              (cons '((font-size . -3)) props)
-                              (car rest))
-                             (* -0.5 (cdr (chain-assoc 'baseline-skip props)))
-                             Y)
-  )
+  (ly:molecule-translate-axis
+   (interpret-markup
+    paper
+    (cons `((font-size .
+                      ,(- (chain-assoc-get 'font-size props 0) 3))) props)
+    (car rest))
+   (* -0.5 (cdr (chain-assoc 'baseline-skip props)))
+   Y) )
 
 (define-public (normal-size-sub-markup paper props . rest)
-  (ly:molecule-translate-axis (interpret-markup
-                              paper
-                              props (car rest))
-                             (* -0.5 (cdr (chain-assoc 'baseline-skip props)))
-                             Y)
-  )
+  (ly:molecule-translate-axis
+   (interpret-markup
+    paper
+    props (car rest))
+   (* -0.5 (cdr (chain-assoc 'baseline-skip props)))
+   Y) )
 
 (define-public (hbracket-markup paper props . rest)
   "Horizontal brackets around its single argument. Syntax \\hbracket MARKUP."