]> git.donarmstrong.com Git - lilypond.git/commitdiff
update for the lily-wins.py script.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 3 May 2004 23:16:25 +0000 (23:16 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 3 May 2004 23:16:25 +0000 (23:16 +0000)
79 files changed:
ChangeLog
Documentation/user/notation.itely
THANKS
cygwin/lily-wins.py
lily/accidental-engraver.cc
lily/ambitus-engraver.cc
lily/arpeggio-engraver.cc
lily/axis-group-engraver.cc
lily/bar-engraver.cc
lily/bar-number-engraver.cc
lily/beam-engraver.cc
lily/break-align-engraver.cc
lily/breathing-sign-engraver.cc
lily/chord-name-engraver.cc
lily/chord-tremolo-engraver.cc
lily/clef-engraver.cc
lily/cluster-engraver.cc
lily/collision-engraver.cc
lily/completion-note-heads-engraver.cc
lily/custos-engraver.cc
lily/dot-column-engraver.cc
lily/drum-note-engraver.cc
lily/dynamic-engraver.cc
lily/extender-engraver.cc
lily/figured-bass-engraver.cc
lily/fingering-engraver.cc
lily/glissando-engraver.cc
lily/horizontal-bracket-engraver.cc
lily/hyphen-engraver.cc
lily/include/engraver.hh
lily/instrument-name-engraver.cc
lily/item.cc
lily/key-engraver.cc
lily/ligature-bracket-engraver.cc
lily/ligature-engraver.cc
lily/lyric-engraver.cc
lily/mark-engraver.cc
lily/measure-grouping-engraver.cc
lily/mensural-ligature-engraver.cc
lily/metronome-engraver.cc
lily/multi-measure-rest-engraver.cc
lily/new-fingering-engraver.cc
lily/note-head-line-engraver.cc
lily/note-heads-engraver.cc
lily/note-name-engraver.cc
lily/ottava-engraver.cc
lily/part-combine-engraver.cc
lily/percent-repeat-engraver.cc
lily/performance.cc
lily/phrasing-slur-engraver.cc
lily/piano-pedal-engraver.cc
lily/rest-collision-engraver.cc
lily/rest-engraver.cc
lily/rhythmic-column-engraver.cc
lily/score-engraver.cc
lily/script-column-engraver.cc
lily/script-engraver.cc
lily/separating-line-group-engraver.cc
lily/slash-repeat-engraver.cc
lily/slur-engraver.cc
lily/spacing-engraver.cc
lily/span-arpeggio-engraver.cc
lily/span-bar-engraver.cc
lily/staff-symbol-engraver.cc
lily/stanza-number-engraver.cc
lily/stem-engraver.cc
lily/system-start-delimiter-engraver.cc
lily/system.cc
lily/tab-note-heads-engraver.cc
lily/text-engraver.cc
lily/text-spanner-engraver.cc
lily/tie-engraver.cc
lily/time-signature-engraver.cc
lily/translator-property.cc
lily/tuplet-engraver.cc
lily/vaticana-ligature-engraver.cc
lily/vertical-align-engraver.cc
lily/volta-engraver.cc
scm/music-functions.scm

index e62fe00c77d25da8ff680acbf856768c40c06975..5b1e512b0793fd53f1224ffb0f560f7ca2a2e475 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2004-05-04  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * cygwin/lily-wins.py: update for the lily-wins.py script.
+
+2004-05-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/score-engraver.cc (typeset_all): switch off unbound spanner
+       code. This will obviate typeset_grob () in the future.  The effect
+       of this is that improperly written spanner handling will result in
+       invalid spanner bounds.
+       (announce_grob): add to elems_ from here
+       (typeset_grob): comment out.  
+
+       * lily/include/engraver.hh (make_spanner): new calling interface
+       for make_{item,spanner}. This obviates most calls to
+       announce_grob().
+               
+       * scm/music-functions.scm (set-accidental-style): use GrandStaff
+       iso. PianoStaff for piano styles.
+
 2004-05-03  Heikki Junes <hjunes@cc.hut.fi>
 
        * Documentation/user/music-glossary.tely: add segno after d.s.
index 21213b117b8b796166e46310c3dac0f8b6daca27..067b51b20c26ede20bd06516f6135a566159cde8 100644 (file)
@@ -1436,6 +1436,8 @@ behavior can be changed by setting @code{allowBeamBreak}.
 Automatically kneed cross-staff beams cannot be used together with
 hidden staves.
 
+Beams do not avoid collisions with symbols around the notes, such as
+texts and accidentals.
 
 
 
diff --git a/THANKS b/THANKS
index 4e6bb383c1648f8979607c247c53fcf577b30576..38a7ad7ff6a3f5ebf2337d9fe745bc89bb88e667 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -23,7 +23,8 @@ Peter Rosenbeck
 Stephen Pollei
 Bertalan Fodor
 Thomas Scharlowski
-
+Yuval Harel
+Martin Norbäck
 
 Release 2.2
 ***********
index 299cfe46f8674fea421f259bf0eda3bd9cac3d21..06d22595e54c277e53bf101dac4f405bfe1f104b 100644 (file)
@@ -1,16 +1,21 @@
 #!@PYTHON@
 # lily-wins.py -- LilyPond command for .ly on Windows
 
+import getopt
 import os
 import re
 import sys
+import time
+
+do_debug = 0
 
 def usage ():
        print 'Usage [-h,--help] lily-wins LY-FILE'
 
 # print debugging stuff for now
 def debug (s):
-       print s
+       if do_debug:
+               print s
 
 def read_pipe (command):
        debug ('command:' + command)
@@ -33,16 +38,36 @@ def escape_shell (x):
        return re.sub ("(\s|[`'\"\\\\])", r'\\\1',x)
 #      return re.sub (r'''([^\\])([`'"\\\s])''', r'\1\\\2', x)
         # help emacs'" broken python mode
+
+def usage ():
+       print '''lily-wins [options] file
+
+Options supported:
+
+  -h, --help      this help screen
+  -d, --debug     print debugging information
+  
+'''
        
 debug (`sys.argv`)
 
-if len (sys.argv) != 2 \
-   or sys.argv[1] == '-h' or sys.argv[1] == '--help':
+########
+# main
+(opts, files)=getopt.getopt (sys.argv[1:],'dh', ['help', 'debug'])
+
+for (o,a) in opts:
+       if o == '-d' or o == '--debug':
+               do_debug = 1
+       elif o == '-h' or o  == '--help':
+               usage ()
+               sys.exit (0)
+
+if files == []:
        usage ()
-       sys.exit (0)
-       
-native_file = sys.argv[1]
+       sys.exit (1)
        
+native_file = files[0]
+print 'Processing %s ...' % native_file
 file = read_pipe ('/usr/bin/cygpath -au %s' % escape_shell (native_file))
 if not file:
        file = native_file
@@ -54,7 +79,7 @@ if not dir:
        dir = '.'
 base = os.path.basename (file)
 stem = strip_extension (base, '.ly')
-print `vars ()`
+debug ( `vars ()`)
 
 native_base = '%(dir)s/%(stem)s' % vars ()
 native_base = read_pipe ('/usr/bin/cygpath -aw %s' % escape_shell (native_base))
@@ -78,14 +103,28 @@ if not pdfview:
        pdfview = 'xpdf'
 
 os.chdir (dir)
+pdffile = '%(stem)s.pdf' % vars ()
+if os.path.exists (pdffile):
+       os.unlink (pdffile)
+
+
+script = '/usr/bin/lilypond'
+
 if os.path.exists ('/usr/bin/ly2dvi'):
-       system ('/usr/bin/ly2dvi -p %s > %s.log 2>&1' % (escape_shell (base),
-                                                        escape_shell (stem)))
-else:
-       system ('/usr/bin/lilypond %s > %s.log 2>&1' % (escape_shell (base),
-                                                       escape_shell (stem)))
-if not os.path.exists ('%(stem)s.pdf' % vars ()):
+       script = '/usr/bin/ly2dvi'
+
+stat = system ('%s -p %s > %s.log 2>&1' % (script, escape_shell (base),
+                                   escape_shell (stem)))
+
+if not os.path.exists (pdffile):
        # message box?
-       sys.stderr.write ('pdf output not found\n')
+       sys.stderr.write ('PDF output not found. Error log: \n')
 
-system ('%s %s.pdf' % (escape_shell (pdfview), escape_shell (native_base)))
+       map (sys.stderr.write, open (stem + '.log').readlines ()[-20:])
+       sys.stderr.write ('A full log is in the file %s.log\n' % stem)
+       sys.stderr.write ('\n\nPress enter to close window\n')
+       sys.stdin.readline ()
+else:
+       
+       # run even if failed, to make sure that error 
+       system ('%s %s.pdf' % (escape_shell (pdfview), escape_shell (native_base)))
index 1ed0e5d405c1c2b8ab4fe7a9fdcac2af38542f8b..808c2408ec5a76947e8de6ff12d16366516ca942 100644 (file)
@@ -287,18 +287,18 @@ Accidental_engraver::process_acknowledged_grobs ()
                level, so that we get the property settings for
                Accidental from the respective Voice.
               */
-             Grob * a = make_item_from_properties (origin,
-                                                   ly_symbol2scm ("Accidental"));
+             Grob * a = make_item_from_properties (origin->implementation (),
+                                                   ly_symbol2scm ("Accidental"),
+                                                   note->self_scm ()
+                                                   );
              a->set_parent (support, Y_AXIS);
 
              if (!accidental_placement_)
                {
-                 accidental_placement_ = make_item ("AccidentalPlacement");
-                 announce_grob (accidental_placement_, a->self_scm ());
+                 accidental_placement_ = make_item ("AccidentalPlacement", a->self_scm ());
                }
              
              Accidental_placement::add_accidental (accidental_placement_, a);
-             announce_grob (a, SCM_EOL);
 
              
              SCM accs = scm_cons (scm_int2num (pitch->get_alteration ()), SCM_EOL);
index ee8c1c47c507c205a4efaa0ff0426bf67fbca143..5d283d265d94a07409af76a73d46bc2e39176849 100644 (file)
@@ -169,9 +169,8 @@ Ambitus_engraver::acknowledge_grob (Grob_info info)
 void
 Ambitus_engraver::create_ambitus ()
 {
-  ambitus_ = make_item ("Ambitus");
+  ambitus_ = make_item ("Ambitus",SCM_EOL);
   is_typeset = false;          
-  announce_grob (ambitus_, SCM_EOL);
 }
 
 void
index 5ecde8437af368da2522d02dec513ade938b6355..282a7653a03918b0ed2560eb9c88bc8a5a7ff855 100644 (file)
@@ -81,8 +81,7 @@ Arpeggio_engraver::process_music ()
 {
   if (arpeggio_req_)
     {
-      arpeggio_ = make_item ("Arpeggio");
-      announce_grob (arpeggio_, arpeggio_req_->self_scm ());
+      arpeggio_ = make_item ("Arpeggio",arpeggio_req_->self_scm ());
     }
 }
 
index 50e53db1b1fd1a506db703b2523407f605fed472..1bc232f4c5fc12dca618c12ba1e389eb53e465f9 100644 (file)
@@ -48,15 +48,13 @@ Axis_group_engraver::process_music ()
       Grob *  it = unsmob_grob (get_property ("currentCommandColumn"));
 
       staffline_->set_bound (LEFT,it);
-
-      announce_grob (staffline_, SCM_EOL);
     }
 } 
 
 Spanner*
 Axis_group_engraver::get_spanner () 
 {
-  return make_spanner ("VerticalAxisGroup");
+  return make_spanner ("VerticalAxisGroup", SCM_EOL);
 }
 
 /*
@@ -163,7 +161,7 @@ Hara_kiri_engraver::add_element (Grob*e)
 Spanner*
 Hara_kiri_engraver::get_spanner () 
 {
-  Spanner * sp = make_spanner ("RemoveEmptyVerticalGroup");
+  Spanner * sp = make_spanner ("RemoveEmptyVerticalGroup", SCM_EOL);
   
   return sp;
 }
index 031609a75bf205b29cf41cdf1d6eb3b8b470ccaf..7b9841bcab33d8bb357edbb51db40c6dc58dd4dc 100644 (file)
@@ -47,12 +47,10 @@ Bar_engraver::create_bar ()
 {
   if (!bar_)
     {
-      bar_ = make_item ("BarLine");
+      bar_ = make_item ("BarLine", SCM_EOL);
       SCM gl = get_property ("whichBar");
       if (scm_equal_p (gl, bar_->get_property ("glyph")) != SCM_BOOL_T)
          bar_->set_property ("glyph", gl);
-      
-      announce_grob (bar_, SCM_EOL);
     }
 }
 
index 47884280861e0871115f73cf7f2e30f3de8da6d9..1b621c5382c60850552a8356756057dbc34e9a83 100644 (file)
@@ -108,10 +108,8 @@ Bar_number_engraver::create_items ()
   if (text_)
     return;
 
-  text_ = make_item ("BarNumber");
+  text_ = make_item ("BarNumber", SCM_EOL);
   Side_position_interface::set_axis (text_,Y_AXIS);
-
-  announce_grob (text_, SCM_EOL);
 }
 
 ENTER_DESCRIPTION (Bar_number_engraver,
index b485f714644d742bd5315b05044407938a2607e3..2abec27aec5016ac5c2a45e9c68b3fe1a380b551 100644 (file)
@@ -142,7 +142,7 @@ Beam_engraver::process_music ()
 
       set_melisma (true);
       prev_start_ev_ = start_ev_;
-      beam_ = make_spanner ("Beam");
+      beam_ = make_spanner ("Beam", start_ev_->self_scm ());
       SCM smp = get_property ("measurePosition");
       Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
 
@@ -152,7 +152,6 @@ Beam_engraver::process_music ()
       beam_info_ = new Beaming_info_list;
       
       /* urg, must copy to Auto_beam_engraver too */
-      announce_grob (beam_, start_ev_->self_scm ());
     }
 
 }
index e462297fc8bdf057ec0ec53ee53d8608d9c34f7e..08fc9d6ef11356947f25e91824aef6644d08f62e 100644 (file)
@@ -12,7 +12,8 @@
 #include "item.hh"
 #include "align-interface.hh"
 #include "axis-group-interface.hh"
-
+#include "context.hh"
+#include "translator-group.hh"
 
 class Break_align_engraver : public Engraver
 {
@@ -97,16 +98,17 @@ Break_align_engraver::acknowledge_grob (Grob_info inf)
 
       if (!align_)
        {
-         align_ = make_item ("BreakAlignment");
+         align_ = make_item ("BreakAlignment", SCM_EOL);
 
-         announce_grob (align_, SCM_EOL);
+         
 
          Context*origin = inf.origin_contexts (this)[0];
-         left_edge_ =  make_item_from_properties (origin,
-                                                  ly_symbol2scm ("LeftEdge"));
+         left_edge_ =  make_item_from_properties (origin->implementation (),
+                                                  ly_symbol2scm ("LeftEdge"),
+                                                  SCM_EOL
+                                                  );
          add_to_group (left_edge_->get_property ("break-align-symbol"),
                        left_edge_);
-         announce_grob (left_edge_, SCM_EOL);
        }
       
       add_to_group (align_name, item);
@@ -126,11 +128,10 @@ Break_align_engraver::add_to_group (SCM align_name, Item*item)
     }
   else
     {
-      group = make_item ("BreakAlignGroup");
+      group = make_item ("BreakAlignGroup", item->self_scm () );
 
       group->set_property ("break-align-symbol", align_name);
       group->set_parent (align_, Y_AXIS);
-      announce_grob (group, item->self_scm ());
          
       column_alist_ = scm_assoc_set_x (column_alist_, align_name, group->self_scm ());
 
index d5bee482859be7f3e8b19318ec3713da28ee1a4f..d39fa93984f8a256811261206254087424eba8e2 100644 (file)
@@ -54,9 +54,7 @@ Breathing_sign_engraver::process_acknowledged_grobs ()
 {
   if (breathing_sign_req_ && ! breathing_sign_)
     {
-      breathing_sign_ = make_item ("BreathingSign");
-
-      announce_grob (breathing_sign_, breathing_sign_req_->self_scm ());
+      breathing_sign_ = make_item ("BreathingSign", breathing_sign_req_->self_scm ());
       breathing_sign_req_ = 0;
     }
 }
index 13254fa8def864ea3c30a91e69e6d9bb3455860e..e6b70aa402826163c50ed89299efb5a85195eb1b 100644 (file)
@@ -109,9 +109,9 @@ Chord_name_engraver::process_music ()
    */
   SCM chord_as_scm = scm_cons (pitches, scm_cons (bass, inversion));
   
-  chord_name_ = make_item ("ChordName");
+  chord_name_ = make_item ("ChordName",notes_[0]->self_scm ());
   chord_name_->set_property ("text", markup);
-  announce_grob (chord_name_, notes_[0]->self_scm ());
+
   SCM s = get_property ("chordChanges");
   if (to_boolean (s) && ly_c_pair_p (last_chord_) 
       && ly_c_equal_p (chord_as_scm, last_chord_))
index 4272ec2bef599fdb0bc5affa4a567a06c2a593bc..39871f741d0bf04ea19b3048e9f99d53b41d1d78 100644 (file)
@@ -120,16 +120,15 @@ void
 Chord_tremolo_engraver::process_music ()
 {
   if (repeat_ && sequential_body_b_ && !beam_)
-       {
-         beam_ = make_spanner ("Beam");
-         beam_->set_property ("chord-tremolo", SCM_BOOL_T);
-
-         SCM smp = get_property ("measurePosition");
-         Moment mp
-           = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
-         beam_start_location_ = mp;
-         announce_grob (beam_, repeat_->self_scm ());
-       }
+    {
+      beam_ = make_spanner ("Beam", repeat_->self_scm ());
+      beam_->set_property ("chord-tremolo", SCM_BOOL_T);
+
+      SCM smp = get_property ("measurePosition");
+      Moment mp
+       = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+      beam_start_location_ = mp;
+    }
 }
 
 void
@@ -186,8 +185,7 @@ Chord_tremolo_engraver::acknowledge_grob (Grob_info info)
   else if (repeat_ &&
           flags_ && !sequential_body_b_ && Stem::has_interface (info.grob_))
     {
-      stem_tremolo_ = make_item ("StemTremolo");
-      announce_grob (stem_tremolo_, repeat_->self_scm ());
+      stem_tremolo_ = make_item ("StemTremolo", repeat_->self_scm ());
       stem_tremolo_->set_property ("flag-count",
                                   scm_int2num (flags_));
       stem_tremolo_->set_property ("stem",
index eacc015ab4d7c25d6156120bd11cd9700919d0ec..78405680cc760e06fa1ef64b6352dd88ee69ddb9 100644 (file)
@@ -86,8 +86,8 @@ Clef_engraver::create_clef ()
 {
   if (!clef_)
     {
-      Item *c= make_item ("Clef");
-      announce_grob (c, SCM_EOL);
+      Item *c = make_item ("Clef", SCM_EOL);
+      
 
       clef_ = c;
       SCM cpos = get_property ("clefPosition");
@@ -98,7 +98,7 @@ Clef_engraver::create_clef ()
       SCM oct =  get_property ("clefOctavation");
       if (ly_c_number_p (oct) && ly_scm2int (oct))
        {
-         Item * g = make_item ("OctavateEight");
+         Item * g = make_item ("OctavateEight", SCM_EOL);
 
          int abs_oct = ly_scm2int (oct) ;
          int dir = sign (abs_oct);
@@ -116,7 +116,7 @@ Clef_engraver::create_clef ()
          g->set_parent (clef_, X_AXIS);
          g->set_property ("direction", scm_int2num (dir));
          octavate_ = g;
-         announce_grob (octavate_, SCM_EOL);
+         
        }
     }
 }
index 391d3fbd133e408dd1df864bd78236897448eeed..23795e56bdd36f6b68f8642a1ac40dfcff25bc40 100644 (file)
@@ -96,17 +96,15 @@ Cluster_spanner_engraver::process_music ()
          pmin = pmin <? p;
        }
       
-      beacon_ = make_item ("ClusterSpannerBeacon");
+      beacon_ = make_item ("ClusterSpannerBeacon", cluster_notes_[0]->self_scm ());
       beacon_->set_property ("positions",
                                  scm_cons (scm_int2num (pmin),
                                            scm_int2num (pmax)));
-      announce_grob (beacon_, cluster_notes_[0]->self_scm ());
     }
 
   if (beacon_ && !spanner_)
     {    
-      spanner_ = make_spanner ("ClusterSpanner");
-      announce_grob (spanner_, cluster_notes_[0]->self_scm ());
+      spanner_ = make_spanner ("ClusterSpanner", cluster_notes_[0]->self_scm () );
     }
   
   if (beacon_ && spanner_)
index 2a0b1dea2fd4f1cffbdaa34be3f2d9f032665246..478030d847fedbb2518e19bdcb25d9c8f4bde684 100644 (file)
@@ -36,8 +36,8 @@ Collision_engraver::process_acknowledged_grobs ()
     return ;
   if (!col_) 
     {
-      col_ = make_item ("NoteCollision");
-      announce_grob (col_, SCM_EOL);
+      col_ = make_item ("NoteCollision", SCM_EOL);
+      
     }
   
   for (int i=0; i< note_columns_.size (); i++)
index 4c52d88ae454560a16f5af6b6b3eee2489f1c5f6..229eadd4937062ae4a6ed63797887827a3248566 100644 (file)
@@ -210,9 +210,9 @@ Completion_heads_engraver::process_music ()
   for (int i = 0;
        left_to_do_ && i < note_reqs_.size (); i++)
     {
-      Item *note  = make_item ("NoteHead");
       
       Music * req =  note_reqs_[i];
+      Item *note  = make_item ("NoteHead", req->self_scm ());
       if (scratch_note_reqs_.size ())
        {
          req = scratch_note_reqs_[i];
@@ -227,7 +227,7 @@ Completion_heads_engraver::process_music ()
       int dots= note_dur.dot_count ();
       if (dots)
        {
-         Item * d = make_item ("Dots");
+         Item * d = make_item ("Dots", SCM_EOL);
          Rhythmic_head::set_dots (note, d);
 
          /*
@@ -237,7 +237,6 @@ Completion_heads_engraver::process_music ()
            d->set_property ("dot-count", scm_int2num (dots));
 
          d->set_parent (note, Y_AXIS);
-         announce_grob (d, SCM_EOL);
          dots_.push (d);
        }
 
@@ -249,7 +248,6 @@ Completion_heads_engraver::process_music ()
        pos += ly_scm2int (c0);
 
       note->set_property ("staff-position",   scm_int2num (pos));
-      announce_grob (note,req->self_scm ());
       notes_.push (note);
     }
   
@@ -257,14 +255,14 @@ Completion_heads_engraver::process_music ()
     {
       for (int i= 0; i < notes_.size (); i++)
        {
-         Grob * p = make_spanner ("Tie");
+         Grob * p = make_spanner ("Tie", SCM_EOL);
          Tie::set_interface (p); // cannot remove yet!
          
          Tie::set_head (p, LEFT, prev_notes_[i]);
          Tie::set_head (p, RIGHT, notes_[i]);
          
          ties_.push (p);
-         announce_grob (p, SCM_EOL);
+         
        }
     }
 
index 86dac5847e2eeae9e4ea62a1bd72ec4b4c45b6fa..09d0ec9aa6e558a0991a2c41b6f2caf517b75cf9 100644 (file)
@@ -124,9 +124,9 @@ Custos_engraver::process_acknowledged_grobs ()
 Item* 
 Custos_engraver::create_custos ()
 {
-  Item* custos = make_item ("Custos");
+  Item* custos = make_item ("Custos", SCM_EOL);
+  
   
-  announce_grob (custos, SCM_EOL);
   custodes_.push (custos);
   
   return custos;
index 8ee88506141568720460658042e10f4067281003..2b426cec2c8020a4015f310363830e965b61f08c 100644 (file)
@@ -63,8 +63,8 @@ Dot_column_engraver::acknowledge_grob (Grob_info info)
     {
       if (!dotcol_)
        {
-         dotcol_ = make_item ("DotColumn");
-         announce_grob (dotcol_, SCM_EOL);
+         dotcol_ = make_item ("DotColumn", SCM_EOL);
+         
        }
 
       Dot_column::add_head (dotcol_, info.grob_);
index 6301ca71bd5e1484c2995d99298533e85b9afe66..8b05bad66561c07aae5a614226cc739168661997 100644 (file)
@@ -62,8 +62,8 @@ Drum_notes_engraver::process_music ()
       if (!tab)
        tab = get_property ("drumStyleTable");
       
-      Item *note = make_item ("NoteHead");
       Music * ev = events_[i];
+      Item *note = make_item ("NoteHead", ev->self_scm ());
       
       Duration dur = *unsmob_duration (ev->get_property ("duration"));
 
@@ -71,7 +71,7 @@ Drum_notes_engraver::process_music ()
 
       if (dur.dot_count ())
        {
-         Item * d = make_item ("Dots");
+         Item * d = make_item ("Dots", ev->self_scm ());
          Rhythmic_head::set_dots (note, d);
          
          if (dur.dot_count ()
@@ -79,7 +79,7 @@ Drum_notes_engraver::process_music ()
            d->set_property ("dot-count", scm_int2num (dur.dot_count ()));
 
          d->set_parent (note, Y_AXIS);
-         announce_grob (d, SCM_EOL);
+         
          dots_.push (d);
        }
 
@@ -103,7 +103,7 @@ Drum_notes_engraver::process_music ()
 
          if (ly_c_string_p (script))
            {
-             Item *p  = make_item ("Script");
+             Item *p  = make_item ("Script", ev->self_scm ());
              SCM desc  = SCM_EOL;
              make_script_from_event (p, &desc,
                                      context (), script,
@@ -112,7 +112,6 @@ Drum_notes_engraver::process_music ()
              if (p->get_property ("follow-into-staff"))
                p->set_property ("staff-padding", SCM_EOL);
              
-             announce_grob (p, ev->self_scm ());
 
              p->set_parent (note, Y_AXIS);
              Side_position_interface::add_support (p, note); 
@@ -120,9 +119,6 @@ Drum_notes_engraver::process_music ()
            }
        }
 
-
-      
-      announce_grob (note,ev->self_scm ());
       notes_.push (note);
     }
 }
index 6e926b8d6c880b567f0bf70b3c67e5c9b9a56869..f57f031e28ee4d3a4f33c370d77c58643db3e0ce 100644 (file)
@@ -114,12 +114,11 @@ Dynamic_engraver::process_music ()
     {
       if (!line_spanner_)
        {
-         line_spanner_ = make_spanner ("DynamicLineSpanner");
-
          Music * rq = accepted_spanreqs_drul_[START];
+         line_spanner_ = make_spanner ("DynamicLineSpanner", rq ? rq->self_scm (): SCM_EOL );
+
          if (script_ev_)
-           rq =  script_ev_ ;
-         announce_grob (line_spanner_, rq ? rq->self_scm (): SCM_EOL);
+           rq =  script_ev_;
        }
     }
   
@@ -140,7 +139,7 @@ Dynamic_engraver::process_music ()
   */
   if (script_ev_)
     {
-      script_ = make_item ("DynamicText");
+      script_ = make_item ("DynamicText", script_ev_->self_scm ());
       script_->set_property ("text",
                                   script_ev_->get_property ("text"));
 
@@ -150,7 +149,6 @@ Dynamic_engraver::process_music ()
 
       Axis_group_interface::add_element (line_spanner_, script_);
 
-      announce_grob (script_, script_ev_->self_scm ());
     }
 
   Music *stop_ev = accepted_spanreqs_drul_ [STOP] ?
@@ -222,7 +220,7 @@ Dynamic_engraver::process_music ()
          SCM s = get_property ((start_type + "Spanner").to_str0 ());
          if (!ly_c_symbol_p (s) || s == ly_symbol2scm ("hairpin"))
            {
-             cresc_  = make_spanner ("Hairpin");
+             cresc_  = make_spanner ("Hairpin", accepted_spanreqs_drul_[START]->self_scm ());
              cresc_->set_property ("grow-direction",
                                           scm_int2num ((start_type == "crescendo")
                                                       ? BIGGER : SMALLER));
@@ -237,7 +235,7 @@ Dynamic_engraver::process_music ()
          */
          else
            {
-             cresc_  = make_spanner ("TextSpanner");
+             cresc_  = make_spanner ("TextSpanner", accepted_spanreqs_drul_[START]->self_scm ());
              cresc_->set_property ("style", s);
              context ()->set_property ((start_type
                                            + "Spanner").to_str0 (), SCM_EOL);
@@ -262,7 +260,6 @@ Dynamic_engraver::process_music ()
 
          add_bound_item (line_spanner_, cresc_->get_bound (LEFT));
          
-         announce_grob (cresc_, accepted_spanreqs_drul_[START]->self_scm ());
        }
     }
 }
index bc1d2580a09414a399a877f45afcafc116286733..35f4db921848d5da8fa0dda91fdc3268cd281a7b 100644 (file)
@@ -59,8 +59,7 @@ Extender_engraver::process_music ()
 {
   if (ev_)
     {
-      extender_ = make_spanner ("LyricExtender");
-      announce_grob (extender_, ev_->self_scm ());
+      extender_ = make_spanner ("LyricExtender", ev_->self_scm ());
     }
 }
 
index 611e49dc258d5c8bf4617524e7fa353f637ae5fd..f46a86b6711221204e69bfe53721f5df9d5c45d1 100644 (file)
@@ -68,8 +68,7 @@ Figured_bass_engraver::process_music ()
 {
   if (rest_req_)
     {
-      figure_ = make_item ("BassFigure");
-      announce_grob (figure_, rest_req_->self_scm ()); // todo
+      figure_ = make_item ("BassFigure", rest_req_->self_scm ());
       figure_->set_property ("text" , scm_makfrom0str ("-"));
     }
   else if (figures_.size ())
@@ -84,10 +83,9 @@ Figured_bass_engraver::process_music ()
              *t = scm_cons (figures_[i]->self_scm (), SCM_EOL);
              t = SCM_CDRLOC (*t);
            }
-         figure_ = make_item ("BassFigure");
+         figure_ = make_item ("BassFigure", figures_[0]->self_scm ());
          scm_call_3 (proc, l, context ()->self_scm (),
                      figure_->self_scm ());
-         announce_grob (figure_, figures_[0]->self_scm ()); // todo
        }
     }
 }
index a281bbdf77c94afcbc3728875c9a3a0157e95421..c61ba4c56a24818a54cb73ed07e41b2d8bf3e064 100644 (file)
@@ -81,7 +81,7 @@ Fingering_engraver::process_music ()
 void
 Fingering_engraver::make_script (Direction d, Music *r, int i)
 {
-  Item *fingering = make_item ("Fingering");
+  Item *fingering = make_item ("Fingering", r->self_scm ());
   Axis a = Y_AXIS;
   Axis other = other_axis (a);
 
@@ -125,7 +125,6 @@ Fingering_engraver::make_script (Direction d, Music *r, int i)
   SCM dig =  r->get_property ("digit");
   fingering->set_property ("text", scm_number_to_string (dig, scm_int2num (10)));
 
-  announce_grob (fingering, r->self_scm ());
   fingerings_.push (fingering);
 }
 
index 795570866f4453a85f839935fde711dc0c43c453..6c177c43baecfef3400e3cf1fc07b46f1c961b93 100644 (file)
@@ -55,8 +55,7 @@ Glissando_engraver::process_music ()
 {
   if (event_)
     {
-      line_ = make_spanner ("Glissando");
-      announce_grob (line_, event_->self_scm ());
+      line_ = make_spanner ("Glissando", event_->self_scm ());
     }
 }
 
index 99836973b4ccc5066650211ae193f20d9dfdd82b..3be6afc7436cdc2a62ce9451dc05a920274bc5d9 100644 (file)
@@ -91,9 +91,8 @@ Horizontal_bracket_engraver::process_music ()
 {
   for  (int k = 0; k < push_count_; k++)
     {
-      Spanner * sp = make_spanner ("HorizontalBracket");
+      Spanner * sp = make_spanner ("HorizontalBracket", events_[k]->self_scm ());
 
-      announce_grob (sp, events_[k]->self_scm ());
       for (int i = 0; i < bracket_stack_.size (); i++)
        {
          /*
index 26deb72817701bae0c87a7b29be5aa6f40237de9..edc3b5f36be3e70797a968a0c06a0bce2d73831a 100644 (file)
@@ -120,8 +120,8 @@ Hyphen_engraver::process_music ()
 {
   if (ev_)
     {
-      hyphen_ = make_spanner ("LyricHyphen");
-      announce_grob (hyphen_, ev_->self_scm ());
+      hyphen_ = make_spanner ("LyricHyphen", ev_->self_scm ()
+);
     }
 }
 
index 5c064bf71b8a3246e6eb67127476c9ede70820e8..c8270be6d619300928aa78f3a712ed092c01becd 100644 (file)
@@ -42,14 +42,16 @@ protected:
      
    */
   virtual void process_acknowledged_grobs () {}
-  /**
-    Announce element. Default: pass on to daddy. Utility
-    */
-  virtual void announce_grob (Grob*, SCM cause);
+
   virtual void announce_grob (Grob_info);
   Engraver_group_engraver*get_daddy_engraver () const;
 
 public:
+  /**
+    Announce element. Default: pass on to daddy. Utility
+    */
+  void announce_grob (Grob*, SCM cause);
+  
   Score_engraver * get_score_engraver () const;
   /**
     override other ctor
@@ -57,10 +59,10 @@ public:
   TRANSLATOR_DECLARATIONS(Engraver);
 };
 
-#define make_item(x) make_item_from_properties (context (), ly_symbol2scm (x))
-#define make_spanner(x) make_spanner_from_properties (context (), ly_symbol2scm (x))
-Item* make_item_from_properties (Context * tg, SCM x);
-Spanner* make_spanner_from_properties (Context * tg, SCM x);
+#define make_item(x,cause) make_item_from_properties (this, ly_symbol2scm (x), cause)
+#define make_spanner(x,cause) make_spanner_from_properties (this, ly_symbol2scm (x), cause)
+Item* make_item_from_properties (Translator * tg, SCM x, SCM cause);
+Spanner* make_spanner_from_properties (Translator * tg, SCM x, SCM cause);
 
 
 
index 892bde9b9f89fc000eb03c640ba0eed595f6cead..1abbcb859af1ab3bd56cccf7329529257d97a6e5 100644 (file)
@@ -75,11 +75,11 @@ Instrument_name_engraver::create_text ()
     return ;
 
   
-  text_ = make_item ("InstrumentName");
+  text_ = make_item ("InstrumentName", SCM_EOL);
       
   if (text_->get_property ("text") != txt)
     text_->set_property ("text", txt);
-  announce_grob (text_, SCM_EOL);
+  
   }
 
 void
@@ -169,11 +169,11 @@ Vocal_name_engraver::create_text ()
   if (txt == SCM_EOL)
     return ;
   
-  text_ = make_item ("VocalName");
+  text_ = make_item ("VocalName", SCM_EOL);
       
   if (text_->get_property ("text") != txt)
     text_->set_property ("text", txt);
-  announce_grob (text_, SCM_EOL);
+  
 }
 
 
index e9c0e6df46cedfed76eb7faa5eb33518e6fb7553..f857ff55917f038a80652eb9136da4d41ed5c1ab 100644 (file)
@@ -41,8 +41,8 @@ Item::is_breakable (Grob*me)
   if (!dynamic_cast<Item*> (me))
     me->programming_error ("only items can be breakable.");
   
-  Item * i  =dynamic_cast<Item*> (me->get_parent (X_AXIS));
-  return (i) ?  Item::is_breakable (i) : to_boolean (me->get_property ("breakable"));
+  Item * i dynamic_cast<Item*> (me->get_parent (X_AXIS));
+  return (i) ? Item::is_breakable (i) : to_boolean (me->get_property ("breakable"));
 }
 
 Paper_column *
index a13b4315a6d869cf6b902c677f199cfd1cc80d9f..fdb59dc4927c061a9d6cc7a867fdfb49018076be 100644 (file)
@@ -64,7 +64,7 @@ Key_engraver::create_key (bool def)
 {
   if (!item_) 
     {
-      item_ = make_item ("KeySignature");
+      item_ = make_item ("KeySignature", key_ev_ ? key_ev_->self_scm () : SCM_EOL);
 
       item_->set_property ("c0-position",
                           get_property ("middleCPosition"));
@@ -73,7 +73,6 @@ Key_engraver::create_key (bool def)
        item_->set_property ("old-accidentals", get_property ("lastKeySignature"));
       item_->set_property ("new-accidentals", get_property ("keySignature"));
 
-      announce_grob (item_, key_ev_ ? key_ev_->self_scm () : SCM_EOL);
     }
 
   if (!def)
index 975b85b7751bdd7b97329992ed848c8c94e17196..1837911cbfaf29b904b555e6d45d1c51d8bf211c 100644 (file)
@@ -39,7 +39,7 @@ Ligature_bracket_engraver::Ligature_bracket_engraver ()
 Spanner *
 Ligature_bracket_engraver::create_ligature_spanner ()
 {
-  return make_spanner ("LigatureBracket");
+  return make_spanner ("LigatureBracket", SCM_EOL);
 }
 
 void
index 75c915d32208d7bba4c3f4a631419b73727c48ac..0e221aa38d86911a27de38af9e9a0c122ec29f6a 100644 (file)
@@ -205,8 +205,9 @@ Ligature_engraver::process_music ()
        }
 
       ligature_start_mom_ = now_mom ();
-      
-      announce_grob (ligature_, reqs_drul_[START]->self_scm ());
+
+      // TODO: dump cause into make_item/spanner. 
+      // announce_grob (ligature_, reqs_drul_[START]->self_scm ());
       override_stencil_callback ();
     }
 }
index b81897a819c997627e5cc1d651ad9a9395051748..45c838c53c9161aed394ba61ca133aecac917c27 100644 (file)
@@ -58,10 +58,9 @@ Lyric_engraver::process_music ()
 {
   if (event_)
     {
-      text_=  make_item ("LyricText");
+      text_=  make_item ("LyricText",event_->self_scm ());
       
       text_->set_property ("text", event_->get_property ("text"));
-      announce_grob (text_, event_->self_scm ());
     }
 }
 
index ce1d13e7b9b2e2545c0aadc3f4025124416642a2..d55249687277fd716800c822e91e449b63fe1f8e 100644 (file)
@@ -82,8 +82,7 @@ Mark_engraver::create_items (Music *ev)
   if (text_)
     return;
 
-  text_ = make_item ("RehearsalMark");
-  announce_grob (text_, ev->self_scm ());
+  text_ = make_item ("RehearsalMark", ev->self_scm ());
 }
 
 
index 6ae17ceedd6f2d298cc7268e3b93eb515b84cf63..6e54748f856d049d32196db951833cf96c436343 100644 (file)
@@ -87,9 +87,9 @@ Measure_grouping_engraver::process_music ()
                  continue;
                }
              
-             grouping_ = make_spanner ("MeasureGrouping");
+             grouping_ = make_spanner ("MeasureGrouping", SCM_EOL);
              grouping_->set_bound (LEFT, unsmob_grob (get_property ("currentMusicalColumn")));
-             announce_grob (grouping_, SCM_EOL);
+             
 
 
              stop_grouping_mom_ = now.main_part_ + Rational (grouplen - 1) * bl ;
index 867fc73d89b9f32d2a02a892cae7ea6b2c23deb7..4d6493fec8ade3b7331a92876a4156e47f26dfb2 100644 (file)
@@ -73,7 +73,7 @@ Mensural_ligature_engraver::Mensural_ligature_engraver ()
 Spanner *
 Mensural_ligature_engraver::create_ligature_spanner ()
 {
-  return make_spanner ("MensuralLigature");
+  return make_spanner ("MensuralLigature", SCM_EOL);
 }
 
 /*
index 2c8bd4659ee225ee0c4aec6eceeed5b45ba823bd..704707b3fbade3534ed683ce2cca222b8c7a7202 100644 (file)
@@ -79,9 +79,8 @@ Metronome_mark_engraver::create_items (Music *rq)
   if (text_)
     return;
 
-  text_ = make_item ("MetronomeMark");
+  text_ = make_item ("MetronomeMark", rq->self_scm () );
 
-  announce_grob (text_, rq->self_scm ());
 }
 
 
index 3971353441676daed87b36db818d91564aa95018..97a022230d697b3616fef4490f890f9c115e8810 100644 (file)
@@ -80,16 +80,16 @@ Multi_measure_rest_engraver::process_music ()
   if (rest_ev_ && !mmrest_
       && stop_moment_ > now_mom ())
     {
-      mmrest_ = make_spanner ("MultiMeasureRest");
+      mmrest_ = make_spanner ("MultiMeasureRest", rest_ev_->self_scm ());
 
       if (text_events_.size ())
        {
          for (int i = 0; i < text_events_.size (); i++)
            {
-             Spanner *sp
-               = make_spanner ("MultiMeasureRestText");
 
              Music* e = text_events_[i];
+             Spanner *sp
+               = make_spanner ("MultiMeasureRestText", e->self_scm () );
              SCM t = e->get_property ("text");
              SCM dir = e->get_property ("direction");
              sp->set_property ("text",t);
@@ -97,7 +97,6 @@ Multi_measure_rest_engraver::process_music ()
                sp->set_property ("direction",dir);
              
              numbers_.push (sp);
-             announce_grob (sp, e->self_scm ());
            }
 
          /*
@@ -120,9 +119,8 @@ Multi_measure_rest_engraver::process_music ()
       else
        {
          Spanner *sp
-           = make_spanner ("MultiMeasureRestNumber");
+           = make_spanner ("MultiMeasureRestNumber", rest_ev_->self_scm () );
          numbers_.push (sp);
-         announce_grob (sp, rest_ev_->self_scm ());
        }
 
       for (int i =0 ; i < numbers_.size (); i++)
@@ -131,7 +129,6 @@ Multi_measure_rest_engraver::process_music ()
          numbers_[i]->set_parent (mmrest_, Y_AXIS);
        }
       
-      announce_grob (mmrest_, rest_ev_->self_scm ());
       start_measure_
        = ly_scm2int (get_property ("currentBarNumber"));
     }
index 05f60c433eed1350ff98484d1e34bfa7e9c8c936..f867908ea51bab0f10c733be38a33d581da3aeef 100644 (file)
@@ -111,7 +111,7 @@ New_fingering_engraver::add_script (Grob * head,
 {
   Finger_tuple ft ;
 
-  Grob * g=  make_item ("Script");
+  Grob * g=  make_item ("Script", event->self_scm () );
   make_script_from_event (g, &ft.description_, context (),
                          event->get_property ("articulation-type"), 0);
   if (g)
@@ -119,7 +119,6 @@ New_fingering_engraver::add_script (Grob * head,
       ft.script_ =g ;
       
       articulations_.push (ft);
-      announce_grob (g, event->self_scm ());
  
       ft.script_->set_parent (head, X_AXIS);
     }
@@ -133,8 +132,7 @@ New_fingering_engraver::add_fingering (Grob * head,
 {
   Finger_tuple ft;
 
-  ft.script_ = make_item ("Fingering");
-  announce_grob (ft.script_, event->self_scm ());
+  ft.script_ = make_item ("Fingering", event->self_scm () );
   
   Side_position_interface::add_support (ft.script_, head);
 
index 190c0bcc93d749487eeae0838cb2457405fa7ac6..f5737a795d2b7bfa652e308c68f2ba83772d42b0 100644 (file)
@@ -87,12 +87,11 @@ Note_head_line_engraver::process_acknowledged_grobs ()
         Should probably store follow_ in line_, and suicide at some
         later point */
       if (follow_)
-       line_ = make_spanner ("VoiceFollower");
+       line_ = make_spanner ("VoiceFollower", head_->self_scm ());
          
       line_->set_bound (LEFT, last_head_);
       line_->set_bound (RIGHT, head_);
       
-      announce_grob (line_, head_->self_scm ());
 
       follow_ = false;
     }
index 8fb85cd94a23f576027a34e3404664f8eb87f53c..2cefa7b2becff953749ee8293cdefb8b1261b121 100644 (file)
@@ -57,16 +57,16 @@ Note_heads_engraver::process_music ()
 {
   for (int i=0; i < note_reqs_.size (); i++)
     {
-      Item *note = make_item ("NoteHead");
 
       Music * req = note_reqs_[i];
+      Item *note = make_item ("NoteHead", req->self_scm ());
       
       Duration dur = *unsmob_duration (req->get_property ("duration"));
 
       note->set_property ("duration-log", scm_int2num (dur.duration_log ()));
       if (dur.dot_count ())
        {
-         Item * d = make_item ("Dots");
+         Item * d = make_item ("Dots", note->self_scm ());
          Rhythmic_head::set_dots (note, d);
          
          if (dur.dot_count ()
@@ -74,7 +74,7 @@ Note_heads_engraver::process_music ()
            d->set_property ("dot-count", scm_int2num (dur.dot_count ()));
 
          d->set_parent (note, Y_AXIS);
-         announce_grob (d, SCM_EOL);
+         
          dots_.push (d);
        }
 
@@ -86,7 +86,6 @@ Note_heads_engraver::process_music ()
        pos += ly_scm2int (c0);
 
       note->set_property ("staff-position",   scm_int2num (pos));
-      announce_grob (note,req->self_scm ());
       notes_.push (note);
     }
 }
index a0c904e562027bd7824291010d69491fec3db1e9..b9e82ab32204ac0e4788db2af0ddadd587019d05 100644 (file)
@@ -51,9 +51,8 @@ Note_name_engraver::process_music ()
     }
   if (s.length ())
     {
-      Item * t = make_item ("NoteName");
+      Item * t = make_item ("NoteName", events_[0]->self_scm () );
       t->set_property ("text", scm_makfrom0str (s.to_str0 ()));
-      announce_grob (t, events_[0]->self_scm ());
       texts_.push (t);
     }
 }
index 20f629e1b670082a34511c0229d3bf5624b224e9..895fa8266078257c18e7747105665262af001913 100644 (file)
@@ -48,9 +48,9 @@ Ottava_spanner_engraver::process_music ()
       span_ = 0;
       if (ly_c_string_p (ott))
        {
-         span_  = make_spanner ("OttavaBracket");
+         span_  = make_spanner ("OttavaBracket", SCM_EOL);
          span_->set_property ("text", ott);
-         announce_grob (span_, SCM_EOL);
+         
 
          SCM c0 (get_property ("middleCPosition"));
          SCM oc0 (get_property ("originalCentralCPosition"));
index a941876ef3f798aceacea6a3f2e2e8716ca63131..daaf17b7c594adf90d26522ef9bc93969be1e317 100644 (file)
@@ -61,9 +61,8 @@ Part_combine_engraver::process_music ()
 
       if (Text_item::markup_p (text))
        {
-         text_ =  make_item ("CombineTextScript");
+         text_ =  make_item ("CombineTextScript", event_->self_scm () );
          text_->set_property ("text", text);
-         announce_grob (text_, event_->self_scm ());
        }
     }
 }
index 3090e9b615cce4ab84fe4f5d109bbf0b7a40d555..f8d157abc6242d1cd04f38d10e026a90c855a6fe 100644 (file)
@@ -133,16 +133,13 @@ Percent_repeat_engraver::process_music ()
        {
          finished_perc_ = perc_;
          typeset_perc ();
-         perc_ = make_spanner ("PercentRepeat");
+         perc_ = make_spanner ("PercentRepeat", repeat_->self_scm ());
          SCM col =get_property ("currentCommandColumn");
          perc_->set_bound (LEFT, unsmob_grob (col));
-         announce_grob (perc_, repeat_->self_scm ());
        }
       else if (repeat_sign_type_ == DOUBLE_MEASURE)
        {
-         double_percent_ = make_item ("DoublePercentRepeat");
-         announce_grob (double_percent_, repeat_->self_scm ());
-
+         double_percent_ = make_item ("DoublePercentRepeat", repeat_->self_scm ());
       /*
        forbid breaks on a % line. Should forbid all breaks, really.
        */
index 484c59f0c536177486b10c0483e731b466cb718d..5bb074307f11865035660b997fc550ef857dccb4 100644 (file)
@@ -150,10 +150,6 @@ Performance::add_element (Audio_element *p)
     {
       audio_staffs_.push (s);
     }
-  else if (Audio_column *c = dynamic_cast<Audio_column*> (p))
-    {
-      c->performance_ = this;
-    }
   audio_elem_p_list_ = new Killing_cons<Audio_element> (p, audio_elem_p_list_);
 }
 
index eb4f883596e95da59a9d16a6a900c587cb420dc8..1671f24127567f7e32ef94fee75db283848ffb2a 100644 (file)
@@ -132,7 +132,7 @@ Phrasing_slur_engraver::process_acknowledged_grobs ()
        {
          // push a new phrasing_slur onto stack.
          // (use temp. array to wait for all phrasing_slur STOPs)
-         Grob* phrasing_slur = make_spanner ("PhrasingSlur");
+         Grob* phrasing_slur = make_spanner ("PhrasingSlur", phrasing_slur_ev->self_scm ());
          Slur::set_interface (phrasing_slur); // can't remove.
 
 
@@ -143,7 +143,6 @@ Phrasing_slur_engraver::process_acknowledged_grobs ()
 
          start_phrasing_slurs.push (phrasing_slur);
          eventses_.push (phrasing_slur_ev);
-         announce_grob (phrasing_slur, phrasing_slur_ev->self_scm ());
        }
     }
   for (int i=0; i < start_phrasing_slurs.size (); i++)
index df0d26e6a208aa9bb0e38cd24bf7be58af09d445..a43268aa7729fbf74c2fe3b326ac5ee78939e60c 100644 (file)
@@ -185,12 +185,11 @@ Piano_pedal_engraver::process_music ()
          if (!p->line_spanner_)
            {
              String name  = String (p->name_) + "PedalLineSpanner";
-             p->line_spanner_ = make_spanner (name.to_str0 ());
-
              Music * rq = (p->event_drul_[START]  ?  p->event_drul_[START]  :  p->event_drul_[STOP]);
+             p->line_spanner_ = make_spanner (name.to_str0 (), rq->self_scm ());
+
 
              
-             announce_grob (p->line_spanner_, rq->self_scm ());
            }
       
          /* Choose the appropriate grobs to add to the line spanner
@@ -295,16 +294,13 @@ Piano_pedal_engraver::create_text_grobs (Pedal_info *p, bool mixed)
     {
       String propname = String (p->name_) + "Pedal";
 
-      p->item_ = make_item (propname.to_str0 ());
-      p->item_->set_property ("text", s);
-      Axis_group_interface::add_element (p->line_spanner_, p->item_);
-         
-      announce_grob (p->item_,
-                    (p->event_drul_[START]
-                     ? p->event_drul_[START]
-                     : p->event_drul_[STOP])->self_scm ());
+      p->item_ = make_item (propname.to_str0 (), (p->event_drul_[START]
+                                                 ? p->event_drul_[START]
+                                                 : p->event_drul_[STOP])->self_scm ());
     }
-
+  p->item_->set_property ("text", s);
+  Axis_group_interface::add_element (p->line_spanner_, p->item_);
+  
   if (!mixed)
     {
       p->event_drul_[START] = 0;
@@ -354,7 +350,7 @@ Piano_pedal_engraver::create_bracket_grobs (Pedal_info *p, bool mixed)
       p->start_ev_ = p->event_drul_[START];
       p->current_bracket_ev_ = p->event_drul_[START];
 
-      p->bracket_  = make_spanner ("PianoPedalBracket");
+      p->bracket_  = make_spanner ("PianoPedalBracket", p->event_drul_[START]->self_scm ());
 
       /*
        Set properties so that the stencil-creating function will
@@ -403,7 +399,6 @@ Piano_pedal_engraver::create_bracket_grobs (Pedal_info *p, bool mixed)
        
       */
       Axis_group_interface::add_element (p->line_spanner_, p->bracket_);             
-      announce_grob (p->bracket_, p->event_drul_[START]->self_scm ());
 
       if (!p->event_drul_[STOP])
        {
index 149ad7983122ba9efb576e072add9b570b0e6570..e63fc171b08af94602335e866a623221378163b7 100644 (file)
@@ -40,9 +40,9 @@ Rest_collision_engraver::process_acknowledged_grobs ()
          && rest_count_  < 2))
     return;
 
-  rest_collision_ = make_item ("RestCollision");
+  rest_collision_ = make_item ("RestCollision", SCM_EOL);
 
-  announce_grob (rest_collision_, SCM_EOL);
+  
   for (int i=0; i < note_columns_.size (); i++)
     Rest_collision::add_column (rest_collision_,note_columns_[i]);
 }
index 6426973f8ccc2f1529b41ad4d7c889e4c366b5ea..48621d2f61da2ea18fd710f1b7275edb8ad38868 100644 (file)
@@ -65,7 +65,7 @@ Rest_engraver::process_music ()
 {
   if (rest_req_ && !rest_) 
     {
-      rest_ = make_item ("Rest");
+      rest_ = make_item ("Rest", rest_req_->self_scm ());
 
       int durlog  = unsmob_duration (rest_req_->get_property ("duration"))-> duration_log ();
       
@@ -76,12 +76,12 @@ Rest_engraver::process_music ()
       
       if (dots)
        {
-         dot_ = make_item ("Dots");
+         dot_ = make_item ("Dots", SCM_EOL);
 
          Rhythmic_head::set_dots (rest_, dot_);
          dot_->set_parent (rest_, Y_AXIS);
          dot_->set_property ("dot-count", scm_int2num (dots));
-         announce_grob (dot_, SCM_EOL);
+         
        }
 
       Pitch *p = unsmob_pitch (rest_req_->get_property ("pitch"));
@@ -100,7 +100,6 @@ Rest_engraver::process_music ()
          rest_->set_property ("staff-position", scm_int2num (pos));
        }
       
-      announce_grob (rest_, rest_req_->self_scm ());
     }
 }
 
index 282c567fa602cf767feced8ab6aad9e894af9831..02dd91bb7dac365fc2e67fce2c5ca518fdb69e9f 100644 (file)
@@ -83,14 +83,13 @@ Rhythmic_column_engraver::process_acknowledged_grobs ()
     {
       if (!note_column_)
        {
-         note_column_ = make_item ("NoteColumn");
-         announce_grob (note_column_, rheads_[0]->self_scm ());
+         note_column_ = make_item ("NoteColumn",rheads_[0]->self_scm ());
 
-         spacing_ = make_item ("NoteSpacing");
+         spacing_ = make_item ("NoteSpacing", SCM_EOL);
          spacing_->set_property ("left-items", scm_cons (note_column_->self_scm (), SCM_EOL));
 
 
-         announce_grob (spacing_, SCM_EOL);
+         
 
          if (last_spacing_)
            {
index 1b4ebcf0c1610af43df753c58a0fd4009b75b319..7df239b5844e5005f20b9d756762c3e3c3550906 100644 (file)
@@ -151,15 +151,13 @@ Score_engraver::announce_grob (Grob_info info)
 {
   announce_infos_.push (info);
   pscore_->system_->typeset_grob (info.grob_);
+    elems_.push (info.grob_);
 }
 
 void
 Score_engraver::typeset_grob (Grob *elem)
 {
-  if (!elem)
-    programming_error ("Score_engraver: empty elt\n");
-  else
-    elems_.push (elem);
+  //  elems_.push (elem);
 }
 
 void
@@ -168,7 +166,8 @@ Score_engraver::typeset_all ()
   for (int i =0; i < elems_.size (); i++) 
     {
       Grob * elem = elems_[i];
-      
+
+#if 0
       if (Spanner *s = dynamic_cast <Spanner *> (elem))
        {
          /*
@@ -194,9 +193,14 @@ Score_engraver::typeset_all ()
          if (dynamic_cast<Item*> (s->get_parent (Y_AXIS)))
            programming_error ("Spanner Y-parent is an item.");
        }
-      else 
+#endif
+      
+       if (dynamic_cast<Item*> (elem)) 
        {
-         if (!elem->get_parent (X_AXIS))
+         if (!elem->get_parent (X_AXIS)
+             && elem != command_column_
+             && elem != musical_column_
+             )
            {
              bool br = to_boolean (elem->get_property ("breakable"));
              Axis_group_interface::add_element (br ? command_column_ : musical_column_, elem);
index 9fd77afb47abe14d7a1ea4f52aa922c4c66146e8..e8bf2c4f60023c2e0a129735746324a5cfdf5e0e 100644 (file)
@@ -64,8 +64,8 @@ Script_column_engraver::process_acknowledged_grobs ()
 {
   if (!scol_ && scripts_.size () > 1)
     {
-      scol_ = make_item ("ScriptColumn");
-      announce_grob (scol_, SCM_EOL);
+      scol_ = make_item ("ScriptColumn", SCM_EOL);
+      
     }
 
   if (scol_)
index 8ebf701bbf5f7a584413aebd868c3835a364991c..4b8fa5306e804077ee3914c5ba9be2f378982efb 100644 (file)
@@ -132,7 +132,7 @@ Script_engraver::process_music ()
     {
       Music* l=scripts_[i].event_;
 
-      Grob * p = make_item ("Script");
+      Grob * p = make_item ("Script", l->self_scm ());
 
       make_script_from_event (p, &scripts_[i].description_, context (),
                              l->get_property ("articulation-type"),
@@ -144,9 +144,6 @@ Script_engraver::process_music ()
       SCM force_dir = l->get_property ("direction");
       if (is_direction (force_dir) && to_dir (force_dir))
        p->set_property ("direction", force_dir);
-      
-      if (p)
-       announce_grob (p, l->self_scm ());
     }
 }
 
index 3ab5b422562c93b29bdb49f7bda903e4edbd60b2..b9b3fda402fe20542577f37ad2bc8cefa77b4f13 100644 (file)
@@ -75,9 +75,9 @@ Separating_line_group_engraver::process_music ()
 
   if (!sep_span_)
     {
-      sep_span_ = make_spanner ("SeparatingGroupSpanner");
+      sep_span_ = make_spanner ("SeparatingGroupSpanner", SCM_EOL);
 
-      announce_grob (sep_span_, SCM_EOL);
+      
       sep_span_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
     }
 }
@@ -135,23 +135,23 @@ Separating_line_group_engraver::acknowledge_grob (Grob_info i)
 
   if (!p_ref_)
     {
-      p_ref_ = make_item ("SeparationItem");
+      p_ref_ = make_item ("SeparationItem", SCM_EOL);
 
       if (ib)
        {
          p_ref_->set_property ("breakable", SCM_BOOL_T);
          context ()->set_property ("breakableSeparationItem", p_ref_->self_scm ());
        }
-      announce_grob (p_ref_, SCM_EOL);
+      
 
       if (to_boolean (get_property ("createSpacing"))
          && p_ref_ == break_item_)
        {
-         Item *it  = make_item ("StaffSpacing");
+         Item *it  = make_item ("StaffSpacing", SCM_EOL);
          current_spacings_.staff_spacing_ = it;
          it->set_property ("left-items", scm_cons (break_item_->self_scm (), SCM_EOL));
          
-         announce_grob (it, SCM_EOL);
+         
 
          if (int i = last_spacings_.note_spacings_.size ())
            {
index 2ba59b6250acd27e86ebaf98469e451375178b93..8b2c2400d7064b8ee62052eda4d7b239d23dfef2 100644 (file)
@@ -110,8 +110,7 @@ Slash_repeat_engraver::process_music ()
 {
   if (repeat_ && now_mom () == next_moment_)
     {
-      beat_slash_ = make_item ("RepeatSlash");
-      announce_grob (beat_slash_, repeat_->self_scm ());
+      beat_slash_ = make_item ("RepeatSlash", repeat_->self_scm ());
       next_moment_ = next_moment_ + body_length_;
 
       get_global_context ()->add_moment_to_process (next_moment_);
index 91498a7240d0d4f10152e60db82866c0db1601d3..8d9e2b1934d9a677d0e9e0eebfbfcc0a81e0776c 100644 (file)
@@ -149,7 +149,7 @@ Slur_engraver::process_music ()
        {
          // push a new slur onto stack.
          // (use temp. array to wait for all slur STOPs)
-         Grob* slur = make_spanner ("Slur");
+         Grob* slur = make_spanner ("Slur", slur_ev->self_scm ());
          Slur::set_interface (slur); // cannot remove yet!
 
 
@@ -160,7 +160,6 @@ Slur_engraver::process_music ()
          
          start_slurs.push (slur);
          events_.push (slur_ev);
-         announce_grob (slur, slur_ev->self_scm ());
        }
     }
 
index 6985a7903a266bd024255ca9da6f077ae20356da..05803acdab8d297af06751e645faabfffa5186fa 100644 (file)
@@ -78,9 +78,9 @@ Spacing_engraver::process_music ()
 {
   if (!spacing_)
     {
-      spacing_ = make_spanner ("SpacingSpanner");
+      spacing_ = make_spanner ("SpacingSpanner", SCM_EOL);
       spacing_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));  
-      announce_grob (spacing_, SCM_EOL);
+      
     }
 }
 
index 2bd12b0b3190cc58163180429827ccca815ac851..fc841e4bac63a81402af7950ed38730568d34a55 100644 (file)
@@ -65,8 +65,8 @@ Span_arpeggio_engraver::process_acknowledged_grobs ()
   if (!span_arpeggio_ && arpeggios_.size () > 1
       && to_boolean (get_property ("connectArpeggios")))
     {
-      span_arpeggio_ = make_item ("Arpeggio");
-      announce_grob (span_arpeggio_, SCM_EOL);      
+      span_arpeggio_ = make_item ("Arpeggio", SCM_EOL);
+            
     }
 }
 
index b2ab37db86d0173977016644001cadc88245b575..5842c230b099f08556d846bf656898a01a860991 100644 (file)
@@ -51,10 +51,10 @@ Span_bar_engraver::acknowledge_grob (Grob_info i)
 
       if (bars_.size () >= 2 && !spanbar_) 
        {
-         spanbar_ = make_item ("SpanBar");
+         spanbar_ = make_item ("SpanBar", SCM_EOL);
 
          spanbar_->set_parent (bars_[0], X_AXIS);
-         announce_grob (spanbar_, SCM_EOL);
+         
        }
     }
 }
index 974c5ae1ebd1af643033a76607080882766dd278..e4f0574dd661bfe0673fc21bf39b782aab59a46d 100644 (file)
@@ -46,11 +46,11 @@ Staff_symbol_engraver::process_music ()
 {
   if (!span_)
     {
-      span_ = make_spanner ("StaffSymbol");
+      span_ = make_spanner ("StaffSymbol", SCM_EOL);
   
       span_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
 
-      announce_grob (span_, SCM_EOL);
+      
     }
 }
 
index b8443e75b5b36aa05f3c86e6ce9c3a27edb2beba..7c103de38aa93530039a1e6b7e16fc71d0bdf98e 100644 (file)
@@ -49,9 +49,9 @@ Stanza_number_engraver::process_music ()
     {
       last_stanza_ = stanza;
       
-      text_ = make_item ("StanzaNumber");
+      text_ = make_item ("StanzaNumber", SCM_EOL);
       text_->set_property ("text", stanza);
-      announce_grob (text_, SCM_EOL);
+      
     }
 }
 
index d594868da30bd9121150cc3c717013e9c438ff2e..be02b754649dcf6a1fe67f8040baa3106f450921 100644 (file)
@@ -65,7 +65,10 @@ Stem_engraver::acknowledge_grob (Grob_info i)
       
       if (!stem_) 
        {
-         stem_ = make_item ("Stem");
+         /*
+           We announce the cause of the head as cause of the stem.
+           The stem needs a rhythmic structure to fit it into a beam.  */
+         stem_ = make_item ("Stem",i.music_cause ()->self_scm ());
 
          stem_->set_property ("duration-log", scm_int2num (duration_log));
 
@@ -100,8 +103,7 @@ Stem_engraver::acknowledge_grob (Grob_info i)
 
              if (tremolo_flags)
                {
-                 tremolo_ = make_item ("StemTremolo");
-                 announce_grob (tremolo_, tremolo_ev_->self_scm ());
+                 tremolo_ = make_item ("StemTremolo", tremolo_ev_->self_scm ());
 
                  /*
                    The number of tremolo flags is the number of flags of
@@ -117,10 +119,6 @@ Stem_engraver::acknowledge_grob (Grob_info i)
                }
            }
 
-         /*
-           We announce the cause of the head as cause of the stem.
-           The stem needs a rhythmic structure to fit it into a beam.  */
-         announce_grob (stem_, i.music_cause ()->self_scm ());
        }
 
       if (Stem::duration_log (stem_) != duration_log)
index a0fdceb4dd1abcd185fe0321845286bdedb848f2..39e21f3dc4c08332b72415a7cc249276262bb3f5 100644 (file)
@@ -73,10 +73,10 @@ System_start_delimiter_engraver::process_music ()
   if (!delim_)
     {
       SCM delim_name =get_property ("systemStartDelimiter");
-      delim_ = make_spanner_from_properties (context (), delim_name);
+      delim_ = make_spanner_from_properties (this, delim_name, SCM_EOL);
 
       delim_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
-      announce_grob (delim_, SCM_EOL);
+      
     }
 }
 void
index 3f8d7e67101622ddef097b3d6ce21b523a25fa88..177756601f91555a3f0d5f10210ae958b8789b39 100644 (file)
@@ -52,10 +52,12 @@ System::typeset_grob (Grob * elem)
 {
   if (elem->pscore_)
     programming_error ("Adding element twice.");
-  
-  elem->pscore_ = pscore_;
-  Pointer_group_interface::add_grob (this, ly_symbol2scm ("all-elements"), elem);
-  scm_gc_unprotect_object (elem->self_scm ());
+  else
+    {
+      elem->pscore_ = pscore_;
+      Pointer_group_interface::add_grob (this, ly_symbol2scm ("all-elements"), elem);
+      scm_gc_unprotect_object (elem->self_scm ());
+    }
 }
 
 // todo: use map.
index ecca3ed9e5386cc9b8e1c275ae9f2724611e81ab..3a6285ec009d32103aa154243de5aeb53bc9e5de 100644 (file)
@@ -73,9 +73,9 @@ Tab_note_heads_engraver::process_music ()
       int number_of_strings = ((int) ly_length (stringTunings));
       bool high_string_one = to_boolean (get_property ("highStringOne"));
 
-      Item * note  = make_item ("TabNoteHead");
       
       Music * event = note_events_[i];
+      Item * note  = make_item ("TabNoteHead", event->self_scm ());
 
       
       Music * tabstring_event=0;
@@ -115,7 +115,7 @@ Tab_note_heads_engraver::process_music ()
 
       if (dur.dot_count ())
        {
-         Item * d = make_item ("Dots");
+         Item * d = make_item ("Dots", event->self_scm ());
          Rhythmic_head::set_dots (note, d);
          
          if (dur.dot_count ()
@@ -123,7 +123,7 @@ Tab_note_heads_engraver::process_music ()
            d->set_property ("dot-count", scm_int2num (dur.dot_count ()));
 
          d->set_parent (note, Y_AXIS);
-         announce_grob (d, SCM_EOL);
+         
          dots_.push (d);
        }
       
@@ -152,7 +152,6 @@ Tab_note_heads_engraver::process_music ()
       note->set_property ("text", text);      
       
       note->set_property ("staff-position", scm_int2num (pos));
-      announce_grob (note, event->self_scm ());
       notes_.push (note);
     }
 }
index d398f4b2e7f697243c12b202513c3c3c656d5677..ca3bd57347bbf8edc2dad201096c2c44d6d639ce 100644 (file)
@@ -84,7 +84,7 @@ Text_engraver::process_acknowledged_grobs ()
       Music * r = evs_[i];
       
       // URG: Text vs TextScript
-      Item *text = make_item ("TextScript");
+      Item *text = make_item ("TextScript", r->self_scm ());
 
       
       Axis ax = Y_AXIS;
@@ -109,7 +109,6 @@ Text_engraver::process_acknowledged_grobs ()
       SCM mark = r->get_property ("text");
 
       text->set_property ("text", mark);
-      announce_grob (text, r->self_scm ());
       texts_.push (text);
     }
 }
index c5fb70991a30a64da1117ef375c7b7e2992fe841..6ffd0c8847360b0451aae323dd18a5da5a0d8431 100644 (file)
@@ -81,11 +81,10 @@ Text_spanner_engraver::process_music ()
       else
        {
          current_req_ = req_drul_[START];
-         span_  = make_spanner ("TextSpanner");
+         span_  = make_spanner ("TextSpanner", req_drul_[START]->self_scm ());
 
          
          Side_position_interface::set_axis (span_, Y_AXIS);
-         announce_grob (span_, req_drul_[START]->self_scm ());
          req_drul_[START] = 0;
        }
     }
index ee2fdab41dfbef0ea00c3e687de47274ac10922b..c1a145184ccc7bdfa8da6c87bcfba4b8a6e72e60 100644 (file)
@@ -97,21 +97,20 @@ Tie_engraver::acknowledge_grob (Grob_info i)
              && ly_c_equal_p (right_mus->get_property ("pitch"),
                             left_mus->get_property ("pitch")))
            {
-             Grob * p = make_spanner ("Tie");
+             Grob * p = make_spanner ("Tie", last_event_->self_scm ());
              Tie::set_interface (p); // cannot remove yet!
          
              Tie::set_head (p, LEFT, th);
              Tie::set_head (p, RIGHT, h);
          
              ties_.push (p);
-             announce_grob (p, last_event_->self_scm ());
            }
        }
 
       if (ties_.size () && ! tie_column_)
        {
-         tie_column_ = make_spanner ("TieColumn");
-         announce_grob (tie_column_, SCM_EOL);
+         tie_column_ = make_spanner ("TieColumn", SCM_EOL);
+         
        }
 
       if (tie_column_)
index c29863f9896cdb4c0a9ec910119b4d81116b48cf..2a5a456ffc93bf753c0172f1eeab08c080fa7e49 100644 (file)
@@ -62,11 +62,8 @@ Time_signature_engraver::process_music ()
   
       
       last_time_fraction_ = fr; 
-      time_signature_ = make_item ("TimeSignature");
+      time_signature_ = make_item ("TimeSignature",SCM_EOL);
       time_signature_->set_property ("fraction",fr);
-
-      if (time_signature_)
-       announce_grob (time_signature_, SCM_EOL);
     }
 }
 
index cb0658bf847f41b4d9f3c39a555e3e0840343e09..2c433a008619eda8e823908dfb2b76dd61b23422 100644 (file)
@@ -13,6 +13,7 @@
 #include "warn.hh"
 #include "item.hh"
 #include "spanner.hh"
+#include "engraver.hh"
 
 /*
   Grob descriptions (ie. alists with layout properties) are
@@ -195,16 +196,27 @@ updated_grob_properties (Context * tg, SCM sym)
 }
 
 Item*
-make_item_from_properties (Context * tg, SCM x)
+make_item_from_properties (Translator *tr, SCM x, SCM cause)
 {
+  Context *tg = tr->context ();
+  
   SCM props = updated_grob_properties (tg, x);
-  return new Item (props);
+  Item *it= new Item (props);
+
+  dynamic_cast<Engraver*>(tr)->announce_grob (it, cause);
+  
+  return it;
 }
 
 Spanner*
-make_spanner_from_properties (Context *tg, SCM x)
+make_spanner_from_properties (Translator *tr, SCM x, SCM cause)
 {
+  Context *tg = tr->context ();
+  
   SCM props = updated_grob_properties (tg, x);
-  return new Spanner (props);
-}
+  Spanner *it= new Spanner (props);
 
+  dynamic_cast<Engraver*>(tr)->announce_grob (it, cause);
+  
+  return it;
+}
index 6ec076d044256679622fc8898970dea67b5f8bf5..51a0fa56f8cac80c8350b26c0b062a93e2de85d8 100644 (file)
@@ -70,7 +70,7 @@ Tuplet_engraver::process_acknowledged_grobs ()
       if (i < started_spanners_.size () && started_spanners_[i])
        continue;
 
-      Spanner* glep = make_spanner ("TupletBracket");
+      Spanner* glep = make_spanner ("TupletBracket", time_scaled_musics_ [i]->self_scm ());
 
       if (i >= started_spanners_.size ())
        started_spanners_.push (glep);
@@ -85,7 +85,6 @@ Tuplet_engraver::process_acknowledged_grobs ()
          glep->set_property ("text", t);
        }
       
-      announce_grob (glep, time_scaled_musics_ [i]->self_scm ());
     }
 }
 
index e8197fc1fa5e302ae6bdb16363ee0a2ac2bf2aee..b6d6e5b6b8ea0de363ab93552a6173d8b6784c1f 100644 (file)
@@ -48,7 +48,7 @@ Vaticana_ligature_engraver::Vaticana_ligature_engraver ()
 Spanner *
 Vaticana_ligature_engraver::create_ligature_spanner ()
 {
-  return make_spanner ("VaticanaLigature");
+  return make_spanner ("VaticanaLigature", SCM_EOL);
 }
 
 bool
index b703745c4b5be2c852930d7ddf1e4fee1cf59936..69fa04e42d29543d4e6de9890c65546a77d09c3b 100644 (file)
@@ -35,9 +35,9 @@ Vertical_align_engraver::process_music ()
 {
   if (!valign_)
     {
-      valign_ =make_spanner ("VerticalAlignment");
+      valign_ =make_spanner ("VerticalAlignment", SCM_EOL);
       valign_->set_bound (LEFT,unsmob_grob (get_property ("currentCommandColumn")));
-      announce_grob (valign_ , SCM_EOL);
+      
     }
 }
 
index fd313e476297a9bdc3bd121251c16efe5a1adf13..248d5740e9f0c46f9f39c7f6887ad6e5f528ba3d 100644 (file)
@@ -165,9 +165,9 @@ Volta_engraver::process_music ()
     {
       started_mom_ = now_mom () ;
 
-      volta_span_ = make_spanner ("VoltaBracket");
+      volta_span_ = make_spanner ("VoltaBracket", SCM_EOL);
 
-      announce_grob (volta_span_, SCM_EOL);
+      
       volta_span_->set_property ("text", start_string_);
     }
 }
index bdbe2d393d53b030b980c98aeec5016d50c7b3a6..62235b68ff5ef14aac836f8812149e099893afbe 100644 (file)
@@ -646,11 +646,11 @@ without context specification. Called  from parser."
 (define-public (set-accidental-style style . rest)
   "Set accidental style to STYLE. Optionally takes a context argument,
 e.g. 'Staff or 'Voice. The context defaults to Voice, except for piano styles, which
-use PianoStaff as a context. "
+use GrandStaff as a context. "
   (let ((context (if (pair? rest)
                     (car rest) 'Staff))
        (pcontext (if (pair? rest)
-                     (car rest) 'PianoStaff)))
+                     (car rest) 'GrandStaff)))
     (ly:export
      (cond
       ;; accidentals as they were common in the 18th century.
@@ -694,14 +694,14 @@ use PianoStaff as a context. "
       ((equal? style 'piano)
        (set-accidentals-properties #f
                                   '( Staff (same-octave . 0) (any-octave . 0) (same-octave . 1)
-                                           PianoStaff (any-octave . 0) (same-octave . 1))
+                                           GrandStaff (any-octave . 0) (same-octave . 1))
                                   '()
                                   pcontext))
       ((equal? style 'piano-cautionary)
        (set-accidentals-properties #f
                                   '(Staff (same-octave . 0))
                                   '(Staff (any-octave . 0) (same-octave . 1)
-                                          PianoStaff (any-octave . 0) (same-octave . 1))
+                                          GrandStaff (any-octave . 0) (same-octave . 1))
                                   pcontext))
       ;; do not set localKeySignature when a note alterated differently from
       ;; localKeySignature is found.