]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.65
authorfred <fred>
Tue, 26 Mar 2002 23:23:50 +0000 (23:23 +0000)
committerfred <fred>
Tue, 26 Mar 2002 23:23:50 +0000 (23:23 +0000)
19 files changed:
lily/axis-group-engraver.cc
lily/engraver-group-engraver.cc
lily/engraver.cc
lily/extender-engraver.cc
lily/grace-position-engraver.cc
lily/hyphen-engraver.cc
lily/include/engraver-group-engraver.hh
lily/include/engraver.hh
lily/include/score-engraver.hh
lily/include/staff-info.hh
lily/line-group-group-engraver.cc
lily/score-engraver.cc
lily/separating-line-group-engraver.cc
lily/spacing-engraver.cc
lily/spanner.cc
lily/staff-info.cc
lily/staff-symbol-engraver.cc
lily/system-start-delimiter-engraver.cc
lily/vertical-align-engraver.cc

index 25b16bba20969d46cdcbb2cd26c6ca16d56f5a47..f5266ecdd43b1836d03916ce4ebf26ddc63e9d22 100644 (file)
@@ -25,7 +25,7 @@ Axis_group_engraver::do_creation_processing ()
   Axis_group_interface (staffline_p_).set_interface ();
   Axis_group_interface (staffline_p_).set_axes (Y_AXIS, Y_AXIS);
 
-  Item *  it = get_staff_info().command_pcol_l ();
+  Score_element *  it = unsmob_element (get_property ("currentCommandColumn"));
   Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);  
   staffline_p_->set_bound(LEFT,it);
 
@@ -61,7 +61,7 @@ Axis_group_engraver::do_removal_processing ()
       && gh_number_p (gh_cdr (dims)))
     staffline_p_->set_elt_property ("extra-extent-Y", dims);
 
-  Item *  it = get_staff_info().command_pcol_l ();
+Score_element *  it = unsmob_element (get_property ("currentCommandColumn"));
 
   Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);  
   staffline_p_->set_bound(RIGHT,it);
index f33939c62a80f1127596699aef8cd907588a514e..a3e71087cdf75aeb20ea0820fc25b286db9d48f9 100644 (file)
@@ -68,12 +68,7 @@ Engraver_group_engraver::do_announces()
 }
 
 
-Staff_info
-Engraver_group_engraver::get_staff_info() const
-{
-  Staff_info inf = Engraver::get_staff_info();
-  return inf;
-}
+
 
 
 
index 8ae01f77b6b0e53471d312ee3274665f9298907c..49e8dd82597d414f6228d3eedb3958e087a0dc93 100644 (file)
 #include "score-element.hh"
 #include "group-interface.hh"
 
-void
-Engraver::fill_staff_info (Staff_info&)
-{
-  
-}
 
 void
 Engraver::announce_element (Score_element_info i)
@@ -47,20 +42,6 @@ Engraver::paper_l () const
   return dynamic_cast<Paper_def*>(output_def_l_);
 }
 
-
-Staff_info
-Engraver::get_staff_info() const
-{
-  if (daddy_grav_l())
-    return daddy_grav_l()->get_staff_info();
-  Staff_info info;
-  return info;
-}
-
-
-
-
-
 Engraver_group_engraver*
 Engraver::daddy_grav_l () const
 {
index 8fc391ea0e8de693e8071454485366876c0d59fb..6e9f20a8727bbe8f62c6460ea76cb3b8a4e20701 100644 (file)
@@ -96,7 +96,7 @@ Extender_engraver::do_removal_processing ()
   if (extender_p_)
     {
       req_l_->warning (_ ("unterminated extender"));
-      extender_p_->set_bound(RIGHT, get_staff_info ().command_pcol_l ());
+      extender_p_->set_bound(RIGHT, unsmob_element (get_property ("currentCommandColumn")));
     }
 }
 
index 170d7b0350fb43eb7af6ff1c4bd72ed7881dc555..bbfa5392de8bce06005e1a4f1f0d6611a996b2b4 100644 (file)
@@ -96,7 +96,7 @@ Grace_position_engraver::do_pre_move_processing ()
       Axis_group_interface (last_musical_col_l_).add_element (align_l_);
     }
 
-  last_musical_col_l_ = get_staff_info ().musical_pcol_l ();
+  last_musical_col_l_ = dynamic_cast<Paper_column*>( unsmob_element (get_property ("currentMusicalColumn")));
 }
 
 void
index 62341082df9547a3b3e70dbfc2d8a1d418748df1..204995b4b067e6f674cea8a8a72b029c2612405d 100644 (file)
@@ -89,7 +89,7 @@ Hyphen_engraver::do_removal_processing ()
   if (hyphen_p_)
     {
       req_l_->warning (_ ("unterminated hyphen"));
-      hyphen_p_->set_bound(RIGHT, get_staff_info ().command_pcol_l ());
+      hyphen_p_->set_bound(RIGHT, unsmob_element (get_property ("currentCommandColumn")));
     }
 }
 
index f531ca4508dfa7fc6f7365c9472ab34379576031..dffbfd18ef389d88f712e91202a46e450503b185 100644 (file)
@@ -30,7 +30,6 @@ protected:
 public:
   VIRTUAL_COPY_CONS(Translator);
     
-  virtual Staff_info get_staff_info() const;
   virtual void do_announces();
   virtual void announce_element (Score_element_info);
 };
index 04a73eaf1bff2ed11444d0b8142bb6fa9564a137..2fb91ecbfb01d005e20435ce57924ea7c6d24e2e 100644 (file)
@@ -55,13 +55,6 @@ protected:
     Announce element. Default: pass on to daddy. Utility
     */
   virtual void announce_element (Score_element_info);
-   
-  /**
-    Get information on the staff. Default: ask daddy.
-    */
-  virtual Staff_info get_staff_info() const;
-  virtual void fill_staff_info (Staff_info&);
-
 public:
   VIRTUAL_COPY_CONS(Translator);
   Engraver_group_engraver * daddy_grav_l() const;
index 669a301f4a59d747d227c69f9ca24c1ebb940938..70a7e304104b6ab0ace81a352094554204381b86 100644 (file)
@@ -45,7 +45,7 @@ protected:
 
 protected:
   /* Engraver_group_engraver interface */
-  virtual Staff_info get_staff_info() const;
+
   virtual bool do_try_music (Music*);
   virtual void do_creation_processing();
   virtual void do_removal_processing();
index d41b391357d0fd2125eb024d67b73cd356d0c873..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,28 +0,0 @@
-/*
-  staff-info.hh -- declare Staff_info
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-
-#ifndef STAFF_INFO_HH
-#define STAFF_INFO_HH
-
-#include "lily-proto.hh"
-
-/** struct to pass staff info along a Engraver hierarchy.
-
-    JUNKME.
- */
-struct Staff_info {
-  Paper_column *musical_l_;
-  Paper_column *command_l_;
-
-  Paper_column * command_pcol_l();
-  Paper_column * musical_pcol_l();
-  Staff_info();
-};
-
-#endif // STAFF_INFO_HH
index 202d8ff3287f7c81ad97d9d87ce9d2772e6cdc53..c6e6f7c58dcdc05836325bb70c90dac250f72c9b 100644 (file)
@@ -34,7 +34,8 @@ void
 Line_group_engraver_group::do_removal_processing()
 {
   Engraver_group_engraver::do_removal_processing ();
-  Item *  it = get_staff_info().command_pcol_l ();
+  Score_element *  it
+    = unsmob_element (get_property (ly_symbol2scm ("currentCommandColumn")));
 
   Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);  
   staffline_p_->set_bound(RIGHT,it);
@@ -46,7 +47,8 @@ void
 Line_group_engraver_group::do_creation_processing()
 {
   create_line_spanner ();
-  Item *  it = get_staff_info().command_pcol_l ();  
+  Score_element *  it
+    = unsmob_element (get_property (ly_symbol2scm ("currentCommandColumn"))); 
   staffline_p_->set_bound(LEFT,it);
   Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);
   
index e9e530f2e84bcc84efe42b9b9f17c0690d57531b..c8933e03969c4f661bd27af6263f0a9b65529ed7 100644 (file)
@@ -200,17 +200,11 @@ Score_engraver::set_columns (Paper_column *new_command_l,
       if (news[i])
        *current[i] = news[i];
     }
-}
-
-Staff_info
-Score_engraver::get_staff_info() const
-{
-  Staff_info inf = Engraver_group_engraver::get_staff_info();
 
-  inf.command_l_ = command_column_l_;
-  inf.musical_l_ = musical_column_l_;
-  
-  return inf;
+  if (new_musical_l)
+    set_property ("currentMusicalColumn", new_musical_l->self_scm_);
+  if (new_command_l)
+    set_property ("currentCommandColumn", new_command_l->self_scm_);  
 }
 
 Music_output*
index 4abc0d3aafa1cfa28e6aa28f97a36efb5ae0c0f7..a46608d0ab18c928013f5706acdde44f98473830 100644 (file)
@@ -25,13 +25,13 @@ Separating_line_group_engraver::do_creation_processing ()
 {
   sep_span_p_ = new Separating_group_spanner (SCM_EOL);
   announce_element (Score_element_info (sep_span_p_, 0));
-  sep_span_p_->set_bound (LEFT, get_staff_info ().command_pcol_l ());
+  sep_span_p_->set_bound (LEFT, unsmob_element (get_property ("currentCommandColumn")));
 }
 
 void
 Separating_line_group_engraver::do_removal_processing ()
 {
-  sep_span_p_->set_bound (RIGHT, get_staff_info ().command_pcol_l ());
+  sep_span_p_->set_bound (RIGHT, unsmob_element (get_property ("currentCommandColumn")));
   typeset_element (sep_span_p_);
   sep_span_p_ =0;
 }
index 8146b7267678e57d4d3c62e8199d18d5314076c2..0f26e7ca16c17c2949835f847d1afb113f2e4a2f 100644 (file)
@@ -35,15 +35,14 @@ void
 Spacing_engraver::do_creation_processing ()
 {
   spacing_p_  =new Spacing_spanner (SCM_EOL);
-  spacing_p_->set_bound (LEFT, get_staff_info ().command_pcol_l ());  
+  spacing_p_->set_bound (LEFT, unsmob_element (get_property ("currentCommandColumn")));  
   announce_element (Score_element_info (spacing_p_, 0));
 }
 
 void
 Spacing_engraver::do_removal_processing ()
 {
-  Paper_column * p = get_staff_info ().command_pcol_l ();
-
+  Score_element * p = unsmob_element (get_property ("currentCommandColumn"));
   spacing_p_->set_bound (RIGHT, p);
   typeset_element (spacing_p_);
   spacing_p_ =0;
@@ -95,7 +94,7 @@ Spacing_engraver::do_pre_move_processing ()
   shortest_playing = shortest_playing <? starter;
   
   Paper_column * sc
-    = dynamic_cast<Paper_column*> (get_staff_info ().musical_pcol_l ());
+    = dynamic_cast<Paper_column*> (unsmob_element (get_property ("currentMusicalColumn")));
 
   SCM sh = smobify (new Moment (shortest_playing));
   SCM st = smobify (new Moment (starter));
index 711eaddf41d3f19d3d02d2a71bec4ebfc0ce866f..806365bc8edf7cd77102ac618e9948f9018e13fa 100644 (file)
@@ -30,12 +30,6 @@ Spanner::do_break_processing ()
   if (!left || !right)
     return;
   
-  if  (left == right)
-    {
-      warning (_f ("Spanner `%s' has equal left and right spanpoints",
-                  classname (this)));
-    }
-
   /*
     Check if our parent in X-direction spans equally wide
     or wider than we do.
@@ -175,11 +169,6 @@ Spanner::set_bound(Direction d, Score_element*s)
     {
       set_parent (i, X_AXIS);
     }
-  
-  if (spanned_drul_[Direction(-d)] == spanned_drul_[d]
-       && i)
-    warning (_f ("Spanner `%s' has equal left and right spanpoints",
-                classname (this)));
 }
 
 
@@ -314,3 +303,11 @@ Spanner::do_derived_mark ()
   while (flip (&d) != LEFT);
 }
 
+void
+add_bound_item (Spanner* sp, Item*it)
+{
+  if (!sp->get_bound (LEFT))
+    sp->set_bound (LEFT, it);
+  else
+    sp->set_bound (RIGHT, it);
+}
index 10b63d8645ba66657db5e525767c5557302d698d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,32 +0,0 @@
-/*
-  staff-info.cc -- implement Staff_info
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-#include "proto.hh"
-
-#include "staff-info.hh"
-#include "paper-column.hh"
-
-Staff_info::Staff_info()
-{
-  command_l_ =0;
-  musical_l_ =0;
-}
-
-
-Paper_column*
-Staff_info::command_pcol_l()
-{
-  return command_l_;
-}
-
-Paper_column*
-Staff_info::musical_pcol_l()
-{
-  return musical_l_;
-}
-
index e5bc48cd622a82126bd16bcbd6be411fdcb2fe08..6440a5941436b863de259e868c27321f87c6111c 100644 (file)
@@ -47,7 +47,7 @@ void
 Staff_symbol_engraver::do_creation_processing()
 {
   span_p_ = new Staff_symbol (get_property ("staffSymbolBasicProperties"));
-  span_p_->set_bound(LEFT,get_staff_info().command_pcol_l ());
+  span_p_->set_bound(LEFT,unsmob_element (get_property ("currentCommandColumn")));
 
   announce_element (Score_element_info (span_p_, 0));
 }
@@ -63,7 +63,7 @@ Staff_symbol_engraver::do_removal_processing()
   if (gh_number_p (n))
     span_p_->set_elt_property ("line-count", n);
 
-  span_p_->set_bound(RIGHT,get_staff_info().command_pcol_l ());
+  span_p_->set_bound(RIGHT,unsmob_element (get_property ("currentCommandColumn")));
   typeset_element (span_p_);
   span_p_ =0;
 }
index 4841e19a48c914951e11e4e90daacbb1101b1231..10efe0c7d8a046885ca98c8fd6e12cbe9e196d9e 100644 (file)
@@ -65,7 +65,7 @@ void
 System_start_delimiter_engraver::do_creation_processing()
 {
   delim_ = new System_start_delimiter (get_property ("basicSystemStartDelimiterProperties"));
-  delim_->set_bound (LEFT, get_staff_info ().command_pcol_l ());
+  delim_->set_bound (LEFT, unsmob_element (get_property ("currentCommandColumn")));
 
   /*
     You can't override the glyph using \property, you must do it in
@@ -88,7 +88,7 @@ System_start_delimiter_engraver::do_removal_processing ()
   if (gh_number_p (collapse))
     delim_->set_elt_property ("collapse-height", collapse);
       
-  delim_->set_bound (RIGHT, get_staff_info ().command_pcol_l ());
+  delim_->set_bound (RIGHT, unsmob_element (get_property ("currentCommandColumn")));
   typeset_element (delim_);
 }
 
index 0a9c31929462fc8a5f3c3f92ad8e206e989a1c84..261c7956d7584dc607bb2959277ddd3532f54e34 100644 (file)
@@ -43,7 +43,7 @@ Vertical_align_engraver::do_creation_processing()
   valign_p_->set_elt_property ("stacking-dir",
                               gh_int2scm (DOWN));
   
-  valign_p_->set_bound(LEFT,get_staff_info().command_pcol_l ());
+  valign_p_->set_bound(LEFT,unsmob_element (get_property ("currentCommandColumn")));
   announce_element (Score_element_info (valign_p_ , 0));
 }
 
@@ -61,7 +61,7 @@ Vertical_align_engraver::do_removal_processing()
     valign_p_->set_elt_property ("threshold",
                                 gh_cons (min,max));
   }
-  valign_p_->set_bound(RIGHT,get_staff_info().command_pcol_l ());
+  valign_p_->set_bound(RIGHT,unsmob_element (get_property ("currentCommandColumn")));
   typeset_element (valign_p_);
   valign_p_ =0;
 }