]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.73pre
authorfred <fred>
Sun, 24 Mar 2002 19:47:01 +0000 (19:47 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:47:01 +0000 (19:47 +0000)
49 files changed:
lily/bar-grav.cc
lily/beam.cc
lily/clef-grav.cc
lily/collision-grav.cc
lily/dynamic-grav.cc
lily/engraver.cc
lily/global-gravs.cc
lily/head-grav.cc
lily/include/bar-grav.hh
lily/include/clef-grav.hh
lily/include/collision-grav.hh
lily/include/dynamic-grav.hh
lily/include/engraver-group.hh
lily/include/engraver.hh
lily/include/head-grav.hh
lily/include/input-engraver.hh
lily/include/key-grav.hh
lily/include/local-key-grav.hh
lily/include/lyric-engraver.hh
lily/include/meter-grav.hh
lily/include/music-iterator.hh
lily/include/note-column-grav.hh
lily/include/rest-collision-grav.hh
lily/include/score-align-grav.hh
lily/include/score-elem-info.hh
lily/include/score-halign-grav.hh
lily/include/script-grav.hh
lily/include/slur-grav.hh
lily/include/staff-info.hh
lily/include/staff-sym-grav.hh
lily/include/stem-beam-grav.hh
lily/include/swallow-grav.hh
lily/include/text-grav.hh
lily/include/tie-grav.hh
lily/key-grav.cc
lily/local-key-grav.cc
lily/lyric-engraver.cc
lily/meter-grav.cc
lily/music-iterator.cc
lily/note-column-grav.cc
lily/rest-collision-grav.cc
lily/script-grav.cc
lily/slur-grav.cc
lily/staff-sym-grav.cc
lily/stem-beam-grav.cc
lily/swallow-grav.cc
lily/template6.cc
lily/text-grav.cc
lily/tie-grav.cc

index 4282803b05aa9a0b9b08c73b288428e18ace05a6..61cf61147450d8e9170802ad6329c29e46dde571 100644 (file)
@@ -64,7 +64,7 @@ Bar_engraver::do_post_move_processing()
 }
 
 IMPLEMENT_STATIC_NAME(Bar_engraver);
-IMPLEMENT_IS_TYPE_B1(Bar_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Bar_engraver,Engraver);
 ADD_THIS_ENGRAVER(Bar_engraver);
 
 
index 9e9f30eaff4d2c7f0400510fec553bb88ce54de1..d4f741d78893dd82a1451ed98d0e6b8b811de791 100644 (file)
@@ -7,8 +7,7 @@
 
   TODO
 
-  Less hairy code. Better slope calculations.
-  knee: ([\stem 1; c8 \stem -1; c8]
+  Less hairy code.  knee: ([\stem 1; c8 \stem -1; c8]
   
 */
 
index ab5177674ab1ee3a159a33b0152878ba7d6703d7..5f7ad85a8cc466bb0159a6f2259433fb756682f9 100644 (file)
@@ -124,5 +124,5 @@ Clef_engraver::do_removal_processing()
 }
 
 IMPLEMENT_STATIC_NAME(Clef_engraver);
-IMPLEMENT_IS_TYPE_B1(Clef_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Clef_engraver,Engraver);
 ADD_THIS_ENGRAVER(Clef_engraver);
index 428924d891c22261ac039ff2d691812700e87bb7..1cb0295a8bba4b5ec5dd3f50ce2b6dd70780c6dc 100644 (file)
@@ -36,5 +36,5 @@ Collision_engraver::Collision_engraver()
 }
 
 IMPLEMENT_STATIC_NAME(Collision_engraver);
-IMPLEMENT_IS_TYPE_B1(Collision_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Collision_engraver,Engraver);
 ADD_THIS_ENGRAVER(Collision_engraver);
index 716abae463feed5a0b51f675c829641d45bf3c92..fea92a8b6a420062db922b1f1938e6efba436eb2 100644 (file)
@@ -117,7 +117,7 @@ Dynamic_engraver::set_feature(Feature i)
 }
 
 IMPLEMENT_STATIC_NAME(Dynamic_engraver);
-IMPLEMENT_IS_TYPE_B1(Dynamic_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Dynamic_engraver,Engraver);
 ADD_THIS_ENGRAVER(Dynamic_engraver);
 
 Dynamic_engraver::~Dynamic_engraver()
index 78fa6ca6235ce2e307aa74d82b35b9e5bc2121fd..29027f4deace92fe15b9053b28d4fd3db93c886a 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  engraver.cc -- implement Request_engraver
+  engraver.cc -- implement Engraver
 
   Sourcefile of GNU LilyPond musictypesetter
 
@@ -13,7 +13,7 @@
 #include "debug.hh"
 
 void
-Request_engraver::post_move_processing()
+Engraver::post_move_processing()
 {
         
     if (status < CREATION_INITED) {
@@ -28,7 +28,7 @@ Request_engraver::post_move_processing()
 }
 
 bool
-Request_engraver::try_request(Request * r)
+Engraver::try_request(Request * r)
 {
     if (status < MOVE_INITED)
        post_move_processing();
@@ -37,7 +37,7 @@ Request_engraver::try_request(Request * r)
 }
 
 void
-Request_engraver::process_requests()
+Engraver::process_requests()
 {
     if (status < PROCESSED_REQS)
        post_move_processing();
@@ -49,75 +49,75 @@ Request_engraver::process_requests()
 }
 
 void
-Request_engraver::pre_move_processing()
+Engraver::pre_move_processing()
 {
     do_pre_move_processing();
     status = CREATION_INITED;
 }
 
 void
-Request_engraver::fill_staff_info(Staff_info&)
+Engraver::fill_staff_info(Staff_info&)
 {
     
 }
 
 Scalar
-Request_engraver::get_feature(String t)
+Engraver::get_feature(String t)
 {
     return daddy_grav_l_->get_feature(t);
 }
 
 bool
-Request_engraver::do_try_request(Request*)
+Engraver::do_try_request(Request*)
 {
     return false;
 }
 
-Request_engraver::Request_engraver()
+Engraver::Engraver()
 {
     status = VIRGIN;
     daddy_grav_l_ = 0;
 }
 
 void
-Request_engraver::announce_element(Score_elem_info i)
+Engraver::announce_element(Score_elem_info i)
 {
     i.origin_grav_l_arr_.push(this);
     daddy_grav_l_->announce_element(i);
 }
 
 void
-Request_engraver::typeset_element(Score_elem*p)
+Engraver::typeset_element(Score_elem*p)
 {
     daddy_grav_l_->typeset_element(p);
 }
 
 Paper_def*
-Request_engraver::paper()const
+Engraver::paper()const
 {
     return daddy_grav_l_->paper();
 }
 
 void
-Request_engraver::typeset_breakable_item(Item * nobreak_p)
+Engraver::typeset_breakable_item(Item * nobreak_p)
 {
     daddy_grav_l_->typeset_breakable_item(nobreak_p);
 }
 
 bool
-Request_engraver::contains_b(Request_engraver *grav_l)const
+Engraver::contains_b(Engraver *grav_l)const
 {
     return this == grav_l;
 }
 
 Staff_info
-Request_engraver::get_staff_info() const
+Engraver::get_staff_info() const
 {
     return daddy_grav_l_->get_staff_info();
 }
 
 void
-Request_engraver::print() const
+Engraver::print() const
 {
 #ifndef NPRINT
     mtor << "\n" << name() << " {";
@@ -126,11 +126,11 @@ Request_engraver::print() const
 #endif
 }
 
-IMPLEMENT_STATIC_NAME(Request_engraver);
-IMPLEMENT_IS_TYPE_B(Request_engraver);
+IMPLEMENT_STATIC_NAME(Engraver);
+IMPLEMENT_IS_TYPE_B(Engraver);
 
 void
-Request_engraver::do_print()const
+Engraver::do_print()const
 {
 }
 
index 6dcc07b7913b925358e9363bf31e40eff2fcae92..18050122695d3ebd453e333b9fb6f00e8b03f68e 100644 (file)
 #include "debug.hh"
 #include "engraver.hh"
 
-struct Request_engraver_table_entry {
+struct Engraver_table_entry {
     String name_str_;
     Grav_ctor ctor_l_;
-    Request_engraver_table_entry(String s, Grav_ctor f) {
+    Engraver_table_entry(String s, Grav_ctor f) {
        name_str_ =s;
        ctor_l_ = f;
     }
-    Request_engraver_table_entry()
+    Engraver_table_entry()
     {
        ctor_l_ =0;
     }
 };
 
-static Array<Request_engraver_table_entry> *grav_table=0;
+static Array<Engraver_table_entry> *grav_table=0;
 
 void
-add_request_engraver(String s, Grav_ctor f)
+add_Engraver(String s, Grav_ctor f)
 {
     if (!grav_table)
-       grav_table = new Array<Request_engraver_table_entry>;
+       grav_table = new Array<Engraver_table_entry>;
     
-    grav_table->push(Request_engraver_table_entry(s, f));
+    grav_table->push(Engraver_table_entry(s, f));
 }
 
 
-Request_engraver*
+Engraver*
 get_engraver_p(String s)
 {
     for (int i=0; i < grav_table->size(); i++) {
index bc7056312602dfe4875d4acf888854542602b61e..f3bca5172139e5aebde907a1c58f0a3044cca798 100644 (file)
@@ -65,5 +65,5 @@ Note_head_engraver::do_post_move_processing()
 }
 
 IMPLEMENT_STATIC_NAME(Note_head_engraver);
-IMPLEMENT_IS_TYPE_B1(Note_head_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Note_head_engraver,Engraver);
 ADD_THIS_ENGRAVER(Note_head_engraver);
index 173d15e20197d6cd7fd706cadfdce52d81c8ab45..d65c26930bd59bb242296846510f6634b1effcd9 100644 (file)
@@ -14,7 +14,7 @@
 /**
   generate bars. Either user ("|:"), or default (new measure)
   */
-class Bar_engraver : public Request_engraver {
+class Bar_engraver : public Engraver {
     Bar_req * bar_req_l_;
     Bar * bar_p_;
 public:
index 5346c0b6e3e6b58a82e840f44dd19a93c042548d..ec35bf0b5a9e790458bb2f8ec73a9702fd557eac 100644 (file)
@@ -12,7 +12,7 @@
 #include "engraver.hh"
 
 /// where is c-0 in the staff?
-class Clef_engraver : public  Request_engraver {
+class Clef_engraver : public  Engraver {
     Clef_item *clef_p_;
     Clef_change_req * clef_req_l_;
     void create_clef();
index 0b46db58c35728e5a2c371896b788efc33ce6df0..4500a726179a7b20b84d619a66bd231e4a3179ec 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "engraver.hh"
 
-class Collision_engraver : public Request_engraver {
+class Collision_engraver : public Engraver {
     Collision* col_p_;
 
 protected:
index 791b2f129e29c1a3b91a530a87cbfca3183ef09b..5c1a585ca54823b50bd53c02dcb35e2c1289db22 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "engraver.hh"
 
-class Dynamic_engraver : public Request_engraver {
+class Dynamic_engraver : public Engraver {
     int dir_i_;
     Text_item * dynamic_p_;
     Crescendo * to_end_cresc_p_;
index fc76fd7bd5e55b0f8b4c3cb1fc4ad87523f132ca..d65375e49276615bffd7da938a5cf7c3d2d52c0d 100644 (file)
   Group a number of engravers. Usually delegates everything to its contents.
   Postfix: group
   */
-class Engraver_group_engraver : public Request_engraver, public virtual Translator {
+class Engraver_group_engraver : public Engraver, public virtual Translator {
 protected:
     
-    Pointer_list<Request_engraver*> grav_list_;
+    Pointer_list<Engraver*> grav_list_;
     Link_array<Engraver_group_engraver> group_l_arr_;
-    Link_array<Request_engraver> nongroup_l_arr_;
+    Link_array<Engraver> nongroup_l_arr_;
     
     Array<Score_elem_info> announce_info_arr_;
     
@@ -40,6 +40,7 @@ public:
     Engraver_group_engraver();
     ~Engraver_group_engraver();
     
+    bool is_bottom_engraver_b() const;
 
     
     /**
@@ -47,21 +48,22 @@ public:
       Pre:
       #grav_l# is in #grav_list_#
      */
-    virtual void terminate_engraver(Request_engraver * grav_l);
+    virtual void terminate_engraver(Engraver * grav_l);
     
    NAME_MEMBERS();
     
     /**
       Remove #grav_l# from the list, and return it.
      */
-    virtual Request_engraver * remove_engraver_p(Request_engraver*grav_l);
+    virtual Engraver * remove_engraver_p(Engraver*grav_l);
     virtual void set_feature(Feature i);
-    virtual void sync_features() ;
+    virtual void sync_features();
+
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
-
     virtual void do_removal_processing();
     virtual bool do_try_request(Request*);
+    virtual bool try_request(Request*);
     virtual void do_process_requests();
 
     virtual Staff_info get_staff_info()const;
@@ -69,11 +71,8 @@ public:
     virtual Engraver_group_engraver * find_engraver_l(String name,String id);
     virtual void do_announces();    
     virtual void announce_element(Score_elem_info);
-
-        
-    virtual void add(Request_engraver* grav_p);
-
-    virtual bool contains_b(Request_engraver*)const;
+    virtual void add(Engraver* grav_p);
+    virtual bool contains_b(Engraver*)const;
 
     virtual Translator* find_get_translator_l(String name, String id);
     virtual Translator * get_default_interpreter();
index 320bdd3256af6874829e9e0da76a6d8dfd0f9e35..9752fd75fc0568327228d8c22caf76644fb5f401 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  engraver.hh -- declare Request_engraver
+  engraver.hh -- declare Engraver
 
   source file of the GNU LilyPond music typesetter
 
   
   */
 
-class Request_engraver {
+class Engraver {
     
     friend class Engraver_group_engraver;
     /**
-      You cannot copy a Request_engraver
+      You cannot copy a Engraver
      */
-    Request_engraver(const Request_engraver&){}
+    Engraver(const Engraver&){}
 
     enum { 
        VIRGIN,
@@ -99,7 +99,7 @@ protected:
 
     virtual void sync_features() {}
    
-    virtual bool contains_b(Request_engraver*grav_l)const;
+    virtual bool contains_b(Engraver*grav_l)const;
     /**
       Get information on the staff. Default: ask daddy.
       */
@@ -126,13 +126,14 @@ public:
 
       */
     bool try_request(Request*);
+    bool is_bottom_engraver() const;
 
     void post_move_processing();
     
     Engraver_group_engraver * daddy_grav_l_;
 
-    Request_engraver();
-    virtual ~Request_engraver(){}
+    Engraver();
+    virtual ~Engraver(){}
     NAME_MEMBERS();
     void print() const;
 };
@@ -142,17 +143,17 @@ public:
  */
 #define ADD_THIS_ENGRAVER(c)                           \
 struct c ## init {                                     \
-    static Request_engraver * globalctor (){           \
+    static Engraver * globalctor (){           \
        return new c;                                   \
     }                                                  \
     c ## init () {                                     \
-       add_request_engraver(c::static_name(), globalctor);     \
+       add_Engraver(c::static_name(), globalctor);     \
                                                        \
     }                                                  \
 } _ ## c ## init;
 
-typedef Request_engraver*(*Grav_ctor)(void);
-void add_request_engraver(String s, Grav_ctor f);
+typedef Engraver*(*Grav_ctor)(void);
+void add_Engraver(String s, Grav_ctor f);
 
 #endif // ENGRAVER_HH
 
index 07f7210925f31e47b8187989a42c7214c069bdf9..c7522c5005de836ccf7773a25ef59b9b8becc93a 100644 (file)
@@ -9,7 +9,7 @@
 #define HEADGRAV_HH
 #include "engraver.hh"
 
-struct Note_head_engraver : Request_engraver {
+struct Note_head_engraver : Engraver {
     Note_head* note_p_;
     Rhythmic_req * note_req_l_;
     
index 5894a1db64229b13f619e1ff8adcd91bc2e282c8..b9514a69cddae59081ad4994ef943ccac4dc6a77 100644 (file)
 #include "string.hh"
 #include "varray.hh"
 
+struct Input_engraver_list : public Pointer_list<Input_engraver*> 
+{
+    Input_engraver_list(Input_engraver_list const &);
+    Input_engraver_list(){}
+};
+
 struct Input_engraver : Input { 
-    Pointer_list<Input_engraver*> contains_igrav_p_list_;
+    Input_engraver_list contains_igrav_p_list_;
     Array<String> consists_str_arr_;
     Array<String> alias_str_arr_;
-    String name_str_;
+    String type_str_;
 
     void add(Input_engraver *);
     bool is_name_b(String);
@@ -35,8 +41,6 @@ struct Input_engraver : Input {
 };
 
 
-void add_global_input_engraver(Input_engraver* igrav_p);
-Input_engraver*lookup_grav(String);
-Request_engraver*get_engraver_p(String s);
+Engraver*get_engraver_p(String s);
 
 #endif // INPUT_ENGRAVER_HH
index 8f9b9ecdf18e43584c03733c46da19ce9a38dd26..d62345ab1b8df0978d60b59a11fb0654c226c479 100644 (file)
@@ -13,7 +13,7 @@
 #include "engraver.hh"
 #include "key.hh"
 
-struct Key_engraver : Request_engraver {
+struct Key_engraver : Engraver {
     Key key_;
     Key_change_req * keyreq_l_;
     Key_item * kit_p_;
index 6ed5d78ac5a0375d6a5475235f99e42ff3d7d074..cc52ed5f8f05b965158bbdba5a5a417c852632f2 100644 (file)
@@ -12,7 +12,7 @@
 #include "key.hh"
 #include "parray.hh"
 
-struct Local_key_engraver : Request_engraver {
+struct Local_key_engraver : Engraver {
     Key local_key_;
     Key const *key_C_;
     Array<Note_req* > mel_l_arr_;
index 8771d4b3cdb326975182ccbf650562bdaccb1046..9c50d5c0682e36bb5d4c1223e0e60a534beaba8a 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "lily-proto.hh"
 
-class Lyric_engraver : public Request_engraver {
+class Lyric_engraver : public Engraver {
     Array<Lyric_req*> lreq_arr_;
     virtual bool do_try_request(Request*);
     virtual void do_process_requests();
index 38fe040450a7634d16c76723473744a7b75a2eff..d2f25ec2cdb575792ec947b60faece26376c913e 100644 (file)
@@ -16,7 +16,7 @@
 /**
   generate meters. 
   */
-class Meter_engraver : public Request_engraver {
+class Meter_engraver : public Engraver {
 public:
     Time_description time_;
     Rhythmic_grouping  default_grouping_;
index c4fc80655c1a61da0a801fae1db3c264686e6386..661d380d6c27a1570014d215d30c5ce32119f039 100644 (file)
@@ -28,7 +28,8 @@ public:
     Music_iterator* get_iterator_p(Music*)const;
     void set_translator(Translator*);
     Music_iterator();
-    virtual void next(Moment until);
+    
+    virtual void process_and_next(Moment until);
     virtual Moment next_moment()const;
     virtual bool ok()const;
     virtual ~Music_iterator();
@@ -49,14 +50,14 @@ protected:
     virtual Moment next_moment() const;
     
     virtual void do_print()const;
-    virtual void next(Moment);
+    virtual void process_and_next(Moment);
 };
 
 class Change_iterator : public Music_iterator {
     Change_reg * change_l_;
 public:
      NAME_MEMBERS();
-    virtual void next(Moment);
+    virtual void process_and_next(Moment);
     Change_iterator(Change_reg*);
 };
 
@@ -70,7 +71,7 @@ public:
 protected:
     virtual void do_print()const;
     virtual void construct_children();
-    virtual void next(Moment);
+    virtual void process_and_next(Moment);
     virtual Moment next_moment()const;
     virtual bool ok()const;
 };
@@ -98,7 +99,7 @@ protected:
     virtual void do_print()const;
     virtual void construct_children();
     ~Voice_iterator();    
-    virtual void next(Moment);
+    virtual void process_and_next(Moment);
     virtual Moment next_moment()const;
     virtual bool ok()const;
 };
index 141fe4b93fc8d4dffd09d013edfc34e7e80eb051..800550bd59a24e50d9e657e7b8b184d6aab85c40 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "engraver.hh"
 
-class Note_column_engraver :public Request_engraver {
+class Note_column_engraver :public Engraver {
     Rest_column * rest_col_l();
     Note_column * note_col_l();
     
index 2d67a1bde0029851c86252d458bab456b60e2730..8685aa5d7dc3b281200f96bab541a06c21ab07e0 100644 (file)
@@ -13,7 +13,7 @@
 #include "varray.hh"
 #include "engraver.hh"
 
-class Rest_collision_engraver : public Request_engraver {
+class Rest_collision_engraver : public Engraver {
     Rest_collision* rest_collision_p_;
     Array< Collision *> collision_l_arr_;
 protected:
index 72777e2dae4490402f583efa159101ae7bcb74a2..fb40310ccb3be9627418da0e566b48d0ba2192a1 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "engraver.hh"
 
-class Score_align_engraver: public Request_engraver
+class Score_align_engraver: public Engraver
 {
     Horizontal_group_item  * align_p_;
 public:
index 871634214f7ff19115496b3549daa7ffc2c160cb..6b97718562df71e813599de2df13ed2ac605e693 100644 (file)
@@ -19,7 +19,7 @@ struct Score_elem_info {
     Score_elem * elem_l_;
     Request*req_l_;
     Voice const * voice_l_;
-    Array<Request_engraver*> origin_grav_l_arr_;
+    Array<Engraver*> origin_grav_l_arr_;
 
     /* *** */
     Score_elem_info(Score_elem*, Request*);
index fef509157ad5b38b388e312893f82cf4e2bf891d..cba48928b80333d69f2eed6c822b19f345512861 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef SCORE_HALIGN_GRAV_HH
 #define SCORE_HALIGN_GRAV_HH
 #include "engraver.hh"
-class Score_horizontal_align_engraver : public Request_engraver {
+class Score_horizontal_align_engraver : public Engraver {
     
     Break_align_item * halign_p_;
 public:
index fc8f02980d8aa7f593f7955a66036ce5307a77ff..bf79f8e47a339378fb2142d202c175ae85de9056 100644 (file)
@@ -11,7 +11,7 @@
 #include "engraver.hh"
 
 
-class Script_engraver : public Request_engraver {
+class Script_engraver : public Engraver {
     Array<Script *> script_p_arr_;
     Array<Script_req *> script_req_l_arr_;
 
index 34ac3fa18e5163ea74bf4e89260b2117f375fff0..063e59cfb354b4fb511d3e34fdd7962451322140 100644 (file)
@@ -10,7 +10,7 @@
 
 #include "engraver.hh"
 
-class Slur_engraver :public Request_engraver {
+class Slur_engraver :public Engraver {
     Array<Slur_req*> requests_arr_;
     Array<Slur_req*> new_slur_req_l_arr_;
     Array<Slur *> slur_l_stack_;
index 5afe06186042159cea6043727cf64b9198b040fe..5cceb59bdb0f65b0574ea3794ace91195df2e5ac 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "lily-proto.hh"
 
-/// struct to pass staff info along a Request_engraver hierarchy.
+/// struct to pass staff info along a Engraver hierarchy.
 struct Staff_info {
     int *c0_position_i_l_;
     Staff_symbol*staff_sym_l_;
index 382a6f6f5df831e60c2c3280c87db1894edb8fcf..3e0043ed31a002cdb57c4df5d5decd4b6ef6941b 100644 (file)
@@ -15,7 +15,7 @@
 /**
   Manage the staff symbol.
  */
-class Staff_sym_engraver : public Request_engraver { 
+class Staff_sym_engraver : public Engraver { 
     Staff_symbol *span_p_;
 public:
     Staff_sym_engraver();
index 37565d8bd40878a126bbd0cfd92f4132fe392016..a0b3062016a5fc5052116bc674d595dbffad54d3 100644 (file)
@@ -14,7 +14,7 @@
   override default_grouping if setting a n-plet
   
  */
-class Stem_beam_engraver : public Request_engraver {
+class Stem_beam_engraver : public Engraver {
     Stem * stem_p_;
     Beam * beam_p_;
     Beam_req * beam_req_l_;
index 4376402edfc10ecd51bbb3dc318dee5770e45bc4..db8bd9cb0f1a5a965eab2f47ffb867ddfdfa9d71 100644 (file)
@@ -16,7 +16,7 @@
   This engraver swallows everything given to it silently. The purpose of
   this is to prevent spurious "request junked" warnings.
  */
-class Swallow_engraver : public Request_engraver {
+class Swallow_engraver : public Engraver {
 protected:
     bool acceptable_request_b(Request*) const;
     bool do_try_request(Request*) ;
index de5843dfd21cec6f42ead5032253edd6a6d6055c..ef6d3a2855fada1ba4e8681272701375ab42d505 100644 (file)
@@ -9,7 +9,7 @@
 #define TEXTGRAV_HH
 #include "engraver.hh"
 
-class Text_engraver : public Request_engraver{
+class Text_engraver : public Engraver{
     Text_item * text_p_;
     Text_req * text_req_l_;
     int dir_i_;
index fc5a5196d92572f4704a671e2d412f1a87ce61fa..1b2b735e9d4c7b0f26165d5ecdfa2f9f07e0dbc1 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "engraver.hh"
 
-class Tie_engraver : public Request_engraver {
+class Tie_engraver : public Engraver {
     Tie * end_tie_p_;
     Tie * tie_p_;
     Moment end_mom_;
index 802b34a47042624806b15d2e540bed2179646363..ba07441885f6c58b429ae5fc448f56de6b896a8a 100644 (file)
@@ -112,5 +112,5 @@ Key_engraver::do_post_move_processing()
 }
 
 IMPLEMENT_STATIC_NAME(Key_engraver);
-IMPLEMENT_IS_TYPE_B1(Key_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Key_engraver,Engraver);
 ADD_THIS_ENGRAVER(Key_engraver);
index 5128f9a97e528d199d1a165a41418062b1231bd7..682e79b917f0eecdb6a5c92e350ced9b4037233c 100644 (file)
@@ -103,5 +103,5 @@ Local_key_engraver::do_process_requests()
 }
 
 IMPLEMENT_STATIC_NAME(Local_key_engraver);
-IMPLEMENT_IS_TYPE_B1(Local_key_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Local_key_engraver,Engraver);
 ADD_THIS_ENGRAVER(Local_key_engraver);
index 515bc7abe5a10afe673cc5f9c6d2206dde3a6bc3..28d1086e0283a7745eb99d31678e213b30f97866 100644 (file)
@@ -50,5 +50,5 @@ Lyric_engraver::do_post_move_processing()
 
 
 IMPLEMENT_STATIC_NAME(Lyric_engraver);
-IMPLEMENT_IS_TYPE_B1(Lyric_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Lyric_engraver,Engraver);
 ADD_THIS_ENGRAVER(Lyric_engraver);
index 326f74e3512439c6c4920a07c29701298862ff13..28397bb198a764fccce5c89a6af3811f499a8336 100644 (file)
@@ -123,4 +123,4 @@ Meter_engraver::do_post_move_processing()
 
 IMPLEMENT_STATIC_NAME(Meter_engraver);
 ADD_THIS_ENGRAVER(Meter_engraver);
-IMPLEMENT_IS_TYPE_B1(Meter_engraver,Request_engraver); 
+IMPLEMENT_IS_TYPE_B1(Meter_engraver,Engraver); 
index d07e7bde63e6eadb4056c679770b5450ea2d875d..c7d6509b97b2a2c7897b541f176a5ef6098eeb19 100644 (file)
@@ -10,7 +10,6 @@
 #include "music-iterator.hh"
 #include "translator.hh"
 #include "request.hh"
-#include "interpreter.hh"
 #include "debug.hh"
 
 IMPLEMENT_STATIC_NAME(Music_iterator);
@@ -38,7 +37,7 @@ Translator*
 Music_iterator::get_req_translator_l()
 {
     assert(report_to_l_);
-    if (report_to_l_->interpreter_l() )
+    if (report_to_l_->is_bottom_engraver_b() )
        return report_to_l_;
 
     set_translator( report_to_l_->get_default_interpreter() );
@@ -78,7 +77,7 @@ Music_iterator::next_moment()const
 }
 
 void
-Music_iterator::next(Moment)
+Music_iterator::process_and_next(Moment)
 {
     first_b_ = false;
 }
@@ -170,18 +169,18 @@ Chord_iterator::do_print() const
 }
 
 void
-Chord_iterator::next(Moment until)
+Chord_iterator::process_and_next(Moment until)
 {
     for (iter(children_p_list_.top(), i); i.ok(); ) {
        if  (i->next_moment() == until) {
-           i->next(until);
+           i->process_and_next(until);
        }
        if (!i->ok()) 
            delete i.remove_p();
        else
            i++;
     }
-    Music_iterator::next(until);
+    Music_iterator::process_and_next(until);
 
 //    assert(!ok() || next_moment() > until);
 }
@@ -252,7 +251,7 @@ IMPLEMENT_STATIC_NAME(Voice_iterator);
 IMPLEMENT_IS_TYPE_B1(Voice_iterator,Music_iterator);
 
 void
-Voice_iterator::next(Moment until)
+Voice_iterator::process_and_next(Moment until)
 {
     while (ok()) {
        Moment local_until = until - here_mom_;
@@ -260,14 +259,14 @@ Voice_iterator::next(Moment until)
            Moment here = iter_p_->next_moment();
            if (here != local_until)
                return;
-           iter_p_->next(local_until);
+           iter_p_->process_and_next(local_until);
        }
        if (!iter_p_)
            iter_p_ = Music_iterator::get_iterator_p( ptr() );
        else if (!iter_p_->ok() )
            next_element();
     }
-    Music_iterator::next(until);
+    Music_iterator::process_and_next(until);
     assert(!ok() || next_moment() > until);
 }
 
@@ -284,11 +283,13 @@ Voice_iterator::ok()const
 }
 
 /* ***************** */
+
 void
 Request_iterator::do_print()const
 {
     mtor << req_l_->name() ;
 }
+
 Request_iterator::Request_iterator(Request const*c)
 {
     req_l_ = (Request*)c;
@@ -296,11 +297,10 @@ Request_iterator::Request_iterator(Request const*c)
 }
 
 void
-Request_iterator::next(Moment m)
+Request_iterator::process_and_next(Moment m)
 {
-    if ( first_b_) {
-       bool gotcha = daddy_iter_l_->report_to_l_->
-           interpreter_l()->interpret_request_b(req_l_);
+    if ( first_b_ ) {
+       bool gotcha = daddy_iter_l_->report_to_l_->try_request(req_l_);
        if (!gotcha)
            req_l_->warning("Junking request: " + String(req_l_->name()));
        first_b_ = false;
@@ -325,6 +325,7 @@ Request_iterator::ok()const
 {
     return (req_l_->duration() && !last_b_) || first_b_; // ugh
 }
+
 IMPLEMENT_STATIC_NAME(Request_iterator);
 IMPLEMENT_IS_TYPE_B1(Request_iterator, Music_iterator);
 
@@ -342,7 +343,7 @@ IMPLEMENT_IS_TYPE_B1(Change_iterator,Music_iterator);
   TODO: pop/pushgroup
  */
 void
-Change_iterator::next(Moment mom)
+Change_iterator::process_and_next(Moment mom)
 {
 #if 0
     Engraver_group_engraver *group_l =
@@ -352,7 +353,7 @@ Change_iterator::next(Moment mom)
     report_to_l_->daddy_grav_l_->remove_engraver_p(report_to_l_);
     group_l->add(report_to_l_);
 #endif
-    Music_iterator::next(mom);
+    Music_iterator::process_and_next(mom);
 }
 
 
@@ -366,16 +367,6 @@ void
 Voice_element_iterator::construct_children()
 {
     get_req_translator_l();
-/*
-    if ( daddy_iter_l_ 
-        && daddy_iter_l_->is_type_b(Voice_iterator::static_name() )) {
-       set_translator(daddy_iter_l_-> get_req_translator_l());
-    } else if (daddy_iter_l_
-              && daddy_iter_l_-> is_type_b( Chord_iterator::static_name() )) {
-
-       get_req_translator_l();
-    }
-    */
     Chord_iterator::construct_children();
 }
 
index 2a95a72724cbb116e88886eda942114bab10c65b..6c0d668ad10b232c8bb83339fa88a2c02c237c3e 100644 (file)
@@ -121,5 +121,5 @@ Note_column_engraver::Note_column_engraver()
     do_post_move_processing();
 }
 IMPLEMENT_STATIC_NAME(Note_column_engraver);
-IMPLEMENT_IS_TYPE_B1(Note_column_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Note_column_engraver,Engraver);
 ADD_THIS_ENGRAVER(Note_column_engraver);
index df04beb912cc49e3b3c91a49959257c62c1e144e..d5e42658e7b29178945001e6a7c174f0db6eea8d 100644 (file)
@@ -14,7 +14,7 @@
 #include "note-column.hh"
 
 IMPLEMENT_STATIC_NAME(Rest_collision_engraver);
-IMPLEMENT_IS_TYPE_B1(Rest_collision_engraver, Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Rest_collision_engraver, Engraver);
 ADD_THIS_ENGRAVER(Rest_collision_engraver);
 
 Rest_collision_engraver::Rest_collision_engraver()
index 27c281e0e9bd23a7ffdc21e3baa809a6a2e0dccd..0c8f1e0590afa2b190db166716817722bde7585f 100644 (file)
@@ -85,5 +85,5 @@ Script_engraver::do_post_move_processing()
 }
 
 IMPLEMENT_STATIC_NAME(Script_engraver);
-IMPLEMENT_IS_TYPE_B1(Script_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Script_engraver,Engraver);
 ADD_THIS_ENGRAVER(Script_engraver);
index cabb4b194d2a15d2cba12653f8448eae00f7b2e0..655d7aad234f3bf3cf2eb76969065a0ac49baab2 100644 (file)
@@ -100,5 +100,5 @@ Slur_engraver::~Slur_engraver()
     }
 }
 IMPLEMENT_STATIC_NAME(Slur_engraver);
-IMPLEMENT_IS_TYPE_B1(Slur_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Slur_engraver,Engraver);
 ADD_THIS_ENGRAVER(Slur_engraver);
index fc93241ef6ebc227fe808fc1af20ca1489f3c83d..2e093b0c71bc13b7d06d6a4097806f1f363e3ba7 100644 (file)
@@ -46,5 +46,5 @@ Staff_sym_engraver::do_process_requests()
 
 
 IMPLEMENT_STATIC_NAME(Staff_sym_engraver);
-IMPLEMENT_IS_TYPE_B1(Staff_sym_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Staff_sym_engraver,Engraver);
 ADD_THIS_ENGRAVER(Staff_sym_engraver);
index bf479bca555540ab039cb6af6b1689677a853ec5..b476406a3c7614b919a9662a9d06bb22e5f0ec3e 100644 (file)
@@ -171,5 +171,5 @@ Stem_beam_engraver::set_feature(Feature i)
 }
 
 IMPLEMENT_STATIC_NAME(Stem_beam_engraver);
-IMPLEMENT_IS_TYPE_B1(Stem_beam_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Stem_beam_engraver,Engraver);
 ADD_THIS_ENGRAVER(Stem_beam_engraver);
index 39e842617bdb0883b0b3da617b90cf0e19ec1fa1..9f596cba76ffad37696264d71f9f73d7599225c1 100644 (file)
@@ -8,7 +8,7 @@
 #include "swallow-grav.hh"
 
 IMPLEMENT_STATIC_NAME(Swallow_engraver);
-IMPLEMENT_IS_TYPE_B1(Swallow_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Swallow_engraver,Engraver);
 ADD_THIS_ENGRAVER(Swallow_engraver);
 
 
index b0612eb0b8b972722781a657d67fb7fc70738641..2fbc12167998bf931c3c5aedb2fc4cc38e649753 100644 (file)
@@ -2,4 +2,4 @@
 #include "plist.tcc"
 #include "engraver.hh"
 
-IPL_instantiate(Request_engraver);
+IPL_instantiate(Engraver);
index 5d6e0d993c8d4ab2f5f796f1f4704027663146a6..d685a47a126a110947541afd4668c0009a0df01a 100644 (file)
@@ -71,5 +71,5 @@ Text_engraver::do_post_move_processing()
     text_req_l_ = 0;
 }
 IMPLEMENT_STATIC_NAME(Text_engraver);
-IMPLEMENT_IS_TYPE_B1(Text_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Text_engraver,Engraver);
 ADD_THIS_ENGRAVER(Text_engraver);
index 43a0221792d14c320acfa95d9b16608dfb6a5364..981e3f12c729eb939eae9e082874a487c83b42db 100644 (file)
@@ -120,5 +120,5 @@ Tie_engraver::set_feature(Feature f)
 }
 
 IMPLEMENT_STATIC_NAME(Tie_engraver);
-IMPLEMENT_IS_TYPE_B1(Tie_engraver,Request_engraver);
+IMPLEMENT_IS_TYPE_B1(Tie_engraver,Engraver);
 ADD_THIS_ENGRAVER(Tie_engraver);