From: fred Date: Sun, 24 Mar 2002 19:47:01 +0000 (+0000) Subject: lilypond-0.0.73pre X-Git-Tag: release/1.5.59~4516 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=03e8a40ebc51f8232434692b5ebea68aeb422a34;p=lilypond.git lilypond-0.0.73pre --- diff --git a/lily/bar-grav.cc b/lily/bar-grav.cc index 4282803b05..61cf611474 100644 --- a/lily/bar-grav.cc +++ b/lily/bar-grav.cc @@ -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); diff --git a/lily/beam.cc b/lily/beam.cc index 9e9f30eaff..d4f741d788 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -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] */ diff --git a/lily/clef-grav.cc b/lily/clef-grav.cc index ab5177674a..5f7ad85a8c 100644 --- a/lily/clef-grav.cc +++ b/lily/clef-grav.cc @@ -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); diff --git a/lily/collision-grav.cc b/lily/collision-grav.cc index 428924d891..1cb0295a8b 100644 --- a/lily/collision-grav.cc +++ b/lily/collision-grav.cc @@ -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); diff --git a/lily/dynamic-grav.cc b/lily/dynamic-grav.cc index 716abae463..fea92a8b6a 100644 --- a/lily/dynamic-grav.cc +++ b/lily/dynamic-grav.cc @@ -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() diff --git a/lily/engraver.cc b/lily/engraver.cc index 78fa6ca623..29027f4dea 100644 --- a/lily/engraver.cc +++ b/lily/engraver.cc @@ -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 { } diff --git a/lily/global-gravs.cc b/lily/global-gravs.cc index 6dcc07b791..1805012269 100644 --- a/lily/global-gravs.cc +++ b/lily/global-gravs.cc @@ -12,32 +12,32 @@ #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 *grav_table=0; +static Array *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; + grav_table = new Array; - 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++) { diff --git a/lily/head-grav.cc b/lily/head-grav.cc index bc70563126..f3bca51721 100644 --- a/lily/head-grav.cc +++ b/lily/head-grav.cc @@ -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); diff --git a/lily/include/bar-grav.hh b/lily/include/bar-grav.hh index 173d15e201..d65c26930b 100644 --- a/lily/include/bar-grav.hh +++ b/lily/include/bar-grav.hh @@ -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: diff --git a/lily/include/clef-grav.hh b/lily/include/clef-grav.hh index 5346c0b6e3..ec35bf0b5a 100644 --- a/lily/include/clef-grav.hh +++ b/lily/include/clef-grav.hh @@ -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(); diff --git a/lily/include/collision-grav.hh b/lily/include/collision-grav.hh index 0b46db58c3..4500a72617 100644 --- a/lily/include/collision-grav.hh +++ b/lily/include/collision-grav.hh @@ -12,7 +12,7 @@ #include "engraver.hh" -class Collision_engraver : public Request_engraver { +class Collision_engraver : public Engraver { Collision* col_p_; protected: diff --git a/lily/include/dynamic-grav.hh b/lily/include/dynamic-grav.hh index 791b2f129e..5c1a585ca5 100644 --- a/lily/include/dynamic-grav.hh +++ b/lily/include/dynamic-grav.hh @@ -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_; diff --git a/lily/include/engraver-group.hh b/lily/include/engraver-group.hh index fc76fd7bd5..d65375e492 100644 --- a/lily/include/engraver-group.hh +++ b/lily/include/engraver-group.hh @@ -21,12 +21,12 @@ 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 grav_list_; + Pointer_list grav_list_; Link_array group_l_arr_; - Link_array nongroup_l_arr_; + Link_array nongroup_l_arr_; Array 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(); diff --git a/lily/include/engraver.hh b/lily/include/engraver.hh index 320bdd3256..9752fd75fc 100644 --- a/lily/include/engraver.hh +++ b/lily/include/engraver.hh @@ -1,5 +1,5 @@ /* - engraver.hh -- declare Request_engraver + engraver.hh -- declare Engraver source file of the GNU LilyPond music typesetter @@ -25,13 +25,13 @@ */ -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 diff --git a/lily/include/head-grav.hh b/lily/include/head-grav.hh index 07f7210925..c7522c5005 100644 --- a/lily/include/head-grav.hh +++ b/lily/include/head-grav.hh @@ -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_; diff --git a/lily/include/input-engraver.hh b/lily/include/input-engraver.hh index 5894a1db64..b9514a69cd 100644 --- a/lily/include/input-engraver.hh +++ b/lily/include/input-engraver.hh @@ -17,11 +17,17 @@ #include "string.hh" #include "varray.hh" +struct Input_engraver_list : public Pointer_list +{ + Input_engraver_list(Input_engraver_list const &); + Input_engraver_list(){} +}; + struct Input_engraver : Input { - Pointer_list contains_igrav_p_list_; + Input_engraver_list contains_igrav_p_list_; Array consists_str_arr_; Array 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 diff --git a/lily/include/key-grav.hh b/lily/include/key-grav.hh index 8f9b9ecdf1..d62345ab1b 100644 --- a/lily/include/key-grav.hh +++ b/lily/include/key-grav.hh @@ -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_; diff --git a/lily/include/local-key-grav.hh b/lily/include/local-key-grav.hh index 6ed5d78ac5..cc52ed5f8f 100644 --- a/lily/include/local-key-grav.hh +++ b/lily/include/local-key-grav.hh @@ -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 mel_l_arr_; diff --git a/lily/include/lyric-engraver.hh b/lily/include/lyric-engraver.hh index 8771d4b3cd..9c50d5c068 100644 --- a/lily/include/lyric-engraver.hh +++ b/lily/include/lyric-engraver.hh @@ -14,7 +14,7 @@ #include "lily-proto.hh" -class Lyric_engraver : public Request_engraver { +class Lyric_engraver : public Engraver { Array lreq_arr_; virtual bool do_try_request(Request*); virtual void do_process_requests(); diff --git a/lily/include/meter-grav.hh b/lily/include/meter-grav.hh index 38fe040450..d2f25ec2cd 100644 --- a/lily/include/meter-grav.hh +++ b/lily/include/meter-grav.hh @@ -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_; diff --git a/lily/include/music-iterator.hh b/lily/include/music-iterator.hh index c4fc80655c..661d380d6c 100644 --- a/lily/include/music-iterator.hh +++ b/lily/include/music-iterator.hh @@ -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; }; diff --git a/lily/include/note-column-grav.hh b/lily/include/note-column-grav.hh index 141fe4b93f..800550bd59 100644 --- a/lily/include/note-column-grav.hh +++ b/lily/include/note-column-grav.hh @@ -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(); diff --git a/lily/include/rest-collision-grav.hh b/lily/include/rest-collision-grav.hh index 2d67a1bde0..8685aa5d7d 100644 --- a/lily/include/rest-collision-grav.hh +++ b/lily/include/rest-collision-grav.hh @@ -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: diff --git a/lily/include/score-align-grav.hh b/lily/include/score-align-grav.hh index 72777e2dae..fb40310ccb 100644 --- a/lily/include/score-align-grav.hh +++ b/lily/include/score-align-grav.hh @@ -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: diff --git a/lily/include/score-elem-info.hh b/lily/include/score-elem-info.hh index 871634214f..6b97718562 100644 --- a/lily/include/score-elem-info.hh +++ b/lily/include/score-elem-info.hh @@ -19,7 +19,7 @@ struct Score_elem_info { Score_elem * elem_l_; Request*req_l_; Voice const * voice_l_; - Array origin_grav_l_arr_; + Array origin_grav_l_arr_; /* *** */ Score_elem_info(Score_elem*, Request*); diff --git a/lily/include/score-halign-grav.hh b/lily/include/score-halign-grav.hh index fef509157a..cba48928b8 100644 --- a/lily/include/score-halign-grav.hh +++ b/lily/include/score-halign-grav.hh @@ -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: diff --git a/lily/include/script-grav.hh b/lily/include/script-grav.hh index fc8f02980d..bf79f8e47a 100644 --- a/lily/include/script-grav.hh +++ b/lily/include/script-grav.hh @@ -11,7 +11,7 @@ #include "engraver.hh" -class Script_engraver : public Request_engraver { +class Script_engraver : public Engraver { Array