CVSROOT:        /cvsroot/lilypond
Module name:    lilypond
Branch:         
Changes by:     Han-Wen Nienhuys <[EMAIL PROTECTED]>    05/07/08 17:53:41

Modified files:
        .              : ChangeLog 
        Documentation/user: advanced-notation.itely 
        input/regression: whiteout.ly 
        lily           : arpeggio-engraver.cc axis-group-interface.cc 
                         font-interface.cc note-head.cc 
                         trill-spanner-engraver.cc 
        lily/include   : axis-group-interface.hh 
        ly             : Welcome_to_LilyPond.ly accordion-defs-init.ly 
                         catalan.ly chord-modifiers-init.ly 
                         declarations-init.ly deutsch.ly 
                         drumpitch-init.ly dynamic-scripts-init.ly 
                         english.ly engraver-init.ly espanol.ly 
                         generate-documentation.ly 
                         generate-interface-doc-init.ly grace-init.ly 
                         gregorian-init.ly init.ly italiano.ly 
                         midi-init.ly music-functions-init.ly 
                         nederlands.ly norsk.ly paper-defaults.ly 
                         params-init.ly performer-init.ly portugues.ly 
                         property-init.ly scale-definitions-init.ly 
                         script-init.ly spanners-init.ly suomi.ly 
                         svenska.ly vlaams.ly 
        scm            : define-grobs.scm define-markup-commands.scm 
                         define-music-properties.scm output-lib.scm 
                         safe-lily.scm translation-functions.scm 
Added files:
        input/regression: trill-spanner-pitched.ly 
        lily           : axis-group-interface-scheme.cc 
                         font-interface-scheme.cc 
                         pitched-trill-engraver.cc 

Log message:
        * scm/define-grobs.scm (all-grob-descriptions): reorganize in
        alphabetical order.
        
        * input/regression/trill-spanner-pitched.ly: new file.
        
        * lily/font-interface-scheme.cc (LY_DEFINE): function
        ly:grob-default-font (changed from get-default-font).
        
        * lily/axis-group-interface-scheme.cc (LY_DEFINE): new file.
        
        * lily/note-head.cc (internal_print): if style is not a symbol,
        set style to 'default.
        (internal_print): no style suffix if glyph-name-procedure not
        set. Default to quarter head.
        
        * scm/define-grobs.scm (Module): new grob TrillPitchHead.
        
        * scm/define-music-properties.scm (all-music-properties): add 
trill-pitch.
        
        * ly/music-functions-init.ly: \pitchedTrill
        
        * lily/pitched-trill-engraver.cc (acknowledge_grob): new file.
        
        * ly/Welcome_to_LilyPond.ly: update to 2.6.0
        
        * lily/trill-spanner-engraver.cc (finalize): rename req -> event
        
        * scm/define-markup-commands.scm (pad-markup): pad-markup command.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.3853&tr2=1.3854&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/Documentation/user/advanced-notation.itely.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/input/regression/trill-spanner-pitched.ly?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/input/regression/whiteout.ly.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/axis-group-interface-scheme.cc?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/font-interface-scheme.cc?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/pitched-trill-engraver.cc?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/arpeggio-engraver.cc.diff?tr1=1.31&tr2=1.32&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/axis-group-interface.cc.diff?tr1=1.60&tr2=1.61&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/font-interface.cc.diff?tr1=1.51&tr2=1.52&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/note-head.cc.diff?tr1=1.139&tr2=1.140&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/trill-spanner-engraver.cc.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/axis-group-interface.hh.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/Welcome_to_LilyPond.ly.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/accordion-defs-init.ly.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/catalan.ly.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/chord-modifiers-init.ly.diff?tr1=1.41&tr2=1.42&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/declarations-init.ly.diff?tr1=1.87&tr2=1.88&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/deutsch.ly.diff?tr1=1.36&tr2=1.37&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/drumpitch-init.ly.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/dynamic-scripts-init.ly.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/english.ly.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/engraver-init.ly.diff?tr1=1.236&tr2=1.237&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/espanol.ly.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/generate-documentation.ly.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/generate-interface-doc-init.ly.diff?tr1=1.20&tr2=1.21&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/grace-init.ly.diff?tr1=1.42&tr2=1.43&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/gregorian-init.ly.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/init.ly.diff?tr1=1.76&tr2=1.77&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/italiano.ly.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/midi-init.ly.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/music-functions-init.ly.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/nederlands.ly.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/norsk.ly.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/paper-defaults.ly.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/params-init.ly.diff?tr1=1.48&tr2=1.49&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/performer-init.ly.diff?tr1=1.48&tr2=1.49&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/portugues.ly.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/property-init.ly.diff?tr1=1.76&tr2=1.77&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/scale-definitions-init.ly.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/script-init.ly.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/spanners-init.ly.diff?tr1=1.41&tr2=1.42&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/suomi.ly.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/svenska.ly.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/vlaams.ly.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grobs.scm.diff?tr1=1.206&tr2=1.207&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-markup-commands.scm.diff?tr1=1.98&tr2=1.99&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-music-properties.scm.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/output-lib.scm.diff?tr1=1.80&tr2=1.81&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/safe-lily.scm.diff?tr1=1.30&tr2=1.31&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/translation-functions.scm.diff?tr1=1.11&tr2=1.12&r1=text&r2=text

Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.3853 lilypond/ChangeLog:1.3854
--- lilypond/ChangeLog:1.3853   Fri Jul  8 11:37:28 2005
+++ lilypond/ChangeLog  Fri Jul  8 17:53:39 2005
@@ -1,5 +1,34 @@
 2005-07-08  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
+       * scm/define-grobs.scm (all-grob-descriptions): reorganize in
+       alphabetical order.
+
+       * input/regression/trill-spanner-pitched.ly: new file.
+
+       * lily/font-interface-scheme.cc (LY_DEFINE): function
+       ly:grob-default-font (changed from get-default-font).
+
+       * lily/axis-group-interface-scheme.cc (LY_DEFINE): new file.
+
+       * lily/note-head.cc (internal_print): if style is not a symbol,
+       set style to 'default. 
+       (internal_print): no style suffix if glyph-name-procedure not
+       set. Default to quarter head.
+
+       * scm/define-grobs.scm (Module): new grob TrillPitchHead.
+
+       * scm/define-music-properties.scm (all-music-properties): add 
trill-pitch.
+
+       * ly/music-functions-init.ly: \pitchedTrill
+
+       * lily/pitched-trill-engraver.cc (acknowledge_grob): new file.
+
+       * ly/Welcome_to_LilyPond.ly: update to 2.6.0
+
+       * lily/trill-spanner-engraver.cc (finalize): rename req -> event
+
+       * scm/define-markup-commands.scm (pad-markup): pad-markup command.
+
        * po/fr.po: update
 
        * po/de.po: update.
Index: lilypond/Documentation/user/advanced-notation.itely
diff -u lilypond/Documentation/user/advanced-notation.itely:1.37 
lilypond/Documentation/user/advanced-notation.itely:1.38
--- lilypond/Documentation/user/advanced-notation.itely:1.37    Thu Jul  7 
05:16:53 2005
+++ lilypond/Documentation/user/advanced-notation.itely Fri Jul  8 17:53:40 2005
@@ -1709,6 +1709,24 @@
 
 Program reference: @internalsref{NoteHead}.
 
[EMAIL PROTECTED] Pitched trills
[EMAIL PROTECTED] Pitched trills
+
+Trills that should be executed on an explicitly specified pitch can be
+typeset with the command @code{pitchedTrill}, 
+
[EMAIL PROTECTED],verbatim]
+  \pitchedTrill c'4\startTrillSpan fis
+  f'\stopTrillSpan
[EMAIL PROTECTED] lilypond
+
+The first argument is the main note. The absolute pitch of the second
+is printed as a stemless note head in parentheses.
+
[EMAIL PROTECTED]
+
+Relative octave mode ignores the octave of the second argument of
[EMAIL PROTECTED]
 
 @node Feathered beams
 @subsection Feathered beams
Index: lilypond/input/regression/whiteout.ly
diff -u lilypond/input/regression/whiteout.ly:1.2 
lilypond/input/regression/whiteout.ly:1.3
--- lilypond/input/regression/whiteout.ly:1.2   Sun Jun 26 22:39:14 2005
+++ lilypond/input/regression/whiteout.ly       Fri Jul  8 17:53:40 2005
@@ -14,5 +14,5 @@
 
 {
   \override TextScript #'extra-offset = #'(2 . 4)
-  c'4-\markup  { \whiteout foo } c
+  c'4-\markup  { \whiteout \pad-markup #0.5 foo } c
 } 
Index: lilypond/lily/arpeggio-engraver.cc
diff -u lilypond/lily/arpeggio-engraver.cc:1.31 
lilypond/lily/arpeggio-engraver.cc:1.32
--- lilypond/lily/arpeggio-engraver.cc:1.31     Sun May  8 23:30:50 2005
+++ lilypond/lily/arpeggio-engraver.cc  Fri Jul  8 17:53:40 2005
@@ -26,21 +26,21 @@
   virtual bool try_music (Music *);
 private:
   Item *arpeggio_;
-  Music *arpeggio_req_;
+  Music *arpeggio_event_;
 };
 
 Arpeggio_engraver::Arpeggio_engraver ()
 {
   arpeggio_ = 0;
-  arpeggio_req_ = 0;
+  arpeggio_event_ = 0;
 }
 
 bool
 Arpeggio_engraver::try_music (Music *m)
 {
-  if (!arpeggio_req_)
+  if (!arpeggio_event_)
     {
-      arpeggio_req_ = m;
+      arpeggio_event_ = m;
     }
   return true;
 }
@@ -78,9 +78,9 @@
 void
 Arpeggio_engraver::process_music ()
 {
-  if (arpeggio_req_)
+  if (arpeggio_event_)
     {
-      arpeggio_ = make_item ("Arpeggio", arpeggio_req_->self_scm ());
+      arpeggio_ = make_item ("Arpeggio", arpeggio_event_->self_scm ());
     }
 }
 
@@ -88,11 +88,11 @@
 Arpeggio_engraver::stop_translation_timestep ()
 {
   arpeggio_ = 0;
-  arpeggio_req_ = 0;
+  arpeggio_event_ = 0;
 }
 
 ADD_TRANSLATOR (Arpeggio_engraver,
-               /* descr */ "Generate an Arpeggio from a Arpeggio_req",
+               /* descr */ "Generate an Arpeggio symbol",
                /* creats*/ "Arpeggio",
                /* accepts */ "arpeggio-event",
                /* acks  */ "stem-interface rhythmic-head-interface 
note-column-interface",
Index: lilypond/lily/axis-group-interface.cc
diff -u lilypond/lily/axis-group-interface.cc:1.60 
lilypond/lily/axis-group-interface.cc:1.61
--- lilypond/lily/axis-group-interface.cc:1.60  Wed Mar 16 19:19:15 2005
+++ lilypond/lily/axis-group-interface.cc       Fri Jul  8 17:53:40 2005
@@ -7,12 +7,18 @@
 */
 
 #include "axis-group-interface.hh"
+
 #include "hara-kiri-group-spanner.hh"
+#include "warn.hh"
 
 void
 Axis_group_interface::add_element (Grob *me, Grob *e)
 {
-  for (SCM ax = me->get_property ("axes"); ax != SCM_EOL; ax = scm_cdr (ax))
+  SCM axes = me->get_property ("axes");
+  if (!scm_is_pair (axes))
+    programming_error ("axes should be nonempty");
+  
+  for (SCM ax = axes; ax != SCM_EOL; ax = scm_cdr (ax))
     {
       Axis a = (Axis) scm_to_int (scm_car (ax));
 
@@ -40,7 +46,7 @@
 }
 
 Interval
-Axis_group_interface::relative_group_extent (Axis a, Grob *common, SCM elts)
+Axis_group_interface::relative_group_extent (SCM elts, Grob *common, Axis a)
 {
   Interval r;
   for (SCM s = elts; scm_is_pair (s); s = scm_cdr (s))
@@ -53,6 +59,8 @@
   return r;
 }
 
+
+
 MAKE_SCHEME_CALLBACK (Axis_group_interface, group_extent_callback, 2);
 SCM
 Axis_group_interface::group_extent_callback (SCM element_smob, SCM scm_axis)
@@ -64,7 +72,7 @@
   Grob *common = common_refpoint_of_list (elts, me, a);
 
   Real my_coord = me->relative_coordinate (common, a);
-  Interval r (relative_group_extent (a, common, elts));
+  Interval r (relative_group_extent (elts, common, a));
 
   return ly_interval2scm (r - my_coord);
 }
Index: lilypond/lily/font-interface.cc
diff -u lilypond/lily/font-interface.cc:1.51 
lilypond/lily/font-interface.cc:1.52
--- lilypond/lily/font-interface.cc:1.51        Thu Mar 10 14:36:13 2005
+++ lilypond/lily/font-interface.cc     Fri Jul  8 17:53:40 2005
@@ -29,16 +29,6 @@
   return fm;
 }
 
-LY_DEFINE (ly_font_interface_get_default_font, "ly:get-default-font",
-          1, 0, 0, (SCM grob),
-          "Return the default font for grob @var{gr}.")
-{
-  Grob *gr = unsmob_grob (grob);
-  SCM_ASSERT_TYPE (gr, grob, SCM_ARG1, __FUNCTION__, "grob");
-
-  return Font_interface::get_default_font (gr)->self_scm ();
-}
-
 SCM
 Font_interface::music_font_alist_chain (Grob *g)
 {
Index: lilypond/lily/include/axis-group-interface.hh
diff -u lilypond/lily/include/axis-group-interface.hh:1.21 
lilypond/lily/include/axis-group-interface.hh:1.22
--- lilypond/lily/include/axis-group-interface.hh:1.21  Wed Mar 16 19:19:15 2005
+++ lilypond/lily/include/axis-group-interface.hh       Fri Jul  8 17:53:40 2005
@@ -16,7 +16,7 @@
 struct Axis_group_interface
 {
   DECLARE_SCHEME_CALLBACK (group_extent_callback, (SCM smob, SCM axis));
-  static Interval relative_group_extent (Axis, Grob *common, SCM list);
+  static Interval relative_group_extent (SCM list, Grob *common, Axis);
 
   static void add_element (Grob *me, Grob *);
   static void set_axes (Grob *, Axis, Axis);
Index: lilypond/lily/note-head.cc
diff -u lilypond/lily/note-head.cc:1.139 lilypond/lily/note-head.cc:1.140
--- lilypond/lily/note-head.cc:1.139    Sat May 28 13:43:23 2005
+++ lilypond/lily/note-head.cc  Fri Jul  8 17:53:40 2005
@@ -35,13 +35,16 @@
   SCM style = me->get_property ("style");
   if (!scm_is_symbol (style))
     {
-      return Stencil ();
+      style = ly_symbol2scm ("default");
     }
 
   SCM log = scm_int2num (Note_head::get_balltype (me));
   SCM proc = me->get_property ("glyph-name-procedure");
-  SCM scm_font_char = scm_call_2 (proc, log, style);
 
+  String suffix =  to_string (robust_scm2int (me->get_property 
("duration-log"), 2));
+  if (scm_procedure_p (proc) == SCM_BOOL_T)
+    suffix = ly_scm2string (scm_call_2 (proc, log, style));
+  
   Font_metric *fm = Font_interface::get_default_font (me);
 
   Direction stem_dir = CENTER;
@@ -56,11 +59,11 @@
 
   String prefix = "noteheads.";
   String idx
-    = prefix + ((stem_dir == UP) ? "u" : "d") + ly_scm2string (scm_font_char);
+    = prefix + ((stem_dir == UP) ? "u" : "d") + suffix;
   out = fm->find_by_name (idx);
   if (out.is_empty ())
     {
-      idx = prefix + "s" + ly_scm2string (scm_font_char);
+      idx = prefix + "s" + suffix;
       out = fm->find_by_name (idx);
     }
 
Index: lilypond/lily/trill-spanner-engraver.cc
diff -u lilypond/lily/trill-spanner-engraver.cc:1.7 
lilypond/lily/trill-spanner-engraver.cc:1.8
--- lilypond/lily/trill-spanner-engraver.cc:1.7 Sun May  8 23:30:51 2005
+++ lilypond/lily/trill-spanner-engraver.cc     Fri Jul  8 17:53:40 2005
@@ -31,18 +31,18 @@
 private:
   Spanner *span_;
   Spanner *finished_;
-  Music *current_req_;
-  Drul_array<Music *> req_drul_;
+  Music *current_event_;
+  Drul_array<Music *> event_drul_;
   void typeset_all ();
 };
 
 Trill_spanner_engraver::Trill_spanner_engraver ()
 {
   finished_ = 0;
-  current_req_ = 0;
+  current_event_ = 0;
   span_ = 0;
-  req_drul_[START] = 0;
-  req_drul_[STOP] = 0;
+  event_drul_[START] = 0;
+  event_drul_[STOP] = 0;
 }
 
 bool
@@ -51,7 +51,7 @@
   if (m->is_mus_type ("trill-span-event"))
     {
       Direction d = to_dir (m->get_property ("span-direction"));
-      req_drul_[d] = m;
+      event_drul_[d] = m;
       return true;
     }
 
@@ -61,32 +61,32 @@
 void
 Trill_spanner_engraver::process_music ()
 {
-  if (req_drul_[STOP])
+  if (event_drul_[STOP])
     {
       if (!span_)
        {
-         req_drul_[STOP]->origin ()->warning (_ ("can't find start of trill 
spanner"));
+         event_drul_[STOP]->origin ()->warning (_ ("can't find start of trill 
spanner"));
        }
       else
        {
          finished_ = span_;
          span_ = 0;
-         current_req_ = 0;
+         current_event_ = 0;
        }
     }
 
-  if (req_drul_[START])
+  if (event_drul_[START])
     {
-      if (current_req_)
+      if (current_event_)
        {
-         req_drul_[START]->origin ()->warning (_ ("already have a trill 
spanner"));
+         event_drul_[START]->origin ()->warning (_ ("already have a trill 
spanner"));
        }
       else
        {
-         current_req_ = req_drul_[START];
-         span_ = make_spanner ("TrillSpanner", req_drul_[START]->self_scm ());
+         current_event_ = event_drul_[START];
+         span_ = make_spanner ("TrillSpanner", event_drul_[START]->self_scm 
());
          Side_position_interface::set_axis (span_, Y_AXIS);
-         req_drul_[START] = 0;
+         event_drul_[START] = 0;
        }
     }
 }
@@ -129,8 +129,8 @@
     }
 
   typeset_all ();
-  req_drul_[START] = 0;
-  req_drul_[STOP] = 0;
+  event_drul_[START] = 0;
+  event_drul_[STOP] = 0;
 }
 
 void
@@ -139,7 +139,7 @@
   typeset_all ();
   if (span_)
     {
-      current_req_->origin ()->warning (_ ("unterminated trill spanner"));
+      current_event_->origin ()->warning (_ ("unterminated trill spanner"));
       span_->suicide ();
       span_ = 0;
     }
Index: lilypond/ly/Welcome_to_LilyPond.ly
diff -u lilypond/ly/Welcome_to_LilyPond.ly:1.4 
lilypond/ly/Welcome_to_LilyPond.ly:1.5
--- lilypond/ly/Welcome_to_LilyPond.ly:1.4      Tue May 24 21:38:29 2005
+++ lilypond/ly/Welcome_to_LilyPond.ly  Fri Jul  8 17:53:40 2005
@@ -31,4 +31,4 @@
 }
 
 
-\version "2.5.25"  % necessary for upgrading to future LilyPond versions.
+\version "2.6.0"  % necessary for upgrading to future LilyPond versions.
Index: lilypond/ly/accordion-defs-init.ly
diff -u lilypond/ly/accordion-defs-init.ly:1.21 
lilypond/ly/accordion-defs-init.ly:1.22
--- lilypond/ly/accordion-defs-init.ly:1.21     Sat Oct 30 20:55:16 2004
+++ lilypond/ly/accordion-defs-init.ly  Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 % Symbols needed to print accordion music
 % 
 %  2' = T
Index: lilypond/ly/catalan.ly
diff -u lilypond/ly/catalan.ly:1.34 lilypond/ly/catalan.ly:1.35
--- lilypond/ly/catalan.ly:1.34 Sat Oct 30 20:55:16 2004
+++ lilypond/ly/catalan.ly      Fri Jul  8 17:53:41 2005
@@ -74,6 +74,6 @@
 
 pitchnames = \pitchnamesCatalan
 
-\version "2.4.0"
+\version "2.6.0"
 
 #(ly:parser-set-note-names parser pitchnames)
Index: lilypond/ly/chord-modifiers-init.ly
diff -u lilypond/ly/chord-modifiers-init.ly:1.41 
lilypond/ly/chord-modifiers-init.ly:1.42
--- lilypond/ly/chord-modifiers-init.ly:1.41    Tue May  3 22:22:56 2005
+++ lilypond/ly/chord-modifiers-init.ly Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 chordmodifiers = #default-chord-modifier-list
 
Index: lilypond/ly/declarations-init.ly
diff -u lilypond/ly/declarations-init.ly:1.87 
lilypond/ly/declarations-init.ly:1.88
--- lilypond/ly/declarations-init.ly:1.87       Tue Jun 28 11:10:23 2005
+++ lilypond/ly/declarations-init.ly    Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 %% < 1.8 compatibility switch
 #(ly:set-option 'old-relative)
Index: lilypond/ly/deutsch.ly
diff -u lilypond/ly/deutsch.ly:1.36 lilypond/ly/deutsch.ly:1.37
--- lilypond/ly/deutsch.ly:1.36 Sat Mar  5 11:11:18 2005
+++ lilypond/ly/deutsch.ly      Fri Jul  8 17:53:41 2005
@@ -63,6 +63,6 @@
 
 pitchnames = \pitchnamesDeutsch
 
-\version "2.4.0"
+\version "2.6.0"
 
 #(ly:parser-set-note-names parser pitchnames)
Index: lilypond/ly/drumpitch-init.ly
diff -u lilypond/ly/drumpitch-init.ly:1.25 lilypond/ly/drumpitch-init.ly:1.26
--- lilypond/ly/drumpitch-init.ly:1.25  Sat Oct 30 20:55:16 2004
+++ lilypond/ly/drumpitch-init.ly       Fri Jul  8 17:53:41 2005
@@ -1,5 +1,5 @@
 
-\version "2.4.0"
+\version "2.6.0"
 
 drumPitchNames =
 #'((acousticbassdrum . acousticbassdrum)
Index: lilypond/ly/dynamic-scripts-init.ly
diff -u lilypond/ly/dynamic-scripts-init.ly:1.25 
lilypond/ly/dynamic-scripts-init.ly:1.26
--- lilypond/ly/dynamic-scripts-init.ly:1.25    Mon Nov 22 10:12:50 2004
+++ lilypond/ly/dynamic-scripts-init.ly Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 %
 % declare the standard dynamic identifiers.
Index: lilypond/ly/english.ly
diff -u lilypond/ly/english.ly:1.33 lilypond/ly/english.ly:1.34
--- lilypond/ly/english.ly:1.33 Sat Oct 30 20:55:16 2004
+++ lilypond/ly/english.ly      Fri Jul  8 17:53:41 2005
@@ -87,7 +87,7 @@
 
 pitchnames = \pitchnamesEnglish
 
-\version "2.4.0"
+\version "2.6.0"
 
 
 #(ly:parser-set-note-names parser pitchnames)
Index: lilypond/ly/engraver-init.ly
diff -u lilypond/ly/engraver-init.ly:1.236 lilypond/ly/engraver-init.ly:1.237
--- lilypond/ly/engraver-init.ly:1.236  Thu Jun 16 11:13:02 2005
+++ lilypond/ly/engraver-init.ly        Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.5.18"
 
 \context {
   \name Global
@@ -169,7 +169,8 @@
 
   localKeySignature = #'()
   \consists "Font_size_engraver"
-  
+
+  \consists "Pitched_trill_engraver"
   \consists "Output_property_engraver" 
   \consists "Arpeggio_engraver"
   \consists "Multi_measure_rest_engraver"
Index: lilypond/ly/espanol.ly
diff -u lilypond/ly/espanol.ly:1.21 lilypond/ly/espanol.ly:1.22
--- lilypond/ly/espanol.ly:1.21 Sat Oct 30 20:55:16 2004
+++ lilypond/ly/espanol.ly      Fri Jul  8 17:53:41 2005
@@ -8,7 +8,7 @@
 
 %}
 
-% contributed by Carlos García Suárez <<[EMAIL PROTECTED]>>
+% contributed by Carlos García Suárez <<[EMAIL PROTECTED]>>
 
 
 % For using "sostingut" notation, which is also correct
@@ -58,6 +58,6 @@
 
 pitchnames = \pitchnamesEspanol
 
-\version "2.4.0"
+\version "2.6.0"
 
 #(ly:parser-set-note-names parser pitchnames)
Index: lilypond/ly/generate-documentation.ly
diff -u lilypond/ly/generate-documentation.ly:1.29 
lilypond/ly/generate-documentation.ly:1.30
--- lilypond/ly/generate-documentation.ly:1.29  Sat Oct 30 20:55:16 2004
+++ lilypond/ly/generate-documentation.ly       Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 %
 % Running LilyPond on this file generates the documentation
Index: lilypond/ly/generate-interface-doc-init.ly
diff -u lilypond/ly/generate-interface-doc-init.ly:1.20 
lilypond/ly/generate-interface-doc-init.ly:1.21
--- lilypond/ly/generate-interface-doc-init.ly:1.20     Sat Oct 30 20:55:16 2004
+++ lilypond/ly/generate-interface-doc-init.ly  Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 %
 % Running LilyPond on this file generates the short interface doc
Index: lilypond/ly/grace-init.ly
diff -u lilypond/ly/grace-init.ly:1.42 lilypond/ly/grace-init.ly:1.43
--- lilypond/ly/grace-init.ly:1.42      Sun Nov 28 17:33:34 2004
+++ lilypond/ly/grace-init.ly   Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 
 startGraceMusic =  {
Index: lilypond/ly/gregorian-init.ly
diff -u lilypond/ly/gregorian-init.ly:1.33 lilypond/ly/gregorian-init.ly:1.34
--- lilypond/ly/gregorian-init.ly:1.33  Sat Feb 19 19:30:13 2005
+++ lilypond/ly/gregorian-init.ly       Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 %%%%%%%%
 %%%%%%%% shortcuts common for all styles of gregorian chant notation
Index: lilypond/ly/init.ly
diff -u lilypond/ly/init.ly:1.76 lilypond/ly/init.ly:1.77
--- lilypond/ly/init.ly:1.76    Thu Jun  9 14:09:33 2005
+++ lilypond/ly/init.ly Fri Jul  8 17:53:41 2005
@@ -7,7 +7,7 @@
 #(define-public midi-debug  #f)
 
 
-\version "2.4.0"
+\version "2.6.0"
 
 \include "declarations-init.ly"
 
Index: lilypond/ly/italiano.ly
diff -u lilypond/ly/italiano.ly:1.35 lilypond/ly/italiano.ly:1.36
--- lilypond/ly/italiano.ly:1.35        Sat Oct 30 20:55:16 2004
+++ lilypond/ly/italiano.ly     Fri Jul  8 17:53:41 2005
@@ -86,6 +86,6 @@
 
 pitchnames = \pitchnamesItaliano
 
-\version "2.4.0"
+\version "2.6.0"
 
 #(ly:parser-set-note-names parser pitchnames)
Index: lilypond/ly/midi-init.ly
diff -u lilypond/ly/midi-init.ly:1.21 lilypond/ly/midi-init.ly:1.22
--- lilypond/ly/midi-init.ly:1.21       Sat Oct 30 20:55:16 2004
+++ lilypond/ly/midi-init.ly    Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 \midi {
         \tempo 4=60
        \include "performer-init.ly"
Index: lilypond/ly/music-functions-init.ly
diff -u lilypond/ly/music-functions-init.ly:1.26 
lilypond/ly/music-functions-init.ly:1.27
--- lilypond/ly/music-functions-init.ly:1.26    Tue Jun 21 21:43:35 2005
+++ lilypond/ly/music-functions-init.ly Fri Jul  8 17:53:41 2005
@@ -1,4 +1,6 @@
-\version "2.4.0"
+% -*-Scheme-*-
+
+\version "2.6.0"
 
 
 applymusic = #(def-music-function (parser location func music) (procedure? 
ly:music?)
@@ -106,6 +108,30 @@
 
 
 
+pitchedTrill =
+#(def-music-function
+   (parser location main-note secondary-note)
+   (ly:music? ly:music?)
+   (let*
+       ((get-notes (lambda (ev-chord)
+                    (filter
+                     (lambda (m) (eq? 'NoteEvent (ly:music-property m 'name)))
+                     (ly:music-property ev-chord 'elements))))
+       (sec-note-events (get-notes secondary-note))
+       (trill-events (filter (lambda (m) (memq 'trill-span-event 
(ly:music-property m 'types)))
+                             (ly:music-property main-note 'elements)))
+
+       (trill-pitch
+        (if (pair? sec-note-events)
+            (ly:music-property (car sec-note-events) 'pitch)
+            )))
+     
+     (if (ly:pitch? trill-pitch)
+        (for-each (lambda (m) (ly:music-set-property! m 'trill-pitch 
trill-pitch))
+                  trill-events)
+        (ly:warning (_ "Second argument of \\pitchedTrill should be single 
note.")))
+
+     main-note))
 
 killCues =
 #(def-music-function
Index: lilypond/ly/nederlands.ly
diff -u lilypond/ly/nederlands.ly:1.35 lilypond/ly/nederlands.ly:1.36
--- lilypond/ly/nederlands.ly:1.35      Sat Oct 30 20:55:17 2004
+++ lilypond/ly/nederlands.ly   Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 %{
  common dutch names for notes. es means flat, is means sharp
 
Index: lilypond/ly/norsk.ly
diff -u lilypond/ly/norsk.ly:1.33 lilypond/ly/norsk.ly:1.34
--- lilypond/ly/norsk.ly:1.33   Sat Oct 30 20:55:17 2004
+++ lilypond/ly/norsk.ly        Fri Jul  8 17:53:41 2005
@@ -105,6 +105,6 @@
 
 pitchnames =\pitchnamesNorsk
 
-\version "2.4.0"
+\version "2.6.0"
 
 #(ly:parser-set-note-names parser pitchnames)
Index: lilypond/ly/paper-defaults.ly
diff -u lilypond/ly/paper-defaults.ly:1.13 lilypond/ly/paper-defaults.ly:1.14
--- lilypond/ly/paper-defaults.ly:1.13  Wed Mar  9 00:01:17 2005
+++ lilypond/ly/paper-defaults.ly       Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 \paper {
 
Index: lilypond/ly/params-init.ly
diff -u lilypond/ly/params-init.ly:1.48 lilypond/ly/params-init.ly:1.49
--- lilypond/ly/params-init.ly:1.48     Sat Oct 30 20:55:17 2004
+++ lilypond/ly/params-init.ly  Fri Jul  8 17:53:41 2005
@@ -1,2 +1,2 @@
-\version "2.4.0"
+\version "2.6.0"
 
Index: lilypond/ly/performer-init.ly
diff -u lilypond/ly/performer-init.ly:1.48 lilypond/ly/performer-init.ly:1.49
--- lilypond/ly/performer-init.ly:1.48  Wed Apr 20 11:15:21 2005
+++ lilypond/ly/performer-init.ly       Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
                                %
                                % setup for Request->Element conversion. 
Guru-only
Index: lilypond/ly/portugues.ly
diff -u lilypond/ly/portugues.ly:1.6 lilypond/ly/portugues.ly:1.7
--- lilypond/ly/portugues.ly:1.6        Sat Oct 30 20:55:17 2004
+++ lilypond/ly/portugues.ly    Fri Jul  8 17:53:41 2005
@@ -8,7 +8,7 @@
 
 %}
 
-% contributed by Pedro Kröger <<[EMAIL PROTECTED]>>
+% contributed by Pedro Kröger <<[EMAIL PROTECTED]>>
 
 
 pitchnamesPortuguese = #`(
@@ -86,6 +86,6 @@
 
 pitchnames = \pitchnamesPortuguese
 
-\version "2.4.0"
+\version "2.6.0"
 
 #(ly:parser-set-note-names parser pitchnames)
Index: lilypond/ly/property-init.ly
diff -u lilypond/ly/property-init.ly:1.76 lilypond/ly/property-init.ly:1.77
--- lilypond/ly/property-init.ly:1.76   Thu Jun  9 23:07:02 2005
+++ lilypond/ly/property-init.ly        Fri Jul  8 17:53:41 2005
@@ -1,6 +1,6 @@
 % property-init.ly
 
-\version "2.4.0"
+\version "2.6.0"
 
 stemUp = \override Stem  #'direction = #1
 stemDown = \override Stem  #'direction = #-1 
Index: lilypond/ly/scale-definitions-init.ly
diff -u lilypond/ly/scale-definitions-init.ly:1.22 
lilypond/ly/scale-definitions-init.ly:1.23
--- lilypond/ly/scale-definitions-init.ly:1.22  Sat Oct 30 20:55:17 2004
+++ lilypond/ly/scale-definitions-init.ly       Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 
 major = #`(
Index: lilypond/ly/script-init.ly
diff -u lilypond/ly/script-init.ly:1.34 lilypond/ly/script-init.ly:1.35
--- lilypond/ly/script-init.ly:1.34     Wed Dec  1 12:06:32 2004
+++ lilypond/ly/script-init.ly  Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 
 % code char abbreviations
Index: lilypond/ly/spanners-init.ly
diff -u lilypond/ly/spanners-init.ly:1.41 lilypond/ly/spanners-init.ly:1.42
--- lilypond/ly/spanners-init.ly:1.41   Fri Jun 10 10:58:50 2005
+++ lilypond/ly/spanners-init.ly        Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0"
+\version "2.6.0"
 
 startGroup = #(make-span-event 'NoteGroupingEvent START)
 stopGroup = #(make-span-event 'NoteGroupingEvent STOP)
Index: lilypond/ly/suomi.ly
diff -u lilypond/ly/suomi.ly:1.21 lilypond/ly/suomi.ly:1.22
--- lilypond/ly/suomi.ly:1.21   Sat Oct 30 20:55:17 2004
+++ lilypond/ly/suomi.ly        Fri Jul  8 17:53:41 2005
@@ -48,6 +48,6 @@
 
 pitchnames = \pitchnamesSuomi
 
-\version "2.4.0"
+\version "2.6.0"
 
 #(ly:parser-set-note-names parser pitchnames)
Index: lilypond/ly/svenska.ly
diff -u lilypond/ly/svenska.ly:1.33 lilypond/ly/svenska.ly:1.34
--- lilypond/ly/svenska.ly:1.33 Sat Oct 30 20:55:17 2004
+++ lilypond/ly/svenska.ly      Fri Jul  8 17:53:41 2005
@@ -42,6 +42,6 @@
 )
 
 pitchnames = \pitchnamesSvenska
-\version "2.4.0"
+\version "2.6.0"
 
 #(ly:parser-set-note-names parser pitchnames)
Index: lilypond/ly/vlaams.ly
diff -u lilypond/ly/vlaams.ly:1.5 lilypond/ly/vlaams.ly:1.6
--- lilypond/ly/vlaams.ly:1.5   Sat Oct 30 20:55:17 2004
+++ lilypond/ly/vlaams.ly       Fri Jul  8 17:53:41 2005
@@ -1,4 +1,4 @@
-\version "2.4.0" %hier stond 2.1.36, mocht ik dat wel veranderen?
+\version "2.6.0" %hier stond 2.1.36, mocht ik dat wel veranderen?
 
 %{
 
Index: lilypond/scm/define-grobs.scm
diff -u lilypond/scm/define-grobs.scm:1.206 lilypond/scm/define-grobs.scm:1.207
--- lilypond/scm/define-grobs.scm:1.206 Tue Jun 21 23:58:19 2005
+++ lilypond/scm/define-grobs.scm       Fri Jul  8 17:53:41 2005
@@ -12,6 +12,9 @@
 ;;;; WARNING: don't use anonymous functions for initialization.
 
 ;; TODO: junk the meta field in favor of something more compact?
+
+;;; todo:: reorder sensibly.
+
 (define-public all-grob-descriptions
   `(
     (Accidental
@@ -78,7 +81,6 @@
     (AmbitusNoteHead
      . (
        (duration-log . 2)
-       (style . default)
        (print-function . ,Note_head::print)
        (glyph-name-procedure . ,find-notehead-symbol)
        (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
@@ -318,6 +320,7 @@
        (meta . ((interfaces . (cluster-interface spanner-interface))))
        ))
 
+
     (ChordName
      . (
        (print-function . ,Text_interface::print)
@@ -330,6 +333,24 @@
                                item-interface))))
        ))
 
+    (CombineTextScript
+     . (
+       (print-function . ,Text_interface::print)
+       (no-spacing-rods . #t)
+       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
+       (direction . 1)
+       (padding . 0.5)
+       (staff-padding . 0.5)
+       (script-priority . 200)
+       ;; todo: add X self alignment?
+       (baseline-skip . 2)
+       (font-series . bold)
+       (meta . ((interfaces . (text-script-interface
+                               text-interface side-position-interface
+                               font-interface item-interface ))))
+       ))
+    
     (Custos
      . (
        (break-align-symbol . custos)
@@ -427,28 +448,6 @@
        (meta . ((interfaces . (dynamic-interface axis-group-interface
                                                  side-position-interface 
spanner-interface))))))
 
-    (LeftEdge
-     . (
-       (break-align-symbol . left-edge)
-       (X-extent . (0 . 0))
-       (breakable . #t)
-       (break-visibility . ,center-invisible)
-       (space-alist . (
-                       (custos . (extra-space . 0.0))
-                       (ambitus . (extra-space . 2.0))
-                       (time-signature . (extra-space . 0.0))
-                       (staff-bar . (extra-space . 0.0))
-                       (breathing-sign . (minimum-space . 0.0))
-                       (clef . (extra-space . 0.8))
-                       (first-note . (fixed-space . 1.0))
-                       (right-edge . (extra-space . 0.0))
-                       (key-signature . (extra-space . 0.0))
-                       (key-cancellation . (extra-space . 0.0))
-                       
-                       ))
-       (meta . ((interfaces . (break-aligned-interface item-interface ))))
-       ))
-
     (Fingering
      . (
        (print-function . ,Text_interface::print)
@@ -466,22 +465,6 @@
                                side-position-interface self-alignment-interface
                                item-interface))))
        ))
-    (StringNumber
-     . (
-       (print-function . ,print-circled-text-callback)
-       (padding . 0.5)
-       (staff-padding . 0.5)
-       (self-alignment-X . 0)
-       (self-alignment-Y . 0)
-       (script-priority . 100)
-       (font-encoding . fetaNumber)
-       (font-size . -5)                ; don't overlap when next to heads.
-       (meta . ((interfaces . (string-number-interface
-                               font-interface text-script-interface 
text-interface
-                               side-position-interface self-alignment-interface
-                               item-interface))))
-       ))
-
     (Glissando
      . (
        (style . line)
@@ -565,23 +548,6 @@
                                break-aligned-interface item-interface ))))
        ))
 
-    (VocalName
-     . (
-       (breakable . #t)
-       (Y-offset-callbacks . 
(,Side_position_interface::aligned_on_support_refpoints))
-       (direction . 0)
-       (space-alist . ((left-edge . (extra-space . 1.0))
-                       ))
-       (break-align-symbol . instrument-name)
-       (print-function . ,Text_interface::print)               
-       (break-align-symbol . clef)
-       (break-visibility . ,begin-of-line-visible)
-       (baseline-skip . 2)
-       (meta . ((interfaces . (font-interface
-                               self-alignment-interface
-                               side-position-interface text-interface
-                               break-aligned-interface item-interface ))))
-       ))
     (KeyCancellation
      . (
        (print-function . ,Key_signature_interface::print)
@@ -630,6 +596,28 @@
        (meta . ((interfaces . (spanner-interface ledger-line-interface))))
        ))
 
+    (LeftEdge
+     . (
+       (break-align-symbol . left-edge)
+       (X-extent . (0 . 0))
+       (breakable . #t)
+       (break-visibility . ,center-invisible)
+       (space-alist . (
+                       (custos . (extra-space . 0.0))
+                       (ambitus . (extra-space . 2.0))
+                       (time-signature . (extra-space . 0.0))
+                       (staff-bar . (extra-space . 0.0))
+                       (breathing-sign . (minimum-space . 0.0))
+                       (clef . (extra-space . 0.8))
+                       (first-note . (fixed-space . 1.0))
+                       (right-edge . (extra-space . 0.0))
+                       (key-signature . (extra-space . 0.0))
+                       (key-cancellation . (extra-space . 0.0))
+                       
+                       ))
+       (meta . ((interfaces . (break-aligned-interface item-interface ))))
+       ))
+
     (LigatureBracket
      . (
        (ligature-primitive-callback . ,Note_head::print)
@@ -692,23 +680,6 @@
        (meta . ((interfaces . (mensural-ligature-interface font-interface))))
        ))
 
-    (RehearsalMark
-     . (
-       (print-function . ,Text_interface::print)
-       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
-       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
-       (after-line-breaking-callback . ,shift-right-at-line-begin)
-       (self-alignment-X . 0)
-       (direction . 1)
-       (breakable . #t)
-       (font-size . 2)
-       (baseline-skip . 2)
-       (break-visibility . ,end-of-line-invisible)
-       (padding . 0.8)
-       (meta . ((interfaces . (text-interface
-                               side-position-interface font-interface 
mark-interface
-                               self-alignment-interface item-interface ))))
-       ))
      (MetronomeMark
      . (
        (print-function . ,Text_interface::print)
@@ -794,7 +765,6 @@
 
     (NoteHead
      . (
-       (style . default)
        (print-function . ,Note_head::print)
        (ligature-primitive-callback . ,Note_head::print)
        (glyph-name-procedure . ,find-notehead-symbol)
@@ -817,17 +787,6 @@
        (meta . ((interfaces . (spacing-interface note-spacing-interface 
item-interface ))))
        ))
 
-    (VoiceFollower
-     . (
-       (style . line)
-       (gap . 0.5)
-       (breakable . #t)
-       (X-extent-callback . #f)
-       (Y-extent-callback . #f)                        
-       (print-function . ,Line_spanner::print)
-       (after-line-breaking-callback . ,Line_spanner::after_line_breaking)
-       (meta . ((interfaces . (line-spanner-interface line-interface 
spanner-interface))))
-       ))
 
     (NoteName
      . (
@@ -853,6 +812,23 @@
        (meta . ((interfaces . (text-interface self-alignment-interface 
side-position-interface font-interface item-interface ))))
        ))
 
+    (OttavaBracket
+     . (
+       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+       (print-function . ,Ottava_bracket::print)
+       (font-shape . italic)
+       (shorten-pair . (0.0 . -0.6))
+       (staff-padding . 1.0)
+       (padding . 0.5)
+       (minimum-length . 1.0)
+       (dash-fraction . 0.3)
+       (edge-height . (0 . 1.2))
+       (direction . 1)
+       (meta . ((interfaces . (ottava-bracket-interface
+                               line-interface side-position-interface
+                               font-interface text-interface 
spanner-interface))))             
+       ))
+
     (PaperColumn
      . (
        (axes . (0))
@@ -914,6 +890,24 @@
                                piano-pedal-interface 
piano-pedal-bracket-interface spanner-interface))))
        ))
 
+    (RehearsalMark
+     . (
+       (print-function . ,Text_interface::print)
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
+       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+       (after-line-breaking-callback . ,shift-right-at-line-begin)
+       (self-alignment-X . 0)
+       (direction . 1)
+       (breakable . #t)
+       (font-size . 2)
+       (baseline-skip . 2)
+       (break-visibility . ,end-of-line-invisible)
+       (padding . 0.8)
+       (meta . ((interfaces . (text-interface
+                               side-position-interface font-interface 
mark-interface
+                               self-alignment-interface item-interface ))))
+       ))
+    
 
     (RemoveEmptyVerticalGroup
      . (
@@ -978,6 +972,20 @@
        (meta . ((interfaces . (script-column-interface item-interface ))))
        ))
 
+
+    (SeparationItem
+     . (
+       (X-extent-callback . #f)
+       (Y-extent-callback . #f)
+       (meta . ((interfaces . (spacing-interface separation-item-interface 
item-interface ))))
+       ))
+
+    (SeparatingGroupSpanner
+     . (
+       (spacing-procedure . ,Separating_group_spanner::set_spacing_rods)
+       (meta . ((interfaces . (only-prebreak-interface spacing-interface 
separation-spanner-interface spanner-interface))))
+       ))
+    
     (Slur
      . ((slur-details . ,default-slur-details)
        (print-function . ,Slur::print)
@@ -1035,6 +1043,22 @@
                                stanza-number-interface text-interface 
font-interface item-interface ))))               
        ))
 
+    (StringNumber
+     . (
+       (print-function . ,print-circled-text-callback)
+       (padding . 0.5)
+       (staff-padding . 0.5)
+       (self-alignment-X . 0)
+       (self-alignment-Y . 0)
+       (script-priority . 100)
+       (font-encoding . fetaNumber)
+       (font-size . -5)                ; don't overlap when next to heads.
+       (meta . ((interfaces . (string-number-interface
+                               font-interface text-script-interface 
text-interface
+                               side-position-interface self-alignment-interface
+                               item-interface))))
+       ))
+
     (StaffSpacing
      . (
        (breakable . #t)
@@ -1137,19 +1161,6 @@
        (meta . ((interfaces . (stem-tremolo-interface item-interface ))))
        ))
 
-    (SeparationItem
-     . (
-       (X-extent-callback . #f)
-       (Y-extent-callback . #f)
-       (meta . ((interfaces . (spacing-interface separation-item-interface 
item-interface ))))
-       ))
-
-    (SeparatingGroupSpanner
-     . (
-       (spacing-procedure . ,Separating_group_spanner::set_spacing_rods)
-       (meta . ((interfaces . (only-prebreak-interface spacing-interface 
separation-spanner-interface spanner-interface))))
-       ))
-
     (SustainPedal
      . (
        (no-spacing-rods . #t)
@@ -1217,6 +1228,21 @@
        (meta . ((interfaces . (system-start-delimiter-interface 
spanner-interface))))
        ))
 
+
+    (TabNoteHead
+     . (
+       (print-function . ,Text_interface::print)
+       (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+       (stem-attachment-function . ,tablature-stem-attachment-function)
+       (font-series . bold)
+       (meta . ((interfaces
+                 . (rhythmic-head-interface
+                    font-interface 
+                    note-head-interface staff-symbol-referencer-interface
+                    text-interface item-interface ))))
+       ))
+
+
     (TextScript
      . (
        (print-function . ,Text_interface::print)
@@ -1233,21 +1259,7 @@
                                text-interface side-position-interface 
font-interface
                                item-interface ))))
        ))
-    (CombineTextScript
-     . (
-       (print-function . ,Text_interface::print)
-       (no-spacing-rods . #t)
-       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
-       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
-       (direction . 1)
-       (padding . 0.5)
-       (staff-padding . 0.5)
-       (script-priority . 200)
-       ;; todo: add X self alignment?
-       (baseline-skip . 2)
-       (font-series . bold)
-       (meta . ((interfaces . (text-script-interface text-interface 
side-position-interface font-interface item-interface ))))
-       ))
+    
     (TextSpanner
      . (
        (print-function . ,Text_spanner::print)
@@ -1259,51 +1271,8 @@
        (direction . 1)
        (meta . ((interfaces . (text-spanner-interface side-position-interface 
font-interface spanner-interface))))             
        ))
-    (TrillSpanner
-     . (
-       (print-function . ,Dynamic_text_spanner::print)
-       (edge-text . ,(cons (make-musicglyph-markup "scripts.trill")
-                           ""))
-       (style . trill)
-       (staff-padding . 1.0)
-       (padding . 0.5)
-       (direction . 1)
-       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
-       (meta . ((interfaces . (text-spanner-interface side-position-interface 
font-interface spanner-interface))))             
-       ))
-
-    (OttavaBracket
-     . (
-       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
-       (print-function . ,Ottava_bracket::print)
-       (font-shape . italic)
-       (shorten-pair . (0.0 . -0.6))
-       (staff-padding . 1.0)
-       (padding . 0.5)
-       (minimum-length . 1.0)
-       (dash-fraction . 0.3)
-       (edge-height . (0 . 1.2))
-       (direction . 1)
-       (meta . ((interfaces . (ottava-bracket-interface
-                               line-interface side-position-interface
-                               font-interface text-interface 
spanner-interface))))             
-       ))
-
-    (TabNoteHead
-     . (
-       (style . default)
-       (print-function . ,Text_interface::print)
-       (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
-       (stem-attachment-function . ,tablature-stem-attachment-function)
-       (font-series . bold)
-       (meta . ((interfaces
-                 . (rhythmic-head-interface
-                    font-interface 
-                    note-head-interface staff-symbol-referencer-interface
-                    text-interface item-interface ))))
-       ))
-
 
+    
     (Tie
      . (
        (print-function . ,Tie::print)
@@ -1343,6 +1312,48 @@
        (meta . ((interfaces . (time-signature-interface 
break-aligned-interface font-interface item-interface ))))
        ))
 
+
+    (TrillSpanner
+     . (
+       (print-function . ,Dynamic_text_spanner::print)
+       (edge-text . ,(cons (make-musicglyph-markup "scripts.trill")
+                           ""))
+       (style . trill)
+       (staff-padding . 1.0)
+       (padding . 0.5)
+       (direction . 1)
+       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+       (meta . ((interfaces . (text-spanner-interface side-position-interface 
font-interface spanner-interface))))             
+       ))
+    
+    (TrillPitchAccidental
+     . ((X-offset-callbacks . (,Side_position_interface::aligned_side))
+       (padding . 0.2)
+       (direction . ,LEFT)
+       (font-size . -4)
+       (print-function . ,Accidental_interface::print)
+       (meta . ((interfaces . (item-interface  font-interface))))
+       ))
+
+    (TrillPitchGroup
+     . ((X-offset-callbacks . (,Side_position_interface::aligned_side))
+       (axes . (,X))
+       (font-size . -4)
+       (print-function . ,parenthesize-elements)
+       (direction . ,RIGHT)
+       (padding . 0.3)
+       (meta . ((interfaces . (font-interface item-interface 
axis-group-interface))))
+       ))
+
+    (TrillPitchHead
+     . ((print-function . ,Note_head::print)
+       (duration-log . 2)
+       (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+       (font-size . -4)
+       (meta . ((interfaces . (item-interface font-interface 
ledgered-interface staff-symbol-referencer-interface))))
+       ))
+    
+
     (TupletBracket
      . (
        (padding . 1.1)
@@ -1356,7 +1367,9 @@
 ;      (font-series . bold)
 
        (font-size . -2)
-       (meta . ((interfaces . (text-interface line-interface 
tuplet-bracket-interface font-interface spanner-interface))))
+       (meta . ((interfaces . (text-interface line-interface
+                                              tuplet-bracket-interface
+                                              font-interface 
spanner-interface))))
        ))
 
     (UnaCordaPedal
@@ -1392,21 +1405,6 @@
        (meta . ((interfaces . (vaticana-ligature-interface font-interface))))
        ))
 
-    (VoltaBracket
-     . (
-       (print-function . ,Volta_bracket_interface::print)
-       (direction . 1)
-       (padding . 1)
-       (font-encoding . fetaNumber)
-       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
-       (thickness . 1.6)  ;;  linethickness
-       (height . 2.0) ;; staffspace;
-       (minimum-space . 5)
-       (font-size . -4)
-       (meta . ((interfaces . (volta-bracket-interface
-                               line-interface text-interface
-                               side-position-interface font-interface 
spanner-interface))))
-       ))
 
     (VerticalAlignment
      . (
@@ -1425,6 +1423,53 @@
        
        (meta . ((interfaces . (axis-group-interface
                                vertically-spaceable-interface 
spanner-interface))))
+       ))
+
+    (VocalName
+     . (
+       (breakable . #t)
+       (Y-offset-callbacks . 
(,Side_position_interface::aligned_on_support_refpoints))
+       (direction . 0)
+       (space-alist . ((left-edge . (extra-space . 1.0))
+                       ))
+       (break-align-symbol . instrument-name)
+       (print-function . ,Text_interface::print)               
+       (break-align-symbol . clef)
+       (break-visibility . ,begin-of-line-visible)
+       (baseline-skip . 2)
+       (meta . ((interfaces . (font-interface
+                               self-alignment-interface
+                               side-position-interface text-interface
+                               break-aligned-interface item-interface ))))
+       ))
+
+    (VoltaBracket
+     . (
+       (print-function . ,Volta_bracket_interface::print)
+       (direction . 1)
+       (padding . 1)
+       (font-encoding . fetaNumber)
+       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+       (thickness . 1.6)  ;;  linethickness
+       (height . 2.0) ;; staffspace;
+       (minimum-space . 5)
+       (font-size . -4)
+       (meta . ((interfaces . (volta-bracket-interface
+                               line-interface text-interface
+                               side-position-interface font-interface 
spanner-interface))))
+       ))
+
+
+    (VoiceFollower
+     . (
+       (style . line)
+       (gap . 0.5)
+       (breakable . #t)
+       (X-extent-callback . #f)
+       (Y-extent-callback . #f)                        
+       (print-function . ,Line_spanner::print)
+       (after-line-breaking-callback . ,Line_spanner::after_line_breaking)
+       (meta . ((interfaces . (line-spanner-interface line-interface 
spanner-interface))))
        ))
    ))
 
Index: lilypond/scm/define-markup-commands.scm
diff -u lilypond/scm/define-markup-commands.scm:1.98 
lilypond/scm/define-markup-commands.scm:1.99
--- lilypond/scm/define-markup-commands.scm:1.98        Wed Jun 29 22:01:45 2005
+++ lilypond/scm/define-markup-commands.scm     Fri Jul  8 17:53:41 2005
@@ -90,7 +90,6 @@
      (cons (+ (- half) (car yext))
           (+ half (cdr yext))))))
 
-
 (def-markup-command (box layout props arg) (markup?)
   "Draw a box round @var{arg}.  Looks at @code{thickness},
 @code{box-padding} and @code{font-size} properties to determine line
@@ -102,8 +101,6 @@
         (m (interpret-markup layout props arg)))
     (box-stencil m th pad)))
 
-
-
 (def-markup-command (filled-box layout props xext yext blot)
   (number-pair? number-pair? number?)
   "Draw a box with rounded corners of dimensions @var{xext} and @var{yext}."
@@ -125,6 +122,19 @@
 
     (ly:stencil-add white stil)))
 
+(def-markup-command (pad-markup layout props padding arg) (number? markup?)
+  "Add space around a markup object."
+
+  (let*
+      ((stil (interpret-markup layout props arg))
+       (xext (ly:stencil-extent stil X))
+       (yext (ly:stencil-extent stil Y)))
+
+    (ly:make-stencil
+     (ly:stencil-expr stil)
+     (interval-widen xext padding)
+     (interval-widen yext padding))))
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; space
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -159,7 +169,6 @@
 (def-markup-command (stencil layout props stil) (ly:stencil?)
   "Stencil as markup"
   stil)
-
 
 (define bbox-regexp
   (make-regexp "%%BoundingBox: ([0-9-]+) ([0-9-]+) ([0-9-]+) ([0-9-]+)"))
Index: lilypond/scm/define-music-properties.scm
diff -u lilypond/scm/define-music-properties.scm:1.37 
lilypond/scm/define-music-properties.scm:1.38
--- lilypond/scm/define-music-properties.scm:1.37       Wed May 25 10:22:34 2005
+++ lilypond/scm/define-music-properties.scm    Fri Jul  8 17:53:41 2005
@@ -43,11 +43,6 @@
      (digit ,integer? "digit for fingering")
      (direction ,ly:dir? "Print this up or down?")
      (drum-type ,symbol? "Which percussion instrument to play this note on.")
-     (tags ,list? "List of symbols that for denoting extra details,
-e.g. @code{\\tag #'part ...} could tag a piece of music as only being active 
in a part.")
-     (text-type ,symbol? "Particular type of text script (e.g. finger, 
dynamic).")
-     (tempo-unit ,ly:duration? "The unit for the metronome count.")
-     (tonic ,ly:pitch? "Base of the scale")
      (error-found ,boolean? "If true, a parsing error was found in this 
expression")
      (element ,ly:music? "The single child of a Music_wrapper music object, or 
the body of a repeat.")
      (elements ,ly:music-list? "A list of elements for sequential of 
simultaneous music, or the alternatives of repeated music. ")
@@ -65,7 +60,7 @@
      (numerator ,integer? "numerator of a time signature")
      (once ,boolean? "Apply this operation only during one time step?")
      (octavation ,integer?
-                 "This pitch was octavated by how many octaves?
+                "This pitch was octavated by how many octaves?
 For chord inversions, this is negative.")
      (origin ,ly:input-location? "where was this piece of music defined?")
      (page-penalty ,number? "Penalty for page break hint.")
@@ -93,8 +88,15 @@
 initializer in @file{define-music-types.scm}.")
      (string-number ,integer? "The number of the string in a 
StringNumberEvent")
      (symbol ,symbol? "Grob name to perform an override/revert on.")
+     (tags ,list? "List of symbols that for denoting extra details,
+e.g. @code{\\tag #'part ...} could tag a piece of music as only being active 
in a part.")
+     (text-type ,symbol? "Particular type of text script (e.g. finger, 
dynamic).")
+     
      (text ,markup? "markup expression to be printed")
+     (tempo-unit ,ly:duration? "The unit for the metronome count.")
+     (tonic ,ly:pitch? "Base of the scale")
      (tremolo-type ,integer? "")
+     (trill-pitch ,ly:pitch? "Pitch of other note of the trill.")
      (type ,symbol? "The type of this music object. Determines iteration in 
some cases.")
      (types ,list? "The types of this music object; determines by what
 engraver this music expression is processed.")
Index: lilypond/scm/output-lib.scm
diff -u lilypond/scm/output-lib.scm:1.80 lilypond/scm/output-lib.scm:1.81
--- lilypond/scm/output-lib.scm:1.80    Tue Jun 21 23:58:19 2005
+++ lilypond/scm/output-lib.scm Fri Jul  8 17:53:41 2005
@@ -282,3 +282,20 @@
 (define-public darkcyan    '(0.5 0.5 0.0))
 (define-public darkmagenta '(0.5 0.0 0.5))
 (define-public darkyellow  '(0.0 0.5 0.5))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Pitch Trill Heads
+
+(define (parenthesize-elements grob)
+  (let*
+      ((elts (ly:grob-property grob 'elements))
+       (x-ext (ly:relative-group-extent elts grob X))
+       (font (ly:grob-default-font grob))
+       (lp (ly:font-get-glyph font "accidentals.leftparen"))
+       (rp (ly:font-get-glyph font "accidentals.rightparen"))
+       (padding 0.1))
+
+    (ly:stencil-add
+     (ly:stencil-translate-axis lp (- (car x-ext) padding) X)
+     (ly:stencil-translate-axis rp (+ (cdr x-ext) padding) X))
+  ))
Index: lilypond/scm/safe-lily.scm
diff -u lilypond/scm/safe-lily.scm:1.30 lilypond/scm/safe-lily.scm:1.31
--- lilypond/scm/safe-lily.scm:1.30     Wed Jun  8 13:07:11 2005
+++ lilypond/scm/safe-lily.scm  Fri Jul  8 17:53:41 2005
@@ -43,10 +43,10 @@
    ly:format-output
    ly:get-all-function-documentation
    ly:get-all-translators
-   ly:get-default-font
    ly:get-glyph
    ly:get-option
    ly:grob-alist-chain
+   ly:grob-default-font
    ly:grob-extent
    ly:grob-original
    ly:grob-layout
Index: lilypond/scm/translation-functions.scm
diff -u lilypond/scm/translation-functions.scm:1.11 
lilypond/scm/translation-functions.scm:1.12
--- lilypond/scm/translation-functions.scm:1.11 Fri Feb  4 13:48:10 2005
+++ lilypond/scm/translation-functions.scm      Fri Jul  8 17:53:41 2005
@@ -52,3 +52,22 @@
 (define-public (format-mark-box-barnumbers mark context)
   (make-bold-markup (make-box-markup
     (number->string (ly:context-property context 'currentBarNumber)))))
+
+(define-public (format-pitched-trill-head pitch do-print-accidental context)
+  (make-override-markup
+   '(word-space . 0.0)
+   (make-line-markup
+    (append
+     (list
+      (make-musicglyph-markup "accidentals.leftparen"))
+     (if do-print-accidental
+        (list (make-musicglyph-markup
+               (string-append "accidentals."
+                              (number->string (ly:pitch-alteration pitch))))
+              (make-hspace-markup 0.2))
+        '())
+     
+     (list
+      (make-musicglyph-markup "noteheads.s2")
+      (make-musicglyph-markup "accidentals.rightparen"))
+     ))))


_______________________________________________
Lilypond-cvs mailing list
Lilypond-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-cvs

Reply via email to