]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.33
authorfred <fred>
Tue, 26 Mar 2002 22:47:02 +0000 (22:47 +0000)
committerfred <fred>
Tue, 26 Mar 2002 22:47:02 +0000 (22:47 +0000)
124 files changed:
flower/include/hash-table.hh
lily/align-element.cc
lily/auto-beam-engraver.cc
lily/bar-engraver.cc
lily/bar-number-engraver.cc
lily/bar.cc
lily/beam-engraver.cc
lily/beam.cc
lily/break-align-item.cc
lily/breathing-sign-engraver.cc
lily/breathing-sign.cc
lily/chord-name-engraver.cc
lily/chord-tremolo-engraver.cc
lily/clef-engraver.cc
lily/clef-item.cc
lily/collision.cc
lily/dot-column.cc
lily/dots.cc
lily/dynamic-engraver.cc
lily/extender-engraver.cc
lily/extender-spanner.cc
lily/grace-align-item.cc
lily/hara-kiri-vertical-group-spanner.cc
lily/hyphen-engraver.cc
lily/hyphen-spanner.cc
lily/include/align-element.hh
lily/include/auto-beam-engraver.hh
lily/include/bar-engraver.hh
lily/include/bar-number-engraver.hh
lily/include/bar.hh
lily/include/beam-engraver.hh
lily/include/beam.hh
lily/include/break-align-item.hh
lily/include/breathing-sign-engraver.hh
lily/include/breathing-sign.hh
lily/include/chord-name-engraver.hh
lily/include/clef-item.hh
lily/include/collision.hh
lily/include/dot-column.hh
lily/include/dots.hh
lily/include/extender-engraver.hh
lily/include/extender-spanner.hh
lily/include/font-size-engraver.hh
lily/include/grace-align-item.hh
lily/include/hara-kiri-vertical-group-spanner.hh
lily/include/hyphen-engraver.hh
lily/include/hyphen-spanner.hh
lily/include/key-engraver.hh
lily/include/key-performer.hh
lily/include/local-key-item.hh
lily/include/lyric-engraver.hh
lily/include/lyric-performer.hh
lily/include/multi-measure-rest.hh
lily/include/note-column.hh
lily/include/note-head.hh
lily/include/note-heads-engraver.hh
lily/include/note-performer.hh
lily/include/repeat-engraver.hh
lily/include/rest-collision.hh
lily/include/rest-engraver.hh
lily/include/rest.hh
lily/include/rhythmic-head.hh
lily/include/score-element.hh
lily/include/script-column.hh
lily/include/script.hh
lily/include/slur-engraver.hh
lily/include/slur.hh
lily/include/span-bar.hh
lily/include/staff-performer.hh
lily/include/stem.hh
lily/include/tempo-performer.hh
lily/include/tie-column.hh
lily/include/tie-performer.hh
lily/include/tie.hh
lily/include/time-signature-engraver.hh
lily/include/time-signature-performer.hh
lily/include/timing-translator.hh
lily/include/translator-group.hh
lily/include/translator.hh
lily/include/tuplet-spanner.hh
lily/include/volta-spanner.hh
lily/key-engraver.cc
lily/key-performer.cc
lily/local-key-engraver.cc
lily/local-key-item.cc
lily/lyric-engraver.cc
lily/lyric-performer.cc
lily/mark-engraver.cc
lily/multi-measure-rest-engraver.cc
lily/multi-measure-rest.cc
lily/note-column.cc
lily/note-head.cc
lily/note-heads-engraver.cc
lily/note-name-engraver.cc
lily/note-performer.cc
lily/repeat-engraver.cc
lily/rest-collision.cc
lily/rest-engraver.cc
lily/rest.cc
lily/rhythmic-head.cc
lily/score-element.cc
lily/script-column.cc
lily/script-engraver.cc
lily/script.cc
lily/slur-engraver.cc
lily/slur.cc
lily/span-bar.cc
lily/staff-performer.cc
lily/stem.cc
lily/super-element.cc
lily/tempo-performer.cc
lily/text-engraver.cc
lily/tie-column.cc
lily/tie-engraver.cc
lily/tie-performer.cc
lily/tie.cc
lily/time-signature-engraver.cc
lily/time-signature-performer.cc
lily/timing-translator.cc
lily/translator-group.cc
lily/translator.cc
lily/tuplet-engraver.cc
lily/tuplet-spanner.cc
lily/volta-spanner.cc

index aec7ae31afa721458f689bfd054702223d8590ab..bd437e6e972d7215f9546fcce539d789cbd809b0 100644 (file)
@@ -61,9 +61,12 @@ public:
   int lookup  (K s, unsigned int initial_hash)
     {
       int sz =dict_arr_.size ();
-      int i = initial_hash % sz;
+      initial_hash = initial_hash % sz; 
+      int i;
       int j = 0;
       while (j <= sz/2) {
+       i = (initial_hash + j*j) % sz;
+       
        if (dict_arr_[i].free_b_)
          return i;
 
@@ -71,7 +74,6 @@ public:
          return i;
 
        j++;
-       i = (i + j*j) % sz;
       }
 
       
index 2f5c617ac64fea029aea2ec9438de2ab31824711..c75902783b546eabf421fc36630cb62d60ba288f 100644 (file)
 #include "dimension-cache.hh"
 
 void
-Align_element::do_post_processing()
+Align_element::after_line_breaking()
 {
   if (axis () == Y_AXIS)
     do_side_processing ();
 }
 
 void
-Align_element::do_pre_processing ()
+Align_element::before_line_breaking ()
 {
   if (axis () == X_AXIS)
     do_side_processing ();
index 95052f5e1dc5577f91c10d613c087c12f0191f4a..779d0781b0c196e0964dd18e59922438425d881f 100644 (file)
@@ -43,7 +43,7 @@ Auto_beam_engraver::do_try_music (Music*)
 } 
 
 void
-Auto_beam_engraver::do_process_requests ()
+Auto_beam_engraver::do_process_music ()
 {
   consider_end_and_begin (shortest_mom_);
 }
index a9e1da79575272fc76aca5471b5bd8738c5f5864..68c8760492952f82f607cd4806943128e87b4bcd 100644 (file)
@@ -44,7 +44,11 @@ Bar_engraver::create_bar ()
 #if 0
       /*
        urg.  Why did I implement this? And did I implement this so
-       clumsily?  */
+       clumsily?
+
+       input/test/just-friends.ly
+       Maybe a staffgroup of just one staff would be a better solution.
+      */
       SCM prop = get_property ("barAtLineStart");
       if (to_boolean (prop))
        {
@@ -103,7 +107,7 @@ Bar_engraver::do_removal_processing ()
 }
 
 void
-Bar_engraver::do_process_requests()
+Bar_engraver::do_process_music()
 {  
   Translator * t = daddy_grav_l  ()->get_simple_translator ("Timing_engraver");
 
index 1715fde5ded9c9eb23640871695f339173dc95d2..c334d087ee791a9cafd8d7811d4b0d2e9b016ed7 100644 (file)
@@ -22,7 +22,7 @@ Bar_number_engraver::Bar_number_engraver()
 
 
 void
-Bar_number_engraver::do_process_requests ()
+Bar_number_engraver::do_process_music ()
 {
   Translator *tr = daddy_grav_l ()->get_simple_translator ("Timing_engraver");
   Timing_translator *time = dynamic_cast<Timing_translator*>(tr);
index e4f66f1d35763b8f488db84228b9a7d0996c3181..7bcccfed32ea20ce9005359bdaa7107ef0d040f7 100644 (file)
@@ -5,7 +5,10 @@
 
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
+#include <math.h>
 
+#include "main.hh"
+#include "dimensions.hh"
 #include "dimension-cache.hh"
 #include "bar.hh"
 #include "string.hh"
@@ -13,7 +16,7 @@
 #include "paper-def.hh"
 #include "lookup.hh"
 #include "debug.hh"
-
+#include "all-font-metrics.hh"
 
 Bar::Bar ()
 {
@@ -32,14 +35,151 @@ Bar::get_bar_size () const
 Molecule 
 Bar::do_brew_molecule () const
 {
-  String s = ly_scm2string (get_elt_property ("glyph"));
-  return lookup_l ()->bar (s, get_bar_size (), paper_l ());
+  SCM s = get_elt_property ("glyph");
+  if (gh_string_p (s))
+    {
+      String str  =ly_scm2string (s);
+      if (str == "bracket")
+       return staff_bracket (get_bar_size ());
+      else if  (str == "brace")
+       return staff_brace (get_bar_size ());
+      else
+       return compound_barline (str, get_bar_size ());
+    }
+  return Molecule ();
+}
+
+
+Molecule
+Bar::staff_bracket (Real height) const 
+{
+  Paper_def* p= paper_l ();
+  SCM at = gh_list (ly_symbol2scm ("bracket"),
+                   gh_double2scm (p->get_var("bracket_arch_angle")),
+                   gh_double2scm (p->get_var("bracket_arch_width")),
+                   gh_double2scm (p->get_var("bracket_arch_height")),
+                   gh_double2scm (p->get_var("bracket_width")),
+                   gh_double2scm (height),
+                   gh_double2scm (p->get_var("bracket_arch_thick")),
+                   gh_double2scm (p->get_var("bracket_thick")),
+                   SCM_UNDEFINED);
+
+  Real staff_space = p->get_var ("interline");
+  Box b (Interval (0, 1.5 * staff_space), Interval (-height/2,height/2));
+  Molecule mol (b, at);
+  
+  mol.translate_axis (- mol.dim_[X_AXIS].length () / 2, X_AXIS);
+  return mol;
 }
 
+Molecule
+Bar::compound_barline (String str, Real h) const
+{
+  Real kern = paper_l()->get_var ("bar_kern");
+  Real thinkern = paper_l()->get_var ("bar_thinkern");
+
+  Molecule thin = simple_barline (paper_l()->get_var ("barthick_thin"), h);
+  Molecule thick = simple_barline (paper_l()->get_var ("barthick_thick"), h);
+  Molecule colon = lookup_l ()->afm_find ("dots-repeatcolon");  
+
+  Molecule m;
+  
+  if (str == "")
+    {
+      return lookup_l ()->blank (Box (Interval(0, 0), Interval (-h/2, h/2)));
+    }
+  if (str == "scorepostbreak")
+    {
+      return simple_barline (paper_l ()->get_var ("barthick_score"), h);
+    }
+  else if (str == "|")
+    {
+      return thin;
+    }
+  else if (str == "|.")
+    {
+      m.add_at_edge (X_AXIS, LEFT, thick, 0);      
+      m.add_at_edge (X_AXIS, LEFT, thin, kern);
+    }
+  else if (str == ".|")
+    {
+      m.add_at_edge (X_AXIS, RIGHT, thick, 0);
+      m.add_at_edge (X_AXIS, RIGHT, thin, kern);
+    }
+  else if (str == ":|")
+    {
+      m.add_at_edge (X_AXIS, LEFT, thick, 0);
+      m.add_at_edge (X_AXIS, LEFT, thin, kern);
+      m.add_at_edge (X_AXIS, LEFT, colon, kern);      
+    }
+  else if (str == "|:")
+    {
+      m.add_at_edge (X_AXIS, RIGHT, thick, 0);
+      m.add_at_edge (X_AXIS, RIGHT, thin, kern);
+      m.add_at_edge (X_AXIS, RIGHT, colon, kern);      
+    }
+  else if (str == ":|:")
+    {
+      m.add_at_edge (X_AXIS, LEFT, thick, thinkern);
+      m.add_at_edge (X_AXIS, LEFT, colon, kern);      
+      m.add_at_edge (X_AXIS, RIGHT, thick, kern);
+      m.add_at_edge (X_AXIS, RIGHT, colon, kern);      
+    }
+  else if (str == ".|.")
+    {
+      m.add_at_edge (X_AXIS, LEFT, thick, thinkern);
+      m.add_at_edge (X_AXIS, RIGHT, thick, kern);      
+    }
+  else if (str == "||")
+    {
+      m.add_at_edge (X_AXIS, RIGHT, thin, 0);
+      m.add_at_edge (X_AXIS, RIGHT, thin, thinkern);      
+    }
+
+  return m;
+}
+
+/*
+  ugh. Suck me plenty.
+ */
+Molecule
+Bar::staff_brace (Real y)  const
+{
+  Real staffht  = paper_l ()->get_var ("staffheight");
+  int staff_size  = int (rint (staffht ));
+
+  // URG
+  Real step  = 1.0;
+  int minht  = 2 * staff_size;
+  int maxht = 7 *  minht;
+  int idx = int (((maxht - step) <? y - minht) / step);
+  idx = idx >? 0;
+
+  SCM l = ly_eval_str ("(style-to-cmr \"brace\")");
+  String nm = "feta-braces";
+  if (l != SCM_BOOL_F)
+    nm = ly_scm2string (gh_cdr (l));
+  nm += to_str (staff_size);
+  SCM e =gh_list (ly_symbol2scm ("char"), gh_int2scm (idx), SCM_UNDEFINED);
+  SCM at = (e);
+
+  at = fontify_atom (all_fonts_global_p->find_font (nm), at);
+  
+  Box b ( Interval (-y/2,y/2),
+          Interval (0,0));
+  return Molecule(b, at);
+}
+  
+
+Molecule
+Bar::simple_barline (Real w, Real h) const
+{
+  return lookup_l ()->filledbox (Box (Interval(0,w), Interval(-h/2, h/2)));
+}
 
 
 void
-Bar::do_pre_processing ()
+Bar::before_line_breaking ()
 {
   SCM g = get_elt_property ("glyph");
   Direction bsd = break_status_dir ();
index 15606f34b841b639914b234c4d88040d959f5b20..cb65aa5863789a4c0f08b06f3d165f2088262cb6 100644 (file)
@@ -39,7 +39,7 @@ Beam_engraver::do_try_music (Music *m)
 
       if (d == STOP && !beam_p_)
        {
-         m->warning (_ ("no beam to end"));
+         m->warning (_ ("can't find start of beam"));
          return false;
        }
       reqs_drul_[d ] = c;
@@ -50,12 +50,12 @@ Beam_engraver::do_try_music (Music *m)
 
 
 void
-Beam_engraver::do_process_requests ()
+Beam_engraver::do_process_music ()
 {
   if (reqs_drul_[STOP])
     {
       if (!beam_p_)
-       reqs_drul_[STOP]->warning (_("no beam to end"));
+       reqs_drul_[STOP]->warning (_("can't find start of beam"));
       prev_start_req_ =0;
       finished_beam_p_ = beam_p_;
       finished_beam_info_p_ = beam_info_p_;
@@ -84,7 +84,7 @@ Beam_engraver::do_process_requests ()
     {
       if (beam_p_)
        {
-         reqs_drul_[START]->warning (_ ("Already have a beam"));
+         reqs_drul_[START]->warning (_ ("already have a beam"));
          return;
        }
 
@@ -139,7 +139,7 @@ Beam_engraver::do_removal_processing ()
   typeset_beam ();
   if (beam_p_)
     {
-      prev_start_req_->warning (_ ("unfinished beam"));
+      prev_start_req_->warning (_ ("unterminated beam"));
       finished_beam_p_ = beam_p_;
       finished_beam_info_p_ = beam_info_p_;
       typeset_beam ();
@@ -167,7 +167,7 @@ Beam_engraver::acknowledge_element (Score_element_info info)
       Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *> (info.req_l_);
       if (!rhythmic_req)
        {
-         String s = _ ("Stem must have Rhythmic structure");
+         String s = _ ("stem must have Rhythmic structure");
          if (info.req_l_)
            info.req_l_->warning (s);
          else
@@ -178,8 +178,8 @@ Beam_engraver::acknowledge_element (Score_element_info info)
       
       if (rhythmic_req->duration_.durlog_i_<= 2)
        {
-         rhythmic_req->warning (_ ("Stem doesn't fit in beam"));
-         prev_start_req_->warning (_ ("Beam was started here"));
+         rhythmic_req->warning (_ ("stem doesn't fit in beam"));
+         prev_start_req_->warning (_ ("beam was started here"));
          /*
            don't return, since
 
index e104c10ec89618ba0d4fedb62917b7cedf3c1344..d641c8912c3443a4f2dd14d9af479c004459b7a8 100644 (file)
@@ -50,10 +50,10 @@ Beam::add_stem (Stem*s)
   assert (!s->beam_l ());
   s->set_elt_property ("beam", self_scm_);
 
-  if (!spanned_drul_[LEFT])
-    set_bounds (LEFT,s);
+  if (!get_bound (LEFT))
+    set_bound (LEFT,s);
   else
-    set_bounds (RIGHT,s);
+    set_bound (RIGHT,s);
 }
 
 int
@@ -79,7 +79,7 @@ Beam::get_multiplicity () const
    their beam, during 'final-pre-processing'.]
  */
 void
-Beam::do_pre_processing ()
+Beam::before_line_breaking ()
 {
   // Why?
   if (visible_stem_count () < 2)
@@ -263,7 +263,7 @@ Beam::set_stem_shorten ()
   Adjust stem lengths to reach beam.
  */
 void
-Beam::do_post_processing ()
+Beam::after_line_breaking ()
 {
   /* first, calculate y, dy */
   Real y, dy;
@@ -742,7 +742,7 @@ Beam::do_brew_molecule () const
       mol.add_molecule (sb);
     }
   mol.translate_axis (x0 
-    - spanned_drul_[LEFT]->relative_coordinate (0, X_AXIS), X_AXIS);
+    - get_bound (LEFT)->relative_coordinate (0, X_AXIS), X_AXIS);
 
   return mol;
 }
index 84fa63071d832348032105f1099edf736c4194f4..dfb91c3845ba2fb870f30a828f1b7107d34799a9 100644 (file)
@@ -24,7 +24,7 @@
 */
 
 void
-Break_align_item::do_pre_processing()
+Break_align_item::before_line_breaking ()
 {
   Direction ad = (break_status_dir() == LEFT) ? RIGHT : LEFT;
   Real interline= paper_l ()->get_var ("interline");   
@@ -103,7 +103,7 @@ Break_align_item::do_pre_processing()
   scm_set_car_x (first_pair, gh_double2scm (-dists[0]));
   elems[0]->set_elt_property ("minimum-space", first_pair);
   
-  Axis_align_item::do_pre_processing();
+  Axis_align_item::before_line_breaking ();
 
 
   Real pre_space = elems[0]->relative_coordinate (column_l (), X_AXIS);
index 46761a934fe27dd60fe37980a180af17614860bc..afa950d618bbd159bf38e1e0838c967c9a2ab2b0 100644 (file)
@@ -42,7 +42,7 @@ Breathing_sign_engraver::do_try_music (Music*r_l)
 }
 
 void
-Breathing_sign_engraver::do_process_requests()
+Breathing_sign_engraver::do_process_music()
 {
   if(breathing_sign_req_l_)
     {
index 54120930f3a3698f020b49addb26f7a7bab2a0f2..0b9758edc38ae7eb035202e489bcae642368927c 100644 (file)
@@ -39,7 +39,7 @@ Breathing_sign::do_brew_molecule () const
 }
 
 void
-Breathing_sign::do_post_processing()
+Breathing_sign::after_line_breaking ()
 {
   Real space = staff_symbol_referencer (this).staff_space();
   Direction d = directional_element (this). get ();
index cf2891b02c3c24c25347c6c9bb9505b9ef701380..eb28971785a01cf8fa2e3a56126ced2cbe61676c 100644 (file)
@@ -61,7 +61,7 @@ Chord_name_engraver::do_try_music (Music* m)
 }
 
 void
-Chord_name_engraver::do_process_requests ()
+Chord_name_engraver::do_process_music ()
 {
   if (chord_name_p_)
     return;
index 4b6ab0e69b19488045e7674ea2d1892267c89920..769ec5a3fcba7d7bb50500326e0fe75541d14782 100644 (file)
@@ -8,22 +8,65 @@
 */
 
 #include "timing-translator.hh"
-#include "chord-tremolo-engraver.hh"
 #include "stem.hh"
 #include "beam.hh"
 #include "musical-request.hh"
 #include "misc.hh"
 #include "warn.hh"
 #include "score-engraver.hh"
+#include "engraver.hh"
+#include "drul-array.hh"
+#include "timing-engraver.hh"
+#include "beaming.hh"
+
+/**
+  Generate a beam tremolo.  Eat stems.
+
+  UGH. Derive me from Beam_engraver.
+  
+ */
+class Chord_tremolo_engraver : public Engraver
+{
+public:
+  VIRTUAL_COPY_CONS(Translator);
+  
+
+  Chord_tremolo_engraver();
+
+protected:
+  virtual void do_removal_processing();
+  virtual void do_process_music();
+  virtual bool do_try_music (Music*);
+  virtual void acknowledge_element (Score_element_info);
+  virtual void do_pre_move_processing();
+  virtual void do_post_move_processing();
+
+private:
+  void typeset_beam ();
+  Drul_array<Chord_tremolo_req*> reqs_drul_;
+  Chord_tremolo_req* prev_start_req_;
+  Beam* beam_p_;
+  Beam* finished_beam_p_;
+
+  /// location  within measure where beam started.
+  Moment beam_start_location_;
+
+  /// moment (global time) where beam started.
+  Moment beam_start_mom_;
+  Beaming_info_list * beam_info_p_;
+  Beaming_info_list * finished_beam_info_p_;  
+};
 
 ADD_THIS_TRANSLATOR (Chord_tremolo_engraver);
 
 Chord_tremolo_engraver::Chord_tremolo_engraver ()
 {
   reqs_drul_[LEFT] = reqs_drul_[RIGHT] = 0;
-  abeam_p_ = 0;
-  finished_abeam_p_ = 0;
+  beam_p_ = 0;
+  finished_beam_p_ = 0;
   prev_start_req_ = 0;
+  finished_beam_info_p_=0;
+  beam_info_p_ =0;
 }
 
 bool
@@ -35,9 +78,9 @@ Chord_tremolo_engraver::do_try_music (Music* m)
       if (reqs_drul_[d] && !reqs_drul_[d]->equal_b (b))
        return false;
 
-      if ((d == STOP) && !abeam_p_)
+      if ((d == STOP) && !beam_p_)
        {
-         m->warning (_ ("no tremolo beam to end"));
+         m->warning (_ ("can't find start of chord tremolo"));
          return false;
        }
 
@@ -49,18 +92,23 @@ Chord_tremolo_engraver::do_try_music (Music* m)
 }
 
 void
-Chord_tremolo_engraver::do_process_requests ()
+Chord_tremolo_engraver::do_process_music ()
 {
   if (reqs_drul_[STOP])
     {
-      if (!abeam_p_)
-       reqs_drul_[STOP]->warning (_ ("no tremolo beam to end"));
+      if (!beam_p_)
+       reqs_drul_[STOP]->warning (_ ("can't find start of chord tremolo"));
+
       prev_start_req_ = 0;
-      finished_abeam_p_ = abeam_p_;
-      abeam_p_ = 0;
+
+      finished_beam_p_ = beam_p_;
+      beam_p_ = 0;
+
+      finished_beam_info_p_ = beam_info_p_;
+      beam_info_p_ = 0;
     }
 
-  if (abeam_p_)
+  if (beam_p_)
     {
       Score_engraver * e = 0;
       Translator * t  =  daddy_grav_l ();
@@ -77,18 +125,23 @@ Chord_tremolo_engraver::do_process_requests ()
 
   if (reqs_drul_[START])
     {
-      if (abeam_p_)
+      if (beam_p_)
        {
-         reqs_drul_[START]->warning (_ ("Already have a tremolo beam"));
+         reqs_drul_[START]->warning (_ ("already have a chord tremolo"));
          return;
        }
 
       prev_start_req_ = reqs_drul_[START];
 
-      abeam_p_ = new Beam;
-      abeam_p_->set_elt_property ("chord-tremolo", SCM_BOOL_T);
+      beam_p_ = new Beam;
+      beam_p_->set_elt_property ("chord-tremolo", SCM_BOOL_T);
+      Translator * t  = daddy_grav_l  ()->get_simple_translator ("Timing_engraver");
+      Timing_engraver *timer = dynamic_cast<Timing_engraver*> (t);
+      beam_start_location_ = (t) ?  timer->measure_position () : Moment (0);
+      beam_start_mom_ = now_mom();
+      beam_info_p_ = new Beaming_info_list;
       
-      announce_element (Score_element_info (abeam_p_, reqs_drul_[LEFT]));
+      announce_element (Score_element_info (beam_p_, reqs_drul_[LEFT]));
   }
 }
 
@@ -98,6 +151,7 @@ Chord_tremolo_engraver::do_post_move_processing ()
   reqs_drul_ [START] = 0;
 }
 
+
 void
 Chord_tremolo_engraver::do_pre_move_processing ()
 {
@@ -107,10 +161,14 @@ Chord_tremolo_engraver::do_pre_move_processing ()
 void
 Chord_tremolo_engraver::typeset_beam ()
 {
-  if (finished_abeam_p_)
+  if (finished_beam_p_)
     {
-      typeset_element (finished_abeam_p_);
-      finished_abeam_p_ = 0;
+      finished_beam_info_p_->beamify ();
+      finished_beam_p_->set_beaming (finished_beam_info_p_);
+      typeset_element (finished_beam_p_);
+      finished_beam_p_ = 0;
+      delete finished_beam_info_p_;
+      finished_beam_info_p_ =0;
 
       reqs_drul_[STOP] = 0;
     }
@@ -120,20 +178,21 @@ void
 Chord_tremolo_engraver::do_removal_processing ()
 {
   typeset_beam ();
-  if (abeam_p_)
+  if (beam_p_)
     {
-      prev_start_req_->warning (_ ("unfinished tremolo beam"));
-      finished_abeam_p_ = abeam_p_;
+      prev_start_req_->warning (_ ("unterminated chord tremolo"));
+      finished_beam_p_ = beam_p_;
+      finished_beam_info_p_ = beam_info_p_;
       typeset_beam ();
     }
 }
 
 void
-Chord_tremolo_engraver::acknowledge_element (Score_element_info i)
+Chord_tremolo_engraver::acknowledge_element (Score_element_info info)
 {
-  if (abeam_p_)
+  if (beam_p_)
     {
-      if (Stem* s = dynamic_cast<Stem *> (i.elem_l_))
+      if (Stem* s = dynamic_cast<Stem *> (info.elem_l_))
        {
          int type_i = prev_start_req_->type_i_;
          s->set_elt_property ("duration-log",  gh_int2scm (intlog2 (type_i) - 2));
@@ -141,22 +200,38 @@ Chord_tremolo_engraver::acknowledge_element (Score_element_info i)
          s->set_beaming (s->flag_i (), LEFT);
          s->set_beaming ( s->flag_i (), RIGHT);
          
-
-#if 0
+         /*
+           URG: this sets the direction of the Stem s.
+           It's amazing Mike:
+           
+             Stem:: type_i () ->first_head ()->get_direction () ->
+                     directional_element (me).set (d);
+           
+          */
+         SCM d = s->get_elt_property ("direction");
          if (s->type_i () != 1)
            {
              int gap_i =s->flag_i () - ((s->type_i () >? 2) - 2);
-             s->set_elt_property ("beam-gap", gh_int2scm(gap_i));
+             beam_p_->set_elt_property ("beam-gap", gh_int2scm(gap_i));
            }
-#else
-         if (s->type_i () != 1)
+         s->set_elt_property ("direction", d);
+
+         if (Rhythmic_req* r = dynamic_cast <Rhythmic_req *> (info.req_l_))
            {
-             int gap_i =s->flag_i () - ((s->type_i () >? 2) - 2);
-             abeam_p_->set_elt_property ("beam-gap", gh_int2scm(gap_i));
+             beam_p_->add_stem (s);
+             Moment stem_location = now_mom () -
+               beam_start_mom_ + beam_start_location_;
+             beam_info_p_->add_stem (stem_location,
+                                     (r->duration_.durlog_i_ - 2) >? 1);
+           }
+         else
+           {
+             String s = _ ("stem must have Rhythmic structure");
+             if (info.req_l_)
+               info.req_l_->warning (s);
+             else
+               ::warning (s);
            }
-#endif
-         
-         abeam_p_->add_stem (s);
        }
     }
 }
index 162cc06978b3e6bbc72917d050ea9d6d89e4c086..835b2c57604ae4bea51cf02678024d63d41bc810 100644 (file)
@@ -29,7 +29,7 @@ class Clef_engraver : public  Engraver {
   void create_clef();
   bool set_type (String);
 protected:
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_pre_move_processing();
   virtual void do_creation_processing();
   virtual void do_post_move_processing();
@@ -183,7 +183,7 @@ Clef_engraver::create_clef()
 
 
 void
-Clef_engraver::do_process_requests()
+Clef_engraver::do_process_music()
 {
   if (clef_req_l_)
     {
index 35f4d46bf377e947cfeb8cc7fc5302d629ebbc1d..d49534d727bcca9a0aecc4d92d40e4786b31c08a 100644 (file)
@@ -19,7 +19,7 @@
 #include "warn.hh"
 
 void
-Clef_item::do_pre_processing()
+Clef_item::before_line_breaking ()
 {
   SCM style_sym =get_elt_property ("style");
   String style;
index 0de6a942f84a66948e38fe427717703bb66b834e..161016104ca00ebf238b4d7c1f8742fbe027cf03 100644 (file)
@@ -28,7 +28,7 @@ Collision::add_column (Note_column* ncol_l)
  */
 
 void
-Collision::do_pre_processing()
+Collision::before_line_breaking ()
 {
   Array<Shift_tup> autos (automatic_shift ());
   Array<Shift_tup> hand (forced_shift ());
index 2e80a913bc1150ace6da548cb0c5043e38fcb204..d9331f89074bc6dddcfc3ded34995ebde9a4ad3e 100644 (file)
@@ -70,7 +70,7 @@ Dot_column::Dot_column ()
    Should be smarter.
  */
 void
-Dot_column::do_post_processing ()
+Dot_column::after_line_breaking ()
 {
   Link_array<Dots> dots = Group_interface__extract_elements (this, (Dots*)0 , "dots"); 
   dots.sort (Dot_column::compare);
index f63f77ddae1e57d08191c2cf3840591aede312a6..7846e2d36769d29204309e970d07b1d6c1054d48 100644 (file)
@@ -19,7 +19,7 @@ Dots::Dots ()
 }
 
 void
-Dots::do_post_processing ()
+Dots::after_line_breaking ()
 {
   SCM d= get_elt_property ("dot-count");
   if (!gh_number_p (d) || !gh_scm2int (d))
@@ -42,7 +42,7 @@ Dots::do_post_processing ()
 Molecule  
 Dots::do_brew_molecule () const
 {
-  Molecule mol (lookup_l ()->fill (Box (Interval (0,0),
+  Molecule mol (lookup_l ()->blank (Box (Interval (0,0),
                                          Interval (0,0))));
   Molecule d = lookup_l ()->afm_find (String ("dots-dot"));
 
index d36142c8e2931fc84477c6b03b6c050e0c4e6c74..87ab488ac69d193b33f935a6bb5ac922e6d0e968 100644 (file)
 #include "staff-symbol-referencer.hh"
 #include "translator-group.hh"
 
-/*
- Wat mij betreft wel DYN_LINE
- */
-#define DYN_LINE
-
-
-#ifdef DYN_LINE
 class Dynamic_line_spanner : public Spanner
 {
 public:
   Dynamic_line_spanner ();
-  
-  void add_column (Note_column*);
+  VIRTUAL_COPY_CONS(Score_element);
+  void add_column (Item*);
   Direction get_default_dir () const;
-protected:
-  virtual void do_post_processing ();
 };
 
 Dynamic_line_spanner::Dynamic_line_spanner ()
@@ -49,11 +40,12 @@ Dynamic_line_spanner::Dynamic_line_spanner ()
 }
 
 void
-Dynamic_line_spanner::add_column (Note_column* n)
+Dynamic_line_spanner::add_column (Item* n)
 {
-  if (!spanned_drul_[LEFT])
-    set_bounds (LEFT, n);
-  set_bounds (RIGHT, n);
+  if (!get_bound (LEFT))
+    set_bound (LEFT, n);
+  else
+    set_bound (RIGHT, n);
 
   add_dependency (n);
 }
@@ -64,54 +56,6 @@ Dynamic_line_spanner::get_default_dir () const
   return DOWN;
 }
 
-void
-Dynamic_line_spanner::do_post_processing ()
-{
-  Spanner::do_post_processing ();
-  Direction dir = directional_element (this).get ();
-  if (!dir)
-    dir = get_default_dir ();
-
-  /*
-    Hier is ook vast iets voor?
-   */
-  Staff_symbol_referencer_interface si (this);
-  Real above_staff = si.line_count () + 2;
-
-#if 0
-  // Aargh, nu snap ik waarom ik het niet snap
-  // zie Staff_symbol_referencer_interface::set_position 
-
-  if (si.position_f () * dir < above_staff)
-    si.set_position (above_staff * (int)dir);
-
-  SCM s = get_elt_property ("padding");
-  if (gh_number_p (s))
-    {
-      si.set_position (si.position_f () + gh_scm2double (s) * (int) dir);
-    }
-#else
-  Real dy = 0;
-  Real pos = si.position_f () * dir;
-  if (pos * dir < above_staff)
-    dy = above_staff;
-
-  SCM s = get_elt_property ("padding");
-  if (gh_number_p (s))
-    dy += gh_scm2double (s);
-  
-  Real half_space = si.staff_space () / 2;
-  translate_axis (dy*half_space*dir, Y_AXIS);
-#endif
-  
-}
-
-#endif
-/*
-  TODO:
-    Baseline alignment / character metrics of dynamic symbols.
- */
-
 /**
    print text & hairpin dynamics.
  */
@@ -125,11 +69,7 @@ class Dynamic_engraver : public Engraver
   Span_req * span_start_req_l_;
   Drul_array<Span_req*> span_req_l_drul_;
 
-#ifdef DYN_LINE
   Dynamic_line_spanner* line_spanner_;
-#else
-  Spanner* line_spanner_;
-#endif
   Moment last_request_mom_;
   
   void  typeset_all ();
@@ -144,7 +84,7 @@ protected:
   virtual void do_removal_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
 };
@@ -179,6 +119,12 @@ Dynamic_engraver::do_post_move_processing ()
   text_req_l_ = 0;
   span_req_l_drul_[START] = 0;
   span_req_l_drul_[STOP] = 0;
+
+  /* ugr; we must attach the Dynamic_line_spanner to something
+     to be sure that the linebreaker will not be confused
+  */
+  // if (line_spanner_)
+  // line_spanner_->add_column (LEFT, get_staff_info ().command_pcol_l ());
 }
 
 bool
@@ -205,17 +151,12 @@ Dynamic_engraver::do_try_music (Music * m)
 }
 
 void
-Dynamic_engraver::do_process_requests ()
+Dynamic_engraver::do_process_music ()
 {
   if ((span_req_l_drul_[START] || text_req_l_) && !line_spanner_)
     {
-#ifdef DYN_LINE
       line_spanner_ = new Dynamic_line_spanner;
-#else
-      line_spanner_ = new Spanner;
-      line_spanner_->set_elt_property ("transparent", SCM_BOOL_T);
       side_position (line_spanner_).set_axis (Y_AXIS);
-#endif
       announce_element (Score_element_info
                        (line_spanner_,
                         text_req_l_ ? text_req_l_ : span_req_l_drul_[START]));
@@ -225,34 +166,6 @@ Dynamic_engraver::do_process_requests ()
   if (span_req_l_drul_[START] || text_req_l_)
     last_request_mom_ = now_mom ();
   
-#ifndef DYN_LINE
-  if (line_spanner_)
-    {
-      /*
-       Generic property will handle this for a Dynamic_line_spanner
-       */
-      Direction dir = DOWN;
-      SCM s = get_property ("dynamicDirection");
-      if (!isdir_b (s))
-       {
-         s = get_property ("verticalDirection");
-       }
-      
-      if (isdir_b (s) && to_dir (s))
-       dir = to_dir (s);
-      
-      line_spanner_->set_elt_property ("direction", gh_int2scm ((int)dir));
-
-      s = get_property ("dynamicPadding");
-      Real padding;
-      if (gh_number_p (s))
-       padding = gh_scm2double (s);
-      else
-       padding = 2;
-      line_spanner_->set_elt_property ("padding", gh_double2scm (padding));
-    }
-#endif 
-  
   if (text_req_l_)
     {
       String loud = text_req_l_->text_str_;
@@ -279,7 +192,8 @@ Dynamic_engraver::do_process_requests ()
       else
        {
          assert (!finished_cresc_p_);
-         cresc_p_->set_bounds(RIGHT, get_staff_info ().musical_pcol_l ());
+         cresc_p_->set_bound(RIGHT, get_staff_info ().musical_pcol_l ());
+         //      cresc_p_->add_dependency (get_staff_info ().musical_pcol_l ());
          finished_cresc_p_ = cresc_p_;
          cresc_p_ = 0;
          span_start_req_l_ = 0;
@@ -321,10 +235,21 @@ Dynamic_engraver::do_process_requests ()
                                            + "Spanner", SCM_UNDEFINED);
            }
 
-         cresc_p_->set_bounds(LEFT, get_staff_info ().musical_pcol_l ());
-         cresc_p_->set_bounds(RIGHT, get_staff_info ().musical_pcol_l ());
+         cresc_p_->set_bound(LEFT, get_staff_info ().musical_pcol_l ());
+
+
+         // cresc_p_->add_dependency (get_staff_info ().musical_pcol_l ());
+
+         /* 
+             We know how wide the text is, if we can be sure that the
+             text already has relevant pointers into the paperdef,
+             and it has its font-size property set.
 
-         // arrragh, brr, urg: we know how wide text is, no?
+             Since font-size may be set by a context higher up, we
+             can not be sure of the size.
+         */
+
+            
          if (text_p_)
            {
              index_set_cell (cresc_p_->get_elt_property ("dynamic-drul"),
@@ -336,6 +261,7 @@ Dynamic_engraver::do_process_requests ()
 
          assert (line_spanner_);
          cresc_p_->set_parent (line_spanner_, Y_AXIS);
+         // cresc_p_->add_dependency (line_spanner_);
          announce_element (Score_element_info (cresc_p_, span_req_l_drul_[START]));
        }
     }
@@ -347,6 +273,7 @@ Dynamic_engraver::do_pre_move_processing ()
   typeset_all ();
 }
 
+
 void
 Dynamic_engraver::do_removal_processing ()
 {
@@ -359,12 +286,6 @@ Dynamic_engraver::do_removal_processing ()
   typeset_all ();
   if (line_spanner_)
     {
-#ifndef DYN_LINE
-      Direction dir = directional_element (line_spanner_).get ();
-      Real staff_space = Staff_symbol_referencer_interface (line_spanner_).staff_space ();
-      SCM s = line_spanner_->get_elt_property ("padding");
-      line_spanner_->translate_axis (gh_scm2double (s) * staff_space * (int)dir, Y_AXIS);
-#endif
       typeset_element (line_spanner_);
       line_spanner_ = 0;
     }
@@ -376,7 +297,6 @@ Dynamic_engraver::typeset_all ()
 {  
   if (finished_cresc_p_)
     {
-      finished_cresc_p_->set_bounds (RIGHT, get_staff_info ().musical_pcol_l ());
       typeset_element (finished_cresc_p_);
       finished_cresc_p_ =0;
     }
@@ -391,16 +311,12 @@ Dynamic_engraver::typeset_all ()
     TODO: This should be optionised:
       * break when group of dynamic requests ends
       * break now 
-      * continue through piece
-   */
+      * continue through piece */
   if (line_spanner_ && last_request_mom_ < now_mom ())
     {
-#ifndef DYN_LINE
-      Direction dir = directional_element (line_spanner_).get ();
-      Real staff_space = Staff_symbol_referencer_interface (line_spanner_).staff_space ();
-      SCM s = line_spanner_->get_elt_property ("padding");
-      line_spanner_->translate_axis (gh_scm2double (s) * staff_space * (int)dir, Y_AXIS);
-#endif
+
+      side_position (line_spanner_).add_staff_support ();
+      
       typeset_element (line_spanner_);
       line_spanner_ = 0;
     }
@@ -414,15 +330,7 @@ Dynamic_engraver::acknowledge_element (Score_element_info i)
       if (Note_column* n = dynamic_cast<Note_column*> (i.elem_l_))
        {
          side_position (line_spanner_).add_support (n);
-#ifdef DYN_LINE
          line_spanner_->add_column (n);
-#else
-         if (!line_spanner_->spanned_drul_[LEFT])
-           line_spanner_->set_bounds (LEFT, n);
-         line_spanner_->set_bounds (RIGHT, n);
-         
-         line_spanner_->add_dependency (n);
-#endif
        }
     }
 }
index 32e6f01f389b56234eda968dc53273ccdbbf42f1..aba5025d69d2f069c9303c35e4426d5f907f6cab 100644 (file)
@@ -31,7 +31,7 @@ Extender_engraver::acknowledge_element (Score_element_info i)
     {
       current_lyric_l_ = t;
       if (extender_spanner_p_
-         && !extender_spanner_p_->spanned_drul_[RIGHT]
+         && !extender_spanner_p_->get_bound (RIGHT)
            )
          {
            extender_spanner_p_->set_textitem (RIGHT, t);
@@ -60,12 +60,12 @@ Extender_engraver::do_removal_processing ()
   if (extender_spanner_p_)
     {
       req_l_->warning (_ ("unterminated extender"));
-      extender_spanner_p_->set_bounds(RIGHT, get_staff_info ().command_pcol_l ());
+      extender_spanner_p_->set_bound(RIGHT, get_staff_info ().command_pcol_l ());
     }
 }
 
 void
-Extender_engraver::do_process_requests ()
+Extender_engraver::do_process_music ()
 {
   if (req_l_)
     {
index ff02c16d92efbb71aa4be8d5eeec2cc2722f31f7..0f5cbfb5d937a7243fedf4ba8454f6cffa560633 100644 (file)
@@ -50,7 +50,7 @@ Extender_spanner::do_brew_molecule () const
 
 
 void
-Extender_spanner::do_post_processing ()
+Extender_spanner::after_line_breaking ()
 {
   // UGH
   Real gap = paper_l ()->get_var ("interline");
@@ -58,8 +58,8 @@ Extender_spanner::do_post_processing ()
   Direction d = LEFT;
   do
     {
-      Item* t = spanned_drul_[d]
-       ? spanned_drul_[d] : spanned_drul_[(Direction)-d];
+      Item* t = get_bound (d)
+       ? get_bound (d) : get_bound ((Direction)-d);
       if (d == LEFT)
         dx_f_drul_[d] += t->extent (X_AXIS).length ();
       else
@@ -72,7 +72,7 @@ Extender_spanner::do_post_processing ()
 void
 Extender_spanner::set_textitem (Direction d, Item* textitem_l)
 {
-  set_bounds (d, textitem_l);
+  set_bound (d, textitem_l);
   add_dependency (textitem_l);
 }
 
index 3d3df3ca0f17835da6b05043f6e2c1e4f48d2f12..2ae9d267e9146c6cbdd3e0861664b689defdf512 100644 (file)
@@ -19,7 +19,7 @@ Grace_align_item::Grace_align_item ()
 }
   
 void
-Grace_align_item::do_pre_processing ()
+Grace_align_item::before_line_breaking ()
 {
   Real nhw = // lookup_l ()->notehead (2, "").dim_[X_AXIS].length();
     paper_l ()->get_var ("quartwidth");
@@ -28,7 +28,7 @@ Grace_align_item::do_pre_processing ()
   column_l ()->set_elt_property ("contains-grace", SCM_BOOL_T);
 
   
-  Axis_align_item::do_pre_processing ();
+  Axis_align_item::before_line_breaking ();
   //  translate_axis (-0.5* nhw, X_AXIS); // ugh.
 }
 
index f5b1e472949a210d04056b4a79622183867b2c33..3abb6296f2ab93d92c4a5831a7420d6f5169d60c 100644 (file)
@@ -28,7 +28,7 @@ Hara_kiri_group_spanner::add_interesting_item (Item* n)
 }
 
 void 
-Hara_kiri_group_spanner::do_post_processing ()
+Hara_kiri_group_spanner::after_line_breaking ()
 {
   SCM worth = get_elt_property ("items-worth-living");
   if (gh_pair_p (worth))
index 1b73e0149932cbb34ab59f5219ed5c4f565064b7..72eb2268fe7974bba01c2b0860a81d3780b797bf 100644 (file)
@@ -29,7 +29,7 @@ Hyphen_engraver::acknowledge_element (Score_element_info i)
     {
       current_lyric_l_ = t;
       if (hyphen_spanner_p_
-         && !hyphen_spanner_p_->spanned_drul_[RIGHT]
+         && !hyphen_spanner_p_->get_bound (RIGHT)
            )
          {
            hyphen_spanner_p_->set_textitem (RIGHT, t);
@@ -58,12 +58,12 @@ Hyphen_engraver::do_removal_processing ()
   if (hyphen_spanner_p_)
     {
       req_l_->warning (_ ("unterminated hyphen"));
-      hyphen_spanner_p_->set_bounds(RIGHT, get_staff_info ().command_pcol_l ());
+      hyphen_spanner_p_->set_bound(RIGHT, get_staff_info ().command_pcol_l ());
     }
 }
 
 void
-Hyphen_engraver::do_process_requests ()
+Hyphen_engraver::do_process_music ()
 {
   if (req_l_)
     {
index 65470ea81c4204e414228bf39055ff20d45e2425..5f41e23d531623affc4198969311d9cb65bd794a 100644 (file)
@@ -57,7 +57,7 @@ Hyphen_spanner::do_brew_molecule () const
 
 
 void
-Hyphen_spanner::do_post_processing ()
+Hyphen_spanner::after_line_breaking ()
 {
   // UGH
   Real gap = paper_l ()->get_var ("interline");
@@ -65,8 +65,8 @@ Hyphen_spanner::do_post_processing ()
   Direction d = LEFT;
   do
     {
-      Item* t = spanned_drul_[d]
-       ? spanned_drul_[d] : spanned_drul_[(Direction)-d];
+      Item* t = get_bound (d)
+       ? get_bound (d) : get_bound ((Direction)-d);
       if (d == LEFT)
         dx_f_drul_[d] += t->extent (X_AXIS).length ();
       else
@@ -79,7 +79,7 @@ Hyphen_spanner::do_post_processing ()
 void
 Hyphen_spanner::set_textitem (Direction d, Item* textitem_l)
 {
-  set_bounds (d, textitem_l);
+  set_bound (d, textitem_l);
   add_dependency (textitem_l);
 }
 
index c6e230df5d058e5bc75fa46bdf3c18f44e527ed5..49d4e4bab1039c069efe7bbd5209a0edae45a415 100644 (file)
@@ -50,8 +50,8 @@ public:
   void set_axis (Axis);
   int get_count (Score_element*)const;
 protected:
-  virtual void do_post_processing() ;
-  virtual void do_pre_processing ();
+  virtual void after_line_breaking () ;
+  virtual void before_line_breaking ();
   virtual void do_side_processing ();
 };
 #endif // VERTICAL_ALIGN_ITEM_HH
index 6621ecce1ac3c8870a96b63100adc19fee728ac2..2c7575fde4e46934a004f9729e002167c0a80f56 100644 (file)
@@ -24,7 +24,7 @@ protected:
   virtual void do_post_move_processing ();
   virtual void do_removal_processing ();
   virtual void acknowledge_element (Score_element_info);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void process_acknowledged ();
   virtual void do_creation_processing ();
 private:
index 388cc171495b99a113acdf2241113d05631d9586..7f446bcd13d2a54123b185d921f318684104cefb 100644 (file)
@@ -26,7 +26,7 @@ public:
 protected:
   virtual void do_creation_processing ();
   virtual void do_removal_processing ();
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_pre_move_processing();
 
 
index eb1c7de7faf907b47bf79d5457f82608ec8eff7b..22c6c3ef22069fa387a416c3241a01c3389fff5f 100644 (file)
@@ -14,7 +14,7 @@
 
 class Bar_number_engraver : public Bar_script_engraver {
 protected:
-  void do_process_requests ();
+  void do_process_music ();
 public:
   VIRTUAL_COPY_CONS(Translator);
   Bar_number_engraver();
index 1e4f8c539a64ae5c4ad64264eccc33cd1237c47d..994f04b5006b7b7c5394329801e0b61509a28167 100644 (file)
@@ -15,8 +15,14 @@ class Bar:public Item {
 public:
   VIRTUAL_COPY_CONS(Score_element);
   Bar();
+
+  Molecule staff_bracket (Real height) const;
+  Molecule staff_brace (Real height) const;
+  Molecule compound_barline (String, Real height) const;
+  Molecule simple_barline (Real wid, Real height) const;      
+
 protected:
-  virtual void do_pre_processing ();
+  virtual void before_line_breaking ();
   virtual Molecule  do_brew_molecule () const;
   virtual Real get_bar_size () const;
 };
index 044cfaddb7f6460c25d63fd35624f9c76997bc38..9393529a111b33017b3ff74dd401443c5848d1bf 100644 (file)
@@ -36,7 +36,7 @@ protected:
   virtual void do_removal_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual bool do_try_music (Music*);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
 public:
   Beam_engraver ();
   VIRTUAL_COPY_CONS (Translator);
index aff606c7a99aacbe39b078a22062aefeae2e76ea..54f6d04bdcb86fcf31c9ea38694a00297ae209a6 100644 (file)
@@ -45,8 +45,8 @@ public:
 
 protected:
  
-  virtual void do_pre_processing ();
-  virtual void do_post_processing ();
+  virtual void before_line_breaking ();
+  virtual void after_line_breaking ();
   virtual Molecule do_brew_molecule () const;
 
   Molecule stem_beams (Stem *here, Stem *next, Stem *prev) const;
index 20d5a3f749e8fbf02638869f562bc3767c540182..791e104f0066590309ccbeb4a88efa2992cb942f 100644 (file)
@@ -17,7 +17,7 @@ class Break_align_item : public Axis_align_item {
 
 
 protected:
-  virtual void do_pre_processing();
+  virtual void before_line_breaking ();
 public:
   Break_align_item ();
   VIRTUAL_COPY_CONS(Score_element);
index 3c003081e5f2b5ad4313db3ce330442c9526c502..ef0fa899fa8b1e736729e2cf21742668867055c7 100644 (file)
@@ -21,7 +21,7 @@ public:
   
 protected:
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_requests();
+  virtual void do_process_music();
 
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
index 83cf87e5e8266a38494ba9c0405e07b5f0b09ee3..ca074df3fa1a7bbaed132daa9e153f4cc86c39cd 100644 (file)
@@ -19,7 +19,7 @@ public:
   VIRTUAL_COPY_CONS(Score_element);
   Breathing_sign ();
 protected:
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
   virtual Molecule do_brew_molecule () const;
 };
 
index c9a9886f6cef029a63e8f70cc5491bc807bc48f3..e8b780d383e3af61d845a8541285656c4f5bf8ff 100644 (file)
@@ -23,7 +23,7 @@ public:
 protected:
   virtual void do_pre_move_processing ();
   virtual void acknowledge_element (Score_element_info i);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual bool do_try_music (Music* m);
 
 private:
index a5d5585db387eece4452c2cad96a27c41bda9665..60322e19ed3f59c38c67267b2b78b5f300eb63c6 100644 (file)
@@ -26,7 +26,7 @@
 class Clef_item : public Item
 {
 protected:
-  virtual void do_pre_processing();
+  virtual void before_line_breaking ();
   virtual void do_add_processing ();
 public:
   VIRTUAL_COPY_CONS(Score_element);
index 4fe2de3906551995e5c48691cc5925d2278648c6..f64db66504f06871fd42884481852415bcb219cc 100644 (file)
@@ -29,7 +29,7 @@ protected:
   Array<Shift_tup> automatic_shift ();
   Array<Shift_tup> forced_shift ();
   
-  virtual void do_pre_processing();
+  virtual void before_line_breaking ();
 public:
     
   void add_column (Note_column*ncol_l);
index de7d522f05b1480673368023612f986d93daee53..9679bf32a4a28f325a1bf74d5775ae1c0a7606b2 100644 (file)
@@ -26,6 +26,6 @@ public:
   Dot_column ();
 
 protected:
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
 };
 #endif // DOT_COLUMN_HH
index 6a36c9ef06e6e2ce02e6e9be9da9da80781c4d80..4f3ba7200bda74ac93280ecbbfca3add88aca07f 100644 (file)
@@ -22,7 +22,7 @@ class Dots :
 {
 protected:
   virtual Molecule do_brew_molecule () const;
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
 public:
   
   Dots ();
index 28e9dadeb90b39d2f71fdf798a0e78a4995d1119..9973f41d319f54a0c7cd20e8d2135dea93967ce5 100644 (file)
@@ -39,7 +39,7 @@ public:
 protected:
   virtual void acknowledge_element (Score_element_info);
   virtual void do_removal_processing();
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual bool do_try_music (Music*);
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing ();
index 0fa11e6f5750579305bec02b3feddf94e8992fb9..d2d0b021ef19e2dae63cf2b1937a0020bd114b24 100644 (file)
@@ -35,7 +35,7 @@ public:
 
 protected:
   virtual Molecule do_brew_molecule () const;
-  void do_post_processing ();
+  void after_line_breaking ();
  
   VIRTUAL_COPY_CONS (Score_element);
 
index c0fbb35c04887ccf40d7bada289924c1cd35bdda..5ebc44dd7b3f95d3a58bc0e99521d523594e50d1 100644 (file)
@@ -23,7 +23,7 @@ class Font_size_engraver : public Engraver {
   Protected_scm size_;
 protected:
   virtual void acknowledge_element (Score_element_info);
-  virtual void  do_process_requests ();
+  virtual void  do_process_music ();
 public:
   Font_size_engraver ();
   
index ee8d0ce6f2cee2024c3f5a92b924992f7b39c83c..028ff632552069f8ea6a9b4266e534f565034219 100644 (file)
@@ -20,7 +20,7 @@ public:
   Grace_align_item ();
 protected:
   virtual void do_add_processing ();
-  virtual void do_pre_processing ();
+  virtual void before_line_breaking ();
 };
 #endif /* GRACE_ALIGN_ITEM_HH */
 
index a6245449dd4046e4bda8e763244e7acc9638be80..bba2981777b7b2dee617fa2524750cadd59603fa 100644 (file)
@@ -21,7 +21,7 @@ class Hara_kiri_group_spanner : public Axis_group_spanner
 {
 public:
   Hara_kiri_group_spanner ();
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
   void add_interesting_item (Item* n);
 protected:
   VIRTUAL_COPY_CONS(Score_element);
index d8af602c1240e531c230dd0ccc57da38bb700c5f..4db4d25bff238e5ed064daea63fbba3b67ad2f96 100644 (file)
@@ -38,7 +38,7 @@ public:
 protected:
   virtual void acknowledge_element (Score_element_info);
   virtual void do_removal_processing();
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual bool do_try_music (Music*);
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing ();
index 2530a5e1161514a9787ddf5b7138335f32097262..ec60dee675302c50d6e7a9e879d73b23a126ebb2 100644 (file)
@@ -28,7 +28,7 @@ protected:
   virtual Molecule do_brew_molecule () const;
   Interval do_height () const;
 
-  void do_post_processing ();
+  void after_line_breaking ();
  
   VIRTUAL_COPY_CONS (Score_element);
 
index 6e7850290de6ac970acd839793c9f5844538a975..cbd80e8d423fb1ed52a375a33bfee6dee9707940 100644 (file)
@@ -36,7 +36,7 @@ public:
     
 protected:
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
   virtual void acknowledge_element (Score_element_info);
index 335614b91e8c579a1bea84e8ef4047112f6aa7bf..535cb3e1bdcde6c9996b877233040239f4fc7fab 100644 (file)
@@ -23,7 +23,7 @@ public:
 protected:
   void do_print() const;
   virtual bool do_try_music (Music* req_l);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void do_pre_move_processing ();
 
 private:
index 3e2063167b0e0106af822f7416057b425525a86b..3cfb339ce193e62d316db58b586920dd204c7e4e 100644 (file)
@@ -49,7 +49,7 @@ public:
 
   void add_pitch (Musical_pitch, bool cautionary, bool natural);
 protected:
-  virtual void do_pre_processing();
+  virtual void before_line_breaking ();
   virtual Molecule do_brew_molecule() const;
 };
 #endif // LOCALKEYITEM_HH
index 7ed599e27560373101f856f78c65e2211d0a0f34..1ef2eb7490c1ea1bdd45bddf27d880452b6626bc 100644 (file)
@@ -23,7 +23,7 @@ class Lyric_engraver : public Engraver
 protected:
   virtual void do_pre_move_processing();
   virtual bool do_try_music (Music*);
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_post_move_processing ();
 public:
   Lyric_engraver ();
index 6619ab29ee73745151e00126860cdcd913c6a95e..89890b498231a732555aa2e600e4c1b03e06cbe1 100644 (file)
@@ -22,7 +22,7 @@ public:
 protected:
   void do_print() const;
   virtual bool do_try_music (Music* req_l);
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_pre_move_processing ();
 
 private:
index 527e93fcd68c20f4e7931648dcc8d247e8b3358c..8dfbba2f5f7b2c4cd3c92f01785dc46dc96ea95c 100644 (file)
@@ -25,7 +25,7 @@ protected:
   VIRTUAL_COPY_CONS (Score_element);
 
   virtual void do_add_processing ();
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
   virtual Array<Rod> get_rods () const;
 };
 
index 48f6215d48b5602abd37b3321bee790509f5a29d..df0876b598d7e17f41da28daa0ddd06e673755f7 100644 (file)
@@ -17,7 +17,7 @@
   (chord) and scripts) as a single entity.  */
 class Note_column : public Axis_group_item {
 protected:
-  virtual void do_post_processing () ;
+  virtual void after_line_breaking () ;
 public:
 
   static int shift_compare (Note_column *const &, Note_column*const&);
index fbebc0a4042a58916685a3fbf0434d379fc740e9..dcdeca9ca447689da8c252a889de832fd12c1180 100644 (file)
@@ -23,7 +23,7 @@ public:
   Molecule ledger_line (Interval) const;
 protected:
   
-  virtual void do_pre_processing();
+  virtual void before_line_breaking ();
   virtual Molecule do_brew_molecule() const;
 };
 #endif // NOTEHEAD_HH
index 1d8d667975c9187de70322e92c4288940836ab35..39eb3868fe1fbf927e0698dd3c41db1dfbc2618b 100644 (file)
@@ -24,7 +24,7 @@ public:
   
 protected:
   virtual bool do_try_music (Music *req_l) ;
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_pre_move_processing();
 };
 
index beaae306d9055bdcd715ca6d62661f103a588485..f9af35188d72bc03909eb72e5464ba56c695057d 100644 (file)
@@ -21,7 +21,7 @@ public:
   Note_performer();
 
 protected:
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual bool do_try_music (Music *req_l) ;
   virtual void do_print () const;
   virtual void do_pre_move_processing ();
index f3887077b37528f540583d7a8b1910048a1cbb50..bd8bbd9237abdc3cbbccaaa0a90c0d99aa327e63 100644 (file)
@@ -40,7 +40,7 @@ protected:
   virtual void acknowledge_element (Score_element_info i);
   virtual void do_removal_processing ();
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing ();
   void queue_events ();
index 8de616c71dc097f4a7cb3b4f6e27396c027b8e60..eac7a48a0ffe938e3636c073aa0e456812f1ddb4 100644 (file)
@@ -20,6 +20,6 @@ public:
     
   Rest_collision();
 protected:
-  virtual void do_pre_processing();
+  virtual void before_line_breaking ();
 };
 #endif // REST_COLLISION_HH
index a3b6ced3e3190f122c2d6963d70c1546edd284b7..54d5967480f15343ab974d603c8a0c425fc58dde 100644 (file)
@@ -21,7 +21,7 @@ protected:
   virtual bool do_try_music (Music *);
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
 public:
   
   VIRTUAL_COPY_CONS(Translator);
index 56b13441a6a4a5a7bb829fe85d03d031ba525831..21ab46ae038664a0a58600f2fdeff8b22aa869d8 100644 (file)
@@ -15,7 +15,7 @@
 class  Rest : public Rhythmic_head
 {
 protected:
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
   virtual Molecule do_brew_molecule () const;
 };
 #endif // REST_HH
index 3de4c87acef1aee084ece70dc06df8837694b920..2435085d57cc27e1fae565d887f84c5c6a9743e8 100644 (file)
@@ -23,7 +23,7 @@ public:
   Dots * dots_l () const;
   int dot_count () const;
 protected:
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
 };
 
 #endif // RHYTHMIC_HEAD_HH
index e3bec466effb37c587f251da14e0711d01fd87b8..8eb39f509bb0adc799303eda1e109c215a8f20c9 100644 (file)
@@ -141,14 +141,14 @@ protected:
   ///executed directly after the item is added to the Paper_score
   virtual void do_add_processing ();
   /// do calculations before determining horizontal spacing
-  virtual void do_pre_processing ();
+  virtual void before_line_breaking ();
 
   /// generate rods & springs
   virtual void do_space_processing ();
 
   virtual void do_breakable_col_processing ();
   /// do calculations after determining horizontal spacing
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
     
   virtual Link_array<Score_element> get_extra_dependencies () const;
 
index 4f6e2bca81daedf0a370ead98a2d97a79165e2ad..9e2b9ded5f23a2a16547cc7b671319e9f5fb6012 100644 (file)
@@ -18,7 +18,7 @@ public:
   Script_column();
   void add_staff_sided (Item*);
 protected:
-  virtual void do_pre_processing ();
+  virtual void before_line_breaking ();
 };
 
 
index b9c0be1238116e6f3d7835429fe49dfa3a868133..c6ee25529ec0bf1dc6f2c5d326a0f8b955782e22 100644 (file)
@@ -24,8 +24,8 @@ class Script : public Item
 public:
   
 protected:
-  virtual void do_pre_processing ();
-  virtual void do_post_processing ();
+  virtual void before_line_breaking ();
+  virtual void after_line_breaking ();
   Molecule do_brew_molecule () const;
 };
 
index d82cb95cdb374eb455c54a59ae14a94032d44f2b..f639783421bc095a6ba6cf8f997cec2277ece4d0 100644 (file)
@@ -19,7 +19,7 @@ class Slur_engraver :public Engraver {
   void set_melisma (bool);
 protected:
   virtual bool do_try_music (Music*);
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
index 93844719ccc2717f246902c960218ce350d5ce2b..cb202f1e93032f41214176105842a1f9da8af21d 100644 (file)
@@ -30,7 +30,7 @@ protected:
   Drul_array<Real> dx_f_drul_;
 
   virtual Direction get_default_dir () const;
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
   virtual void do_add_processing ();
   Array<Rod> get_rods () const;
 
index 8100bbafedec5078ca1dc7c92f2da88e1da6c3ce..bc93e8fe3dbdd9470e48be1edbde299d92e4ca24 100644 (file)
@@ -36,9 +36,9 @@ protected:
   static Interval width_callback(Dimension_cache const*) ;
   static Interval height_callback(Dimension_cache const*) ;  
   
-  virtual void do_pre_processing();
-  virtual void do_post_processing();
-  virtual Molecule do_brew_molecule() const;
+  virtual Real get_bar_size () const;
+  virtual void before_line_breaking ();
+  virtual void after_line_breaking ();
 };
 
 #endif // SPAN_BAR_HH
index 4c552e081f9c86a01bf0c04b29810e87f2eff51d..12abd08cfbff14a6e8dd9df91c19936d64f68d4f 100644 (file)
@@ -30,7 +30,7 @@ protected:
   virtual void play_element (Audio_element* p);
   virtual void do_removal_processing ();
   virtual void do_creation_processing ();
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void do_pre_move_processing ();
 
 private:
index b31627019fa6f5b3850b0e9d01b246c83599917a..8eee7cee7ed13c1176f2c456892abb4a46a7bc1e 100644 (file)
@@ -89,7 +89,7 @@ protected:
 protected:
   Molecule flag () const;
 
-  virtual void do_pre_processing();
+  virtual void before_line_breaking();
   static Interval dim_callback (Dimension_cache const*);
   virtual Molecule do_brew_molecule() const;
 
index fc7be5139ab009217766c0e9e070c05a8b383b5b..086b731cd3804bbcfa99d3adce3d24faf7c019cc 100644 (file)
@@ -23,7 +23,7 @@ public:
 protected:
   void do_print() const;
   virtual bool do_try_music (Music* req_l);
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_pre_move_processing ();
 
 private:
index d4de3697df80441d01aed8c97002c641592f64ec..cdbe522201becfc5d0cb66c7bcb3a1dcffdba3f9 100644 (file)
@@ -20,7 +20,7 @@ public:
   void add_tie (Tie*);
   Tie_column ();
 protected:
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
   void set_directions ();
   
 };
index 8e3d9d50e80b03eaa77f215132404e82cfac3ece..6b1f9244702947d4bb3301d76aed5dd66227cd58 100644 (file)
@@ -54,7 +54,7 @@ protected:
   virtual void do_pre_move_processing ();
   virtual void acknowledge_element (Audio_element_info);
   virtual bool do_try_music (Music*);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void process_acknowledged ();
 
 };
index 53dc0733ec0d2c2c8110d6c1683a85d9e877a965..4240193247a4b2017158ebe33547c0bc4bf2ad9b 100644 (file)
@@ -37,7 +37,7 @@ protected:
   Drul_array<Real> dx_f_drul_;
 
   virtual void do_add_processing ();
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
 
   virtual Array<Rod> get_rods () const;
 
index aa35e921ee5becd7ddec2112968db8f6cad6d1fd..11959f816f04d34214c91ab1d96c77e82493a14e 100644 (file)
@@ -17,7 +17,7 @@
   */
 class Time_signature_engraver : public Engraver {
 protected:
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_pre_move_processing();
 public:
   VIRTUAL_COPY_CONS(Translator);
index c2c8330715805cde845927cac703dccb0c00eb54..7226d1c086897e22a0f17512823d591a7af376fd 100644 (file)
@@ -23,7 +23,7 @@ public:
 protected:
   void do_print() const;
   virtual bool do_try_music (Music* req_l);
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_pre_move_processing ();
 
 private:
index 4309878562f4f074529a2648b39de2583be42dee..c60d4de3b5b48f88b592e00dfd771230821935e6 100644 (file)
@@ -26,7 +26,7 @@ public:
 protected: 
   virtual void do_creation_processing ();
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
 
index 11df320ce8a7bc08cbf9eb105c8689f2d187bf55..b2cba74b19dae4802dbdb1c189fa97a55fc5c469 100644 (file)
@@ -76,7 +76,7 @@ protected:
   bool try_music_on_nongroup_children (Music *m);
   
   virtual void do_print () const;
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void do_add_processing ();
   virtual bool do_try_music (Music* req_l);       
   virtual void do_pre_move_processing();
index 7740fc7a9ca050220d150c50ebc5821eb2591997..f7afd50cfa97c55abf827c26b42b8369cca96864 100644 (file)
@@ -91,7 +91,7 @@ protected:
   virtual void do_print () const;
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
-  virtual void do_process_requests () ;
+  virtual void do_process_music () ;
   virtual void do_creation_processing() ;
   virtual void do_removal_processing();
 };
index a38a9dcb4c3f7343a4902b0eb77b016bffc66203..b851d1f626c5787e9e6d9844561f347eb64e3a2c 100644 (file)
@@ -31,7 +31,7 @@ protected:
   virtual Molecule do_brew_molecule () const;
   VIRTUAL_COPY_CONS(Score_element);
   virtual void do_add_processing ();
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
   virtual Direction get_default_dir () const;
 };
 
index bdc42ffdf43ffe6bec523f0122bf3d93a6505af7..9630477fa8382b6df50c3b65517b632fcc790478 100644 (file)
@@ -27,7 +27,7 @@ protected:
 
   virtual void do_add_processing ();
   static  Interval dim_callback (Dimension_cache const*);
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
 };
 
 #endif // VOLTA_SPANNER_HH
index 161f323b0f2e573606b80825e379fb7a31745601..b9f0ec4e29f0f4c528c86548e1977b0015557ac0 100644 (file)
@@ -106,7 +106,7 @@ Key_engraver::acknowledge_element (Score_element_info info)
 }
 
 void
-Key_engraver::do_process_requests ()
+Key_engraver::do_process_music ()
 {
   if (keyreq_l_) 
     {
index d026cf590de28b1154b8605d79f8222ed652d540..6c4132a451e8e9105bc1c7019c2a85f19a8d507f 100644 (file)
@@ -35,7 +35,7 @@ Key_performer::do_print () const
 }
 
 void
-Key_performer::do_process_requests ()
+Key_performer::do_process_music ()
 {
   if (key_req_l_)
     {
index 228ec8d1574d044237b5f8e8a52387151451e728..bfd5390b9c20cef1efc6bf52bf1c36fc4638c8f1 100644 (file)
@@ -34,7 +34,7 @@ struct Local_key_engraver : Engraver {
   Local_key_item *key_item_p_;
 protected:
   VIRTUAL_COPY_CONS(Translator);
-  virtual void do_process_requests();
+  virtual void do_process_music();
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing();
   virtual void do_creation_processing ();
@@ -218,7 +218,7 @@ Local_key_engraver::acknowledge_element (Score_element_info info)
 }
 
 void
-Local_key_engraver::do_process_requests()
+Local_key_engraver::do_process_music()
 {
   if (time_trans_l_ && !time_trans_l_->measure_position ())
     {
index 249abd0743389dd843a477ec07924803cff7e359..354e49cd1e92a4603dd3f37109d2f6df80076c20 100644 (file)
@@ -33,7 +33,7 @@ Local_key_item::add_pitch (Musical_pitch p, bool cautionary, bool natural)
 
 
 void
-Local_key_item::do_pre_processing()
+Local_key_item::before_line_breaking ()
 {
   accidental_arr_.sort (Local_key_cautionary_tuple::compare);
 }
@@ -126,7 +126,7 @@ Local_key_item::do_brew_molecule() const
 
        Box b(Interval (0, gh_scm2double (pads[d]) * note_distance),
              Interval (0,0));
-       Molecule m (lookup_l ()->fill (b));
+       Molecule m (lookup_l ()->blank (b));
        mol.add_at_edge (X_AXIS, d, m, 0);
       } while ( flip (&d)!= LEFT);
     }
index 60c59e8141d42c7a81cbd0551d0f46f5b37cab4e..61e12a1c5101c8a75746e4328cfa999ca7d989a0 100644 (file)
@@ -36,7 +36,7 @@ Lyric_engraver::do_try_music (Music*r)
 }
 
 void
-Lyric_engraver::do_process_requests()
+Lyric_engraver::do_process_music()
 {
   if (req_l_)
     {
index 5a5be595670ce3c5754bb1c8666474087204c92b..e07fe0f4fe1df5dfd3495d024f494861ff69da71 100644 (file)
@@ -27,7 +27,7 @@ Lyric_performer::do_print () const
 }
 
 void
-Lyric_performer::do_process_requests ()
+Lyric_performer::do_process_music ()
 {
   if (lreq_arr_.size () && lreq_arr_[0]->text_str_.length_i ())
     {
index 3c3777d5e85aa36944ada32057eb8a3f4ddde1ed..1158daec6e39ffbabfbd866886958c650950c67a 100644 (file)
@@ -20,7 +20,7 @@ public:
   VIRTUAL_COPY_CONS(Translator);
 protected:
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void do_post_move_processing ();
 private:
   Mark_req * mark_req_l_;
@@ -59,7 +59,7 @@ Mark_engraver::do_try_music (Music* r_l)
 }
 
 void
-Mark_engraver::do_process_requests ()
+Mark_engraver::do_process_music ()
 {
   if (mark_req_l_)
     {
index 2ed4779388bb776749584fbee2faa9c7371b7151..de6975998a9ab50f19d576a4a9fbfa647d3a4b01 100644 (file)
@@ -26,7 +26,7 @@ public:
 
 protected:
   virtual void acknowledge_element (Score_element_info i);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual bool do_try_music (Music*);
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
@@ -87,7 +87,7 @@ Multi_measure_rest_engraver::do_try_music (Music* req_l)
 
 
 void
-Multi_measure_rest_engraver::do_process_requests ()
+Multi_measure_rest_engraver::do_process_music ()
 {
   if (new_req_l_ && stop_req_l_)
     stop_req_l_ = 0;
index cba889d3f71924ee7f05401f26b33cca8c8abf56..6001e531bf384cb552bd253c7da195321a21448d 100644 (file)
@@ -40,7 +40,7 @@ Multi_measure_rest::do_brew_molecule () const
   Direction d = LEFT;
   do
     {
-      Item * col = spanned_drul_[d]->column_l ();
+      Item * col = get_bound (d)->column_l ();
 
       Interval coldim = col->extent (X_AXIS)
        + col->relative_coordinate (0, X_AXIS);
@@ -51,7 +51,7 @@ Multi_measure_rest::do_brew_molecule () const
   Molecule mol;
   Real x_off = 0.0;
 
-  Real rx  = spanned_drul_[LEFT]->relative_coordinate (0, X_AXIS);
+  Real rx  = get_bound (LEFT)->relative_coordinate (0, X_AXIS);
   /*
     we gotta stay clear of sp_iv, so move a bit to the right if
     needed.
@@ -143,15 +143,15 @@ Multi_measure_rest::do_add_processing ()
     {
       Link_array<Item> column_arr (Group_interface__extract_elements (this, (Item*)0, "columns"));
                                    
-      set_bounds (LEFT, column_arr[0 >? column_arr.size () - 2]);
-      set_bounds (RIGHT, column_arr.top ());
+      set_bound (LEFT, column_arr[0 >? column_arr.size () - 2]);
+      set_bound (RIGHT, column_arr.top ());
     }
 
   // set columns to SCM_EOL?
 }
   
 void
-Multi_measure_rest::do_post_processing ()
+Multi_measure_rest::after_line_breaking ()
 {
   if (!gh_pair_p (get_elt_property ("columns")))
     set_elt_property ("transparent", SCM_BOOL_T);
@@ -175,14 +175,14 @@ Multi_measure_rest::get_rods () const
 {
   Array<Rod> a;
 
-  if (!(spanned_drul_[LEFT] && spanned_drul_[RIGHT]))
+  if (!(get_bound (LEFT) && get_bound (RIGHT)))
     {
       programming_error ("Multi_measure_rest::get_rods (): I am not spanned!");
       return a;
     }
 
-  Item * l = spanned_drul_[LEFT]->column_l ();
-  Item * r = spanned_drul_[RIGHT]->column_l ();
+  Item * l = get_bound (LEFT)->column_l ();
+  Item * r = get_bound (RIGHT)->column_l ();
   Item * lb = l->find_broken_piece (RIGHT);
   Item * rb = r->find_broken_piece (LEFT);      
   
index 8dca8fc0610632b10737a4d088423cf70256438c..ab801410ffb37bbc853b01236342497baaeeeaf9 100644 (file)
@@ -147,7 +147,7 @@ Note_column::set_dotcol (Dot_column *d)
 */
 
 void
-Note_column::do_post_processing ()
+Note_column::after_line_breaking ()
 {
   if (!stem_l () || !rest_b ())
     return;
index 188d967f3bd6bce78c810e26f595a6c5b1c81af1..ea39db1104aa0c6d15b69e99eaf5b8721988bf3f 100644 (file)
@@ -53,7 +53,7 @@ Note_head::ledger_line (Interval xwid) const
 
 
 void
-Note_head::do_pre_processing ()
+Note_head::before_line_breaking ()
 {
   // 8 ball looks the same as 4 ball:
   String type; 
index 4a397581a3f3dd63d1b7515bd29f4fd5c971f9c7..9dcc8751922bf0383cfc889de9c1bc4533f24b56 100644 (file)
@@ -53,7 +53,7 @@ Note_heads_engraver::do_try_music (Music *m)
 }
 
 void
-Note_heads_engraver::do_process_requests()
+Note_heads_engraver::do_process_music()
 {
   if (note_p_arr_.size ())
     return ;
index a87cea19ff94e366aba658f3f023a221f8c3cbf6..4c629dd2b787025007c31612c626914d67ee9dad 100644 (file)
@@ -18,7 +18,7 @@ public:
   Link_array<Note_req> req_l_arr_;
   Link_array<Text_item> texts_;
   virtual bool  do_try_music (Music*m);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void do_pre_move_processing ();
 };
 
@@ -35,7 +35,7 @@ Note_name_engraver::do_try_music (Music *m)
 
 
 void
-Note_name_engraver::do_process_requests ()
+Note_name_engraver::do_process_music ()
 {
   String s ;
   for (int i=0; i < req_l_arr_.size (); i++)
index 6e2bab25cab698d84b42d655dcf327710be09928..c0f8cf48ef87b070b879cd111d428c0f3cf33afc 100644 (file)
@@ -31,7 +31,7 @@ Note_performer::do_print () const
 }
 
 void 
-Note_performer::do_process_requests () 
+Note_performer::do_process_music () 
 {
   if (note_req_l_arr_.size ())
     {
index ef5a60c3b0ea78c04df4e7e8b77b4f1bff851cd8..dcf545cf3ff147b289f7bf186501ca6a1928a10f 100644 (file)
@@ -137,7 +137,7 @@ Repeat_engraver::queue_events ()
 }
 
 void
-Repeat_engraver::do_process_requests ()
+Repeat_engraver::do_process_music ()
 {
   if (repeated_music_l_ && !done_this_one_b_)
     { 
index 07ab3c764aa789991245e082ef68dec9d3e24275..4ef293f8f15a73b5e64903d3f2d883ae24c75aea 100644 (file)
@@ -33,7 +33,7 @@ Rest_collision::add_column (Note_column *nc_l)
 }
 
 void
-Rest_collision::do_pre_processing()
+Rest_collision::before_line_breaking ()
 {
   Link_array<Note_column> rest_l_arr =
     Group_interface__extract_elements (this, (Note_column*) 0, "rests");
index 5fe98cf2936f97b4b27d4a5bbc74f82cdbcf323f..fce8f71bbd4dde7bdb0bd8fa9c02aea88b0f408e 100644 (file)
@@ -42,7 +42,7 @@ Rest_engraver::do_pre_move_processing ()
 }
 
 void
-Rest_engraver::do_process_requests ()
+Rest_engraver::do_process_music ()
 {
   if (rest_req_l_ && !rest_p_) 
     {
index 783372390c783e7a0886d4189fef4feec0dc17ac..0c4aafee6697b6aa4187c71b005aca14a470ca5a 100644 (file)
@@ -17,7 +17,7 @@
 
 
 void
-Rest::do_post_processing ()
+Rest::after_line_breaking ()
 {
   if (balltype_i () == 0)
     {
index a96a750f74ba515ade874325a7263bb4b72a8dd6..015fa2f9aa99ee7436c3cebc57aa760670a0d357 100644 (file)
@@ -49,7 +49,7 @@ Rhythmic_head::dot_count () const
 }
   
 void
-Rhythmic_head::do_post_processing ()
+Rhythmic_head::after_line_breaking ()
 {
   if (Dots *d = dots_l ())
     {
index bdc28e626aff13416e360958c365f685a23cd1e7..141d95a22d9f819541d56d3982c8330b3d5e487c 100644 (file)
@@ -274,7 +274,7 @@ Score_element::do_break_processing()
 }
 
 void
-Score_element::do_post_processing()
+Score_element::after_line_breaking ()
 {
 }
 
@@ -285,7 +285,7 @@ Score_element::do_breakable_col_processing()
 }
 
 void
-Score_element::do_pre_processing()
+Score_element::before_line_breaking ()
 {
 }
 
@@ -312,9 +312,9 @@ Score_element::do_brew_molecule() const
     }
   else
     {
-      Interval emp;
-      emp.set_empty ();
-      return lookup_l ()->fill (Box (emp,emp));
+      Molecule m ;
+      m.set_empty (true);
+      return m;
     }
 }
 
@@ -555,28 +555,28 @@ Score_element::fixup_refpoint ()
   for (int a = X_AXIS; a < NO_AXES; a ++)
     {
       Axis ax = (Axis)a;
-      Score_element * par = parent_l (ax);
+      Score_element * parent = parent_l (ax);
 
-      if (!par)
+      if (!parent)
        continue;
       
-      if (par->line_l () != line_l ())
+      if (parent->line_l () != line_l ())
        {
-         Score_element * newpar = par->find_broken_piece (line_l ());
-         set_parent (newpar, ax);
+         Score_element * newparent = parent->find_broken_piece (line_l ());
+         set_parent (newparent, ax);
        }
 
       if (Item * i  = dynamic_cast<Item*> (this))
        {
-         Item *pari = dynamic_cast<Item*> (par);
+         Item *parenti = dynamic_cast<Item*> (parent);
 
-         if (pari && i)
+         if (parenti && i)
            {
              Direction  my_dir = i->break_status_dir () ;
-             if (my_dir!= pari->break_status_dir())
+             if (my_dir!= parenti->break_status_dir())
                {
-                 Item *newpar =  pari->find_broken_piece (my_dir);
-                 set_parent (newpar, ax);
+                 Item *newparent =  parenti->find_broken_piece (my_dir);
+                 set_parent (newparent, ax);
                }
            }
        }
index 5c892091a7bfb8d7447f003c1e3a6f8842ede9c8..a386058d87bdb9fb0b04f833c665536b90efcccc 100644 (file)
@@ -41,7 +41,7 @@ staff_side_compare (Item * const &i1,
 }
 
 void
-Script_column::do_pre_processing ()
+Script_column::before_line_breaking ()
 {
   Drul_array<Link_array<Item> > arrs;
   Link_array<Item> staff_sided 
index 74d8b93f9f7be4f0e61bd6164484ad5d437904ff..5498b5b7f60f2db2d717bd5e41293609853932da 100644 (file)
@@ -25,7 +25,7 @@ public:
   Script_engraver();
 protected:
   virtual bool do_try_music (Music*);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
   virtual void acknowledge_element (Score_element_info);
@@ -54,7 +54,7 @@ Script_engraver::do_try_music (Music *r_l)
 }
 
 void
-Script_engraver::do_process_requests()
+Script_engraver::do_process_music()
 {
   for (int i=0; i < script_req_l_arr_.size(); i++)
     {
index 7e19e16940ab95320646df44fd6949be31948e24..6f96f1b7b8638042f2f69128b76534925fc3a396 100644 (file)
@@ -39,7 +39,7 @@ Script::get_molecule(Direction d) const
 
 
 void
-Script::do_pre_processing ()
+Script::before_line_breaking ()
 {
   /*
     center my self on the note head.
@@ -49,7 +49,7 @@ Script::do_pre_processing ()
 }
 
 void
-Script::do_post_processing ()
+Script::after_line_breaking ()
 {
   Side_position_interface i (this);
   Direction d =  i.get_direction ();
index 61a7d6ce03d4b099c50d1ecb4d8969316bd5a88c..0b1a8c6839a4aabb7fcd56a0f47df0c0042674cf 100644 (file)
@@ -63,7 +63,7 @@ Slur_engraver::do_removal_processing ()
 }
 
 void
-Slur_engraver::do_process_requests()
+Slur_engraver::do_process_music()
 {
   Array<Slur*> start_slur_l_arr_;
   for (int i=0; i< new_slur_req_l_arr_.size(); i++)
index 679ece65b5b264333a03e235cd0938a21be8c108..c2166932a04d16eccfbedfb28ca7bdca4813936c 100644 (file)
@@ -121,8 +121,8 @@ Slur_bezier_bow::minimise_enclosed_area (Paper_def* paper_l,
                                         Real default_height)
 {
   Real length = curve_.control_[3][X_AXIS]; 
-  Real bbc = paper_l->get_var ("bezier_beautiful");
-  Real beautiful = length * default_height / bbc;
+  Real sb = paper_l->get_var ("slur_beautiful");
+  Real beautiful = length * default_height * sb;
 
   DEBUG_OUT << to_str ("Beautiful: %f\n", beautiful);
   DEBUG_OUT << to_str ("Length: %f\n", length);
@@ -302,9 +302,9 @@ Slur::do_add_processing ()
 
   if (encompass_arr.size ())
     {
-      set_bounds (LEFT, encompass_arr[0]);    
+      set_bound (LEFT, encompass_arr[0]);    
       if (encompass_arr.size () > 1)
-       set_bounds (RIGHT, encompass_arr.top ());
+       set_bound (RIGHT, encompass_arr.top ());
     }
 }
 
@@ -352,7 +352,7 @@ Slur::encompass_offset (Note_column const* col) const
 }
 
 void
-Slur::do_post_processing ()
+Slur::after_line_breaking ()
 {
   set_extremities ();
   set_control_points ();
@@ -411,7 +411,7 @@ Slur::set_extremities ()
       dx_f_drul_[d] = 0;
       dy_f_drul_[d] = 0;
       
-      if ((note_column_drul[d] == spanned_drul_[d])
+      if ((note_column_drul[d] == get_bound (d))
          && note_column_drul[d]->first_head ()
          && (note_column_drul[d]->stem_l ()))
        {
@@ -425,7 +425,7 @@ Slur::set_extremities ()
              && !((my_dir == stem_l->get_direction ())
                   && stem_l->beam_l () && (stem_l->beam_count (-d) >= 1)))
            {
-             dx_f_drul_[d] = spanned_drul_[d]->extent (X_AXIS).length () / 2;
+             dx_f_drul_[d] = get_bound (d)->extent (X_AXIS).length () / 2;
              dx_f_drul_[d] -= d * x_gap_f;
 
              if (stem_l->get_direction () != my_dir)
@@ -445,7 +445,7 @@ Slur::set_extremities ()
          else
            {
              dx_f_drul_[d] = stem_l->hpos_f ()
-               - spanned_drul_[d]->relative_coordinate (0, X_AXIS);
+               - get_bound (d)->relative_coordinate (0, X_AXIS);
              /*
                side attached to beamed stem
               */
@@ -503,7 +503,7 @@ Slur::set_extremities ()
 
   if (fix_broken_b)
     {
-      Direction d = (encompass_arr.top () != spanned_drul_[RIGHT]) ?
+      Direction d = (encompass_arr.top () != get_bound (RIGHT)) ?
        RIGHT : LEFT;
       dy_f_drul_[d] = info_drul[d][Y_AXIS];
       if (!interstaff_b)
@@ -569,7 +569,7 @@ Slur::get_encompass_offset_arr () const
 
   int cross_count  = cross_staff_count ();
   bool cross_b = cross_count && cross_count < encompass_arr.size ();
-  if (encompass_arr[0] != spanned_drul_[LEFT])
+  if (encompass_arr[0] != get_bound (LEFT))
     {
       first--;
       Real is   = calc_interstaff_dist (encompass_arr[0], this);
@@ -580,7 +580,7 @@ Slur::get_encompass_offset_arr () const
   /*
     right is broken edge
   */
-  if (encompass_arr.top () != spanned_drul_[RIGHT])
+  if (encompass_arr.top () != get_bound (RIGHT))
     {
       last++;
     }
@@ -603,7 +603,9 @@ Slur::get_rods () const
 {
   Array<Rod> a;
   Rod r;
-  r.item_l_drul_ = spanned_drul_;
+  r.item_l_drul_[LEFT] = get_bound (LEFT);
+  r.item_l_drul_[RIGHT] = get_bound (RIGHT);
+  
   r.distance_f_ = paper_l ()->get_var ("slur_x_minimum");
 
   a.push (r);
@@ -612,31 +614,6 @@ Slur::get_rods () const
 
 
 
-#if 0
-SCM
-ugly_scm (Bezier  b) 
-{
-  b.translate (-b.control_[0]);
-  Real alpha = b.control_[3].arg ();
-
-  b.rotate ( -alpha);
-  if (b.control_[1][Y_AXIS] < 0)
-    {
-      b.control_[1][Y_AXIS] *= -1;
-      b.control_[2][Y_AXIS] *= -1;      
-    }
-
-  Real len = b.control_[3][X_AXIS];
-  Real indent = 10 *b.control_[1][X_AXIS] / len ;
-  Real ht = 10 *b.control_[1][Y_AXIS] / len ;
-  
-  SCM res = scm_eval (scm_listify (ly_symbol2scm ("slur-ugly"), gh_double2scm (indent), gh_double2scm (ht), SCM_UNDEFINED ));
-
-  return res;
-}
-#endif
-
-
 /*
   Ugh should have dash-length + dash-period
  */
@@ -653,19 +630,6 @@ Slur::do_brew_molecule () const
   else
     a = lookup_l ()->slur (one, directional_element (this).get () * thick, thick);
 
-#if 0 
-  SCM u = ugly_scm (one);
-  if (gh_pair_p (u))
-    {
-      Molecule mark = lookup_l ()-> text ( "roman",
-                          to_str (gh_scm2double (gh_car (u)), "%0.2f") + "," +
-                          to_str(gh_scm2double (gh_cdr (u)), "%0.2f"),
-                          paper_l ());
-
-      mark.translate_axis (20 , Y_AXIS);
-      a.add_molecule (mark);
-    }
-#endif
   return a;
 }
 
index 0ee3142afdb8076c6cc1ae18b750fab693c10a6f..4aacb942480705d6f7c7dc665e53d42261a00376 100644 (file)
@@ -31,16 +31,18 @@ Span_bar::width_callback (Dimension_cache const * c)
 {
   Span_bar*  s= dynamic_cast<Span_bar*> (c->element_l ());  
   String gl = ly_scm2string (s->get_elt_property ("glyph"));
-  
-  Molecule m = s->lookup_l ()->bar (gl, 40 PT, s->paper_l ());
+
+  /*urg.
+   */
+  Molecule m = s->compound_barline (gl, 40 PT);
   
   return m.extent (X_AXIS);
 }
 
 void
-Span_bar::do_pre_processing ()
+Span_bar::before_line_breaking ()
 {
-  Bar::do_pre_processing ();
+  Bar::before_line_breaking ();
   
   evaluate_empty ();
   
@@ -48,9 +50,9 @@ Span_bar::do_pre_processing ()
 }
 
 void
-Span_bar::do_post_processing ()
+Span_bar::after_line_breaking ()
 {
-  Bar::do_post_processing ();
+  Bar::after_line_breaking ();
   Interval i(get_spanned_interval ());
 
   translate_axis (i.center (), Y_AXIS);
@@ -88,6 +90,10 @@ Span_bar::evaluate_empty ()
       type_str= ".|.";
     }
   }
+
+  /*
+    uhh. should do something with type_str ?!!
+   */
 }
 
 Interval
@@ -113,6 +119,7 @@ Span_bar::get_spanned_interval () const
          y_int.unite (y + iv);
        }
     }
+  
   return y_int;
 }
 
@@ -123,29 +130,21 @@ Span_bar::height_callback (Dimension_cache const *c)
   return s->get_spanned_interval ();
 }
 
-Molecule 
-Span_bar::do_brew_molecule () const
+Real
+Span_bar::get_bar_size () const
 {
-  Interval iv (get_spanned_interval ());
-  Molecule output;
-  SCM s = get_elt_property ("glyph");
-  if (gh_string_p (s) && !iv.empty_b())
-    {
-      output.add_molecule (lookup_l ()->bar (ly_scm2string (s),
-                                             iv.length (),
-                                             paper_l ()));
-    }
-  else
-    {
-      programming_error("Huh? My children deflated (FIXME)");
-    }
-  return output;
+   Interval iv (get_spanned_interval ());
+   if (iv.empty_b ())
+     {
+       programming_error("Huh? My children deflated (FIXME)");
+       iv = Interval (0,0);
+     }
+   return iv.length ();
 }
 
-
-
 Span_bar::Span_bar ()
 {
+  group (this).set_interface ();
   dim_cache_[X_AXIS]->set_callback (width_callback);
   dim_cache_[Y_AXIS]->set_callback (height_callback);  
 }
index 208da51a180cbda2cc3b86a7f0018099a2db3b69..bebb642468f2995be851d89733a7c5e935e99d70 100644 (file)
@@ -45,7 +45,7 @@ Staff_performer::do_creation_processing ()
 }
 
 void
-Staff_performer::do_process_requests ()
+Staff_performer::do_process_music ()
 {
   String str = new_instrument_str ();
   if (str.length_i ())
@@ -55,7 +55,7 @@ Staff_performer::do_process_requests ()
       instrument_p_ = new Audio_instrument (str);
       announce_element (Audio_element_info (instrument_p_, 0));
     }
-  Performer_group_performer::do_process_requests ();
+  Performer_group_performer::do_process_music ();
 }
 
 void
index ce3312a9b11dd405d5eb47898c74e67b342456f9..2b9ca36469099d4f356de946bfe135b7e6f7d08b 100644 (file)
@@ -101,6 +101,7 @@ Stem::get_direction () const
     {
        Stem * me = (Stem*) this;
        d = get_default_dir ();
+       // urg, AAARGH!
        directional_element (me).set (d);
     }
   return d ;
@@ -366,7 +367,7 @@ Stem::position_noteheads ()
 }
 
 void
-Stem::do_pre_processing ()
+Stem::before_line_breaking ()
 {
   stem_end_position ();        // ugh. Trigger direction calc.
   position_noteheads ();
index c46d963f2111024c4bdfe7e667960768e5afc04b..ee544eafae140dafbb89e3ffd93dcfebfb1d4995 100644 (file)
@@ -36,7 +36,7 @@ enum Score_element_status {
 void
 Super_element::pre_processing ()
 {
-  calculate_dependencies (PRECALCED, PRECALCING, &Score_element::do_pre_processing);
+  calculate_dependencies (PRECALCED, PRECALCING, &Score_element::before_line_breaking);
 }
 
 void
@@ -56,18 +56,13 @@ Super_element::breakable_col_processing ()
   //  calculate_dependencies (PREBROKEN_SECOND, PREBROKEN_SECOND, &Score_element::handle_prebroken_dependents);
 }
 
-void
-Super_element::break_processing ()
-{
-  calculate_dependencies (BROKEN, BROKEN, &Score_element::do_break_processing);
-}
 
 void
 Super_element::post_processing ()
 {
   //  calculate_dependencies (BROKEN_SECOND, BROKEN_SECOND,
   //             &Score_element::handle_broken_dependents);
-  calculate_dependencies (POSTCALCED, POSTCALCING, &Score_element::do_post_processing);
+  calculate_dependencies (POSTCALCED, POSTCALCING, &Score_element::after_line_breaking);
 }
 
 void
index 3463d3e8e4d65483e46e46ead1f4c68ced508c98..b728730947e1093b77cbe9470cb78e98f1a7122c 100644 (file)
@@ -32,7 +32,7 @@ Tempo_performer::do_print () const
 }
 
 void
-Tempo_performer::do_process_requests ()
+Tempo_performer::do_process_music ()
 {
   if (tempo_req_l_)
     {
index 194b779774f5a24378275894a79aa2fc6a0c0750..ad69deef943190671c4744386da9e3d3dcdd083d 100644 (file)
@@ -30,7 +30,7 @@ protected:
   virtual bool do_try_music (Music* m);
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void acknowledge_element (Score_element_info);
 };
 
@@ -72,7 +72,7 @@ Text_engraver::acknowledge_element (Score_element_info i)
 }
 
 void
-Text_engraver::do_process_requests ()
+Text_engraver::do_process_music ()
 {
   for (int i=0; i < reqs_.size (); i++)
     {
index f23d218d9316ca1dc82d970700fa3e789caf76d4..78d6b487c3134d555e4b375d4adc588e1b31c77f 100644 (file)
@@ -27,8 +27,8 @@ Tie_column::add_tie (Tie *s)
   Group_interface g (this, "ties");
   if (!g.count ())
     {
-      set_bounds (LEFT, s->head (LEFT));
-      set_bounds (RIGHT, s->head (RIGHT));
+      set_bound (LEFT, s->head (LEFT));
+      set_bound (RIGHT, s->head (RIGHT));
     }
   
   group (this, "ties").add_element (s);
@@ -92,7 +92,7 @@ Tie_column::set_directions ()
 }
 
 void
-Tie_column::do_post_processing ()
+Tie_column::after_line_breaking ()
 {
   set_directions ();
 }
index 9ad9be22363227408e9729abfb4ef12189588045..273d66843ea6aba0a14dbd5483300402a3d86f2a 100644 (file)
@@ -57,7 +57,7 @@ protected:
   virtual void do_pre_move_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual bool do_try_music (Music*);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void process_acknowledged ();
 
 public:
@@ -110,7 +110,7 @@ Tie_engraver::acknowledge_element (Score_element_info i)
 }
 
 void
-Tie_engraver::do_process_requests ()
+Tie_engraver::do_process_music ()
 {
   if (req_l_)
     {
index b9109b9d86d3d53a37f082e6370b4dd844ea1cf1..9b5afbc4918fc293e5500cb55599bb83075c79df 100644 (file)
@@ -47,7 +47,7 @@ Tie_performer::acknowledge_element (Audio_element_info i)
 }
 
 void
-Tie_performer::do_process_requests ()
+Tie_performer::do_process_music ()
 {
   if (req_l_)
     {
index 87de462d7391656f316118bf2c377c9faebb76b6..6735059d29813a65e99e66a4ea10ae094925b8f8 100644 (file)
@@ -26,7 +26,7 @@ Tie::set_head (Direction d, Item * head_l)
   assert (!head (d));
   index_set_cell (get_elt_property ("heads"), d, head_l->self_scm_);
   
-  set_bounds (d, head_l);
+  set_bound (d, head_l);
   add_dependency (head_l);
 }
 
@@ -92,7 +92,7 @@ Tie::do_add_processing()
 }
 
 void
-Tie::do_post_processing()
+Tie::after_line_breaking ()
 {
   if (!head (LEFT) && !head (RIGHT))
     {
@@ -179,7 +179,10 @@ Tie::get_rods () const
 {
   Array<Rod> a;
   Rod r;
-  r.item_l_drul_ = spanned_drul_;
+
+  r.item_l_drul_ [LEFT]=get_bound (LEFT);
+  r.item_l_drul_ [RIGHT]=get_bound (RIGHT);  
+  
   r.distance_f_ = paper_l ()->get_var ("tie_x_minimum");
   a.push (r);
   return a;
index 0e6f874f1f6d5393deff9355a4619ff5c8308446..f485c22afd329a87d2d2a6293ddb1be8565ea322 100644 (file)
@@ -18,7 +18,7 @@ Time_signature_engraver::Time_signature_engraver()
 }
 
 void
-Time_signature_engraver::do_process_requests()
+Time_signature_engraver::do_process_music()
 {
   Translator * result =
     daddy_grav_l()->get_simple_translator ("Timing_engraver"); // ugh
index 3db298cdc4a513b7a64c1601d3d9c00c5bcd5a28..aeed66b8068da901e47692ff22e45fbc0db73fdb 100644 (file)
@@ -32,7 +32,7 @@ Time_signature_performer::do_print () const
 }
 
 void
-Time_signature_performer::do_process_requests ()
+Time_signature_performer::do_process_music ()
 {
   if (time_signature_req_l_)
     {
index 7e49f77f2ed0308faecc329b43a87a0ed951abfb..4ef6f4df2666c5e1e760fd78df630e9057afcb90 100644 (file)
@@ -54,7 +54,7 @@ Timing_translator::time_signature_req_l() const
 }
 
 void
-Timing_translator::do_process_requests()
+Timing_translator::do_process_music()
 {
   for (int i=0; i < timing_req_l_arr_.size (); i++)
     {
index c76e68e884696003c750dc44cc02963039e63a91..64851dfc192ad2e38c8125c764185a27e2d6eeb4 100644 (file)
@@ -388,7 +388,7 @@ Translator_group::do_post_move_processing ()
 }
 
 void
-Translator_group::do_process_requests ()
+Translator_group::do_process_music ()
 {
   each (&Translator::process_requests);
 }
index 28e2b4c31baa257369cee923de3c385052c94fb3..4840b898c48c9b4736a734a50d14edaf962b15e8 100644 (file)
@@ -145,7 +145,7 @@ Translator::process_requests ()
     return; 
   
   status = PROCESSED_REQS;
-  do_process_requests ();
+  do_process_music ();
 }
 
 void
@@ -182,7 +182,7 @@ Translator:: do_pre_move_processing(){}
 void
 Translator::do_post_move_processing(){}
 void
-Translator::do_process_requests () {}
+Translator::do_process_music () {}
 void
 Translator::do_creation_processing() {}
 void
index 2430e7b37c386241285ff3bc5750cd51cb941794..1dccd22122cff426a2287cdaa7ef5893d88b7420 100644 (file)
@@ -34,7 +34,7 @@ protected:
   virtual void do_removal_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual bool do_try_music (Music*r);
-  virtual void do_process_requests ();
+  virtual void do_process_music ();
   virtual void do_post_move_processing ();
 };
 
@@ -62,7 +62,7 @@ Tuplet_engraver::do_try_music (Music *r)
 }
 
 void
-Tuplet_engraver::do_process_requests ()
+Tuplet_engraver::do_process_music ()
 {
   SCM v = get_property ("tupletInvisible");
   if (to_boolean (v))
index 544759570939e5601815e3ec9d9bab6b078b2e83..ab38ee151415b1a5aa7af9bc37fe08cc7ac54e50 100644 (file)
@@ -116,8 +116,8 @@ Tuplet_spanner::do_add_processing ()
       Link_array<Note_column> column_arr=
        Group_interface__extract_elements (this, (Note_column*)0, "columns");
       
-      set_bounds (LEFT, column_arr[0]);
-      set_bounds (RIGHT, column_arr.top ());  
+      set_bound (LEFT, column_arr[0]);
+      set_bound (RIGHT, column_arr.top ());  
     }
 }
 
@@ -189,7 +189,7 @@ Tuplet_spanner::calc_dy (Real * dy) const
 }
 
 void
-Tuplet_spanner::do_post_processing ()
+Tuplet_spanner::after_line_breaking ()
 {
   Link_array<Note_column> column_arr=
     Group_interface__extract_elements (this, (Note_column*)0, "columns");
@@ -223,8 +223,8 @@ calc_position_and_height  (&offset,&dy);
       Score_element *b = unsmob_element (gh_car (bs));
       Beam * beam_l = dynamic_cast<Beam*> (b);
       if (!broken_b () 
-         && spanned_drul_[LEFT]->column_l () == beam_l->spanned_drul_[LEFT]->column_l ()
-         && spanned_drul_[RIGHT]->column_l () == beam_l->spanned_drul_[RIGHT]->column_l ())
+         && get_bound (LEFT)->column_l () == beam_l->get_bound (LEFT)->column_l ()
+         && get_bound (RIGHT)->column_l () == beam_l->get_bound (RIGHT)->column_l ())
        set_elt_property ("parallel-beam", SCM_BOOL_T);
     }
 }
index 9f5427a2443feb73407f40b5ef081df958ca34a4..743609de93fdee1d8371a8ea0968f73ec03d27b1 100644 (file)
@@ -114,8 +114,8 @@ Volta_spanner::do_add_processing ()
 
   if (bar_arr.size ())
     {
-      set_bounds (LEFT, bar_arr[0]);
-      set_bounds (RIGHT, bar_arr.top ());  
+      set_bound (LEFT, bar_arr[0]);
+      set_bound (RIGHT, bar_arr.top ());  
     }
 }
 
@@ -137,7 +137,7 @@ Volta_spanner::dim_callback (Dimension_cache const *c)
 }
 
 void
-Volta_spanner::do_post_processing ()
+Volta_spanner::after_line_breaking ()
 {
   Link_array<Bar> bar_arr
     = Group_interface__extract_elements (this, (Bar*)0, "bars");