]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.73pre
authorfred <fred>
Sun, 24 Mar 2002 19:47:11 +0000 (19:47 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:47:11 +0000 (19:47 +0000)
NEWS
lily/engraver-group.cc
lily/include/scoreline.hh
lily/include/span-bar.hh [new file with mode: 0644]
lily/include/vertical-align-elem.hh
lily/include/vertical-align-spanner.hh [new file with mode: 0644]

diff --git a/NEWS b/NEWS
index 71128cd93f37af0a5554114d6ecddf0c4df07f79..b9d083dda759dff8eb7c180d125917229305f325 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,17 @@
+pl 73pre
+       - some refs doco.
+       - move Input_engraver into Paper_def
+       - junk Interpreter
+       - naming: Request_engraver -> Engraver, 
+       - Music_iterator::next() -> process_and_next()
+       - junk Voice_engravers
+       - Span_bar, Span_bar_engraver
+       - Vertical_align_engraver
+       
+*******
 july 2
 pl 72pre
-       - paper{} syntax: var = 1.0\pt;, with an Assoc array
+       - \paper{} syntax: var = 1.0\pt;, with an Assoc array
        - sketch of MIDI Performer classes.
        - bf: memleak in parser
        - naming: Acceptor -> Translator
index bcfa32a034cf5942b57c4420d5309513648c3828..c91921cefc4a2365a8c2f8ec09ba8450da028b88 100644 (file)
@@ -50,7 +50,7 @@ Engraver_group_engraver::set_feature(Feature d)
     iter_top(grav_list_, i);
     while (i.ok()) {
        // this construction to ensure clean deletion
-       Request_engraver *grav_l = i++; 
+       Engraver *grav_l = i++; 
        grav_l->set_feature(d);
     }
 }
@@ -61,7 +61,7 @@ Engraver_group_engraver::sync_features()
     iter_top(grav_list_, i);
     while (i.ok()) {
 
-       Request_engraver *grav_l = i++; 
+       Engraver *grav_l = i++; 
        grav_l->sync_features();
     }
 }
@@ -72,7 +72,7 @@ Engraver_group_engraver::do_pre_move_processing()
     iter_top(grav_list_, i);
     while (i.ok()) {
        
-       Request_engraver *grav_l = i++; 
+       Engraver *grav_l = i++; 
        grav_l->pre_move_processing();
     }
 }
@@ -83,7 +83,7 @@ Engraver_group_engraver::do_process_requests()
     iter_top(grav_list_, i);
     while (i.ok()) {
        
-       Request_engraver *grav_l = i++; 
+       Engraver *grav_l = i++; 
        grav_l->process_requests();
     }
 }
@@ -95,16 +95,16 @@ Engraver_group_engraver::do_post_move_processing()
     iter_top(grav_list_, i);
     while (i.ok()) {
                // this construction to ensure clean deletion
-       Request_engraver *grav_l = i++; 
+       Engraver *grav_l = i++; 
        grav_l->post_move_processing();
     }
 }
 
 
 bool
-Engraver_group_engraver::contains_b(Request_engraver* grav_l)const
+Engraver_group_engraver::contains_b(Engraver* grav_l)const
 {
-    bool parent_b = Request_engraver::contains_b(grav_l);
+    bool parent_b = Engraver::contains_b(grav_l);
     
     if (parent_b)
        return true;
@@ -127,8 +127,14 @@ Engraver_group_engraver::do_try_request(Request*req_l)
     return hebbes_b ;
 }
 
+bool
+Engraver_group_engraver::try_request(Request* r)
+{
+    return Engraver::try_request(r);
+}
+
 void
-Engraver_group_engraver::add(Request_engraver *grav_p)
+Engraver_group_engraver::add(Engraver *grav_p)
 {
     grav_list_.bottom().add(grav_p);
     grav_p->daddy_grav_l_ = this;
@@ -141,8 +147,8 @@ Engraver_group_engraver::add(Request_engraver *grav_p)
 }
 
 
-Request_engraver *
-Engraver_group_engraver::remove_engraver_p(Request_engraver*grav_l)
+Engraver *
+Engraver_group_engraver::remove_engraver_p(Engraver*grav_l)
 {
     group_l_arr_.substitute((Engraver_group_engraver*)grav_l,0);
     nongroup_l_arr_.substitute(grav_l,0);
@@ -152,16 +158,16 @@ Engraver_group_engraver::remove_engraver_p(Request_engraver*grav_l)
 }
 
 void
-Engraver_group_engraver::terminate_engraver(Request_engraver*r_l)
+Engraver_group_engraver::terminate_engraver(Engraver*r_l)
 {
     mtor << "Removing " << r_l->name() << " at " << get_staff_info().when() << "\n";
     r_l->do_removal_processing();
-    Request_engraver * grav_p =remove_engraver_p(r_l);
+    Engraver * grav_p =remove_engraver_p(r_l);
     
     delete grav_p;
 }
 
-IMPLEMENT_IS_TYPE_B2(Engraver_group_engraver,Request_engraver, Translator);
+IMPLEMENT_IS_TYPE_B2(Engraver_group_engraver,Engraver, Translator);
 IMPLEMENT_STATIC_NAME(Engraver_group_engraver);
 ADD_THIS_ENGRAVER(Engraver_group_engraver);
 
@@ -237,7 +243,7 @@ void
 Engraver_group_engraver::announce_element(Score_elem_info info)
 {
     announce_info_arr_.push(info);
-    Request_engraver::announce_element(info);
+    Engraver::announce_element(info);
 }
 
 void
@@ -254,7 +260,7 @@ Engraver_group_engraver::do_announces()
        
        if (!info.req_l_)
            info.req_l_ = &dummy_req;
-       for (int i=0; i < nongroup_l_arr_.size(); i++) {
+       for (int i=0; i < nongroup_l_arr_.size(); i++) {        // Is this good enough?6
           if (nongroup_l_arr_[i] != info.origin_grav_l_arr_[0])
               nongroup_l_arr_[i]->acknowledge_element(info);
        }
@@ -273,7 +279,7 @@ Engraver_group_engraver::do_removal_processing()
 Staff_info
 Engraver_group_engraver::get_staff_info()const
 {
-    Staff_info inf = Request_engraver::get_staff_info();
+    Staff_info inf = Engraver::get_staff_info();
 
     for (int i=0; i < nongroup_l_arr_.size(); i++)
        nongroup_l_arr_[i]->fill_staff_info(inf);
@@ -284,14 +290,21 @@ Engraver_group_engraver::get_staff_info()const
 Translator*
 Engraver_group_engraver::get_default_interpreter()
 {
-    if ( interpreter_l() )
+    // ? 
+    if ( is_bottom_engraver_b() )
        return daddy_grav_l_->get_default_interpreter();
 
     Engraver_group_engraver *grav_p= igrav_l_->
        get_default_igrav_l()->get_group_engraver_p();
     add(grav_p );
-    if (grav_p->interpreter_l())
+    if (grav_p->is_bottom_engraver_b())
        return grav_p;
     else
        return grav_p->get_default_interpreter();
 }
+
+bool
+Engraver_group_engraver::is_bottom_engraver_b()const
+{
+    return !igrav_l_->get_default_igrav_l();
+}
index 5cc5c9aa4f62b980f77fc7796371359915d19ab7..2f440318515d5805c406632c35142922c66ab653 100644 (file)
@@ -9,10 +9,9 @@
 
 #include "colhpos.hh"
 #include "spanner-elem-group.hh"
-#include "vertical-align-elem.hh"
 
 /// the columns of a score that form one line.
-class Line_of_score : public Spanner, public Vertical_align_elem {
+class Line_of_score : public Spanner{
 public:
     Link_array<PCol> cols;
     bool error_mark_b_;
@@ -26,16 +25,12 @@ public:
 
     /// is #c# contained in #*this#?
     bool contains_b(PCol const *c)const;
-    bool contains_b(Score_elem const*e) const {  
-       return Vertical_align_elem::contains_b(e); 
-    }
     
     Link_array<Line_of_score> get_lines()const;
     void set_breaking(Array<Col_hpositions> const&);
     
 protected:
     virtual void break_into_pieces();
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
     virtual Interval do_width()const;
     virtual void do_print() const;
     SCORE_ELEM_CLONE(Line_of_score);
diff --git a/lily/include/span-bar.hh b/lily/include/span-bar.hh
new file mode 100644 (file)
index 0000000..177ada6
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+  span-bar.hh -- declare Span_bar
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef SPAN_BAR_HH
+#define SPAN_BAR_HH
+
+#include "bar.hh"
+
+class Span_bar : public Bar
+{
+    Link_array<Bar> spanning_l_arr_;
+
+public:
+    NAME_MEMBERS();
+    SCORE_ELEM_CLONE(Span_bar);
+    void add(Bar* );
+    void set( Vertical_align_element *);
+    void do_pre_processing();
+    void do_substitute_dependency(Score_elem*,Score_elem*);
+    Molecule * brew_molecule_p()const;
+};
+#endif // SPAN_BAR_HH
index 0f17b97fbfd51df27b6ffbea8a62006f395c6634..cf20de93cc36e019e5151cbe69e07c5a0cf41a00 100644 (file)
 /**
   Order elements top to bottom.
  */
-class Vertical_align_elem : virtual public Score_elem {
+class Vertical_align_element : virtual public Score_elem {
     Link_array<Score_elem> elem_l_arr_;
 public:
     void add(Score_elem*);
     bool contains_b(Score_elem const*)const;
+    Vertical_align_element();
     NAME_MEMBERS();
 protected:
     virtual void do_substitute_dependency(Score_elem*,Score_elem*);
diff --git a/lily/include/vertical-align-spanner.hh b/lily/include/vertical-align-spanner.hh
new file mode 100644 (file)
index 0000000..ccf2224
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+  vertical-align-spanner.hh -- declare Vertical_align_spanner
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef VERTICAL_ALIGN_SPANNER_HH
+#define VERTICAL_ALIGN_SPANNER_HH
+
+#include "spanner.hh"
+#include "vertical-align-elem.hh"
+
+class Vertical_align_spanner : public Vertical_align_element, public Spanner
+{
+public:
+    NAME_MEMBERS();
+    SCORE_ELEM_CLONE(Vertical_align_spanner);
+    virtual void do_print() const { Vertical_align_element::do_print() ; }
+    
+};
+#endif // VERTICAL_ALIGN_SPANNER_HH