From: fred Date: Sun, 24 Mar 2002 19:53:22 +0000 (+0000) Subject: lilypond-0.1.7 X-Git-Tag: release/1.5.59~4143 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ff342446321eecd0a8633fba54fcd9434c1bffa8;p=lilypond.git lilypond-0.1.7 --- diff --git a/lily/engraver.cc b/lily/engraver.cc index 4dea919eca..697a4844a2 100644 --- a/lily/engraver.cc +++ b/lily/engraver.cc @@ -26,6 +26,15 @@ Engraver::post_move_processing() status = MOVE_INITED; } +void +Engraver::removal_processing() +{ + if ( status < CREATION_INITED ) + do_creation_processing(); + + do_removal_processing(); +} + bool Engraver::try_request(Request * r) { @@ -97,12 +106,6 @@ Engraver::paper()const return daddy_grav_l_->paper(); } -void -Engraver::typeset_breakable_item(Item * nobreak_p) -{ - daddy_grav_l_->typeset_breakable_item(nobreak_p); -} - bool Engraver::contains_b(Engraver *grav_l)const { diff --git a/lily/include/engraver-group.hh b/lily/include/engraver-group.hh index 96e67feaa8..2e3e4941bd 100644 --- a/lily/include/engraver-group.hh +++ b/lily/include/engraver-group.hh @@ -24,7 +24,6 @@ */ class Engraver_group_engraver : public Engraver, public virtual Translator { protected: - Pointer_list grav_list_; Link_array group_l_arr_; Link_array nongroup_l_arr_; @@ -32,11 +31,10 @@ protected: Array announce_info_arr_; virtual void do_print()const; - virtual bool removable_b()const; - public: - virtual void print() const { Engraver::print(); } + Engraver*get_simple_engraver(char const*typeinfo)const; + virtual void print() const ; Input_translator * itrans_l_; void check_removal(); @@ -53,7 +51,8 @@ public: */ virtual void terminate_engraver(Engraver * grav_l); - DECLARE_MY_RUNTIME_TYPEINFO; + + DECLARE_MY_RUNTIME_TYPEINFO; /** Remove #grav_l# from the list, and return it. @@ -84,7 +83,6 @@ public: */ Translator * ancestor_l(int l=1); int depth_i() const; - }; #endif // ENGRAVERGROUP_HH diff --git a/lily/include/engraver.hh b/lily/include/engraver.hh index 52cd3bd7ea..60b8b95ca1 100644 --- a/lily/include/engraver.hh +++ b/lily/include/engraver.hh @@ -64,11 +64,6 @@ protected: virtual void do_creation_processing () {} virtual void do_removal_processing() {} - /** - typeset a "command" item. Default: pass on to daddy. - If the column is not breakable, #pre_p# and #post_p# are junked - */ - virtual void typeset_breakable_item(Item * nobreak_p); /** Invoke walker method to typeset element. Default: pass on to daddy. */ @@ -129,6 +124,7 @@ public: bool is_bottom_engraver() const; void post_move_processing(); + void removal_processing(); Engraver_group_engraver * daddy_grav_l_; diff --git a/lily/include/performer-group-performer.hh b/lily/include/performer-group-performer.hh index fdca52a576..4c57fc7af8 100644 --- a/lily/include/performer-group-performer.hh +++ b/lily/include/performer-group-performer.hh @@ -23,22 +23,14 @@ public: DECLARE_MY_RUNTIME_TYPEINFO; Input_translator* itrans_l_; - Performer_group_performer(); - ~Performer_group_performer(); - virtual void add( Performer* perf_p ); - virtual void print()const { Performer::print() ; } - virtual Moment get_mom() const; virtual bool do_try_request( Request* req_l ); - virtual bool try_request(Request*r) { return Performer::try_request(r) ; } - - // - virtual void set_track( int& track_i_r ); - virtual int get_track_i() const; - // + virtual void print() const; + virtual bool try_request(Request* r); + protected: - + virtual ~Performer_group_performer(); virtual Translator* find_get_translator_l( String name, String id ); virtual Translator* get_default_interpreter(); diff --git a/lily/performer-group-performer.cc b/lily/performer-group-performer.cc index 55c5e18994..b697dca1a6 100644 --- a/lily/performer-group-performer.cc +++ b/lily/performer-group-performer.cc @@ -1,6 +1,8 @@ /* performer-group-performer.cc -- implement Performer_group_performer + source file of the GNU LilyPond music typesetter + (c) 1996, 1997 Han-Wen Nienhuys Jan Nieuwenhuizen */ @@ -10,15 +12,11 @@ #include "debug.hh" IMPLEMENT_IS_TYPE_B2(Performer_group_performer,Performer, Translator); - ADD_THIS_PERFORMER(Performer_group_performer); -Performer_group_performer::Performer_group_performer() -{ -} - Performer_group_performer::~Performer_group_performer() { + } void @@ -49,6 +47,42 @@ Performer_group_performer::depth_i() const return daddy_perf_l_->depth_i() + 1; } +void +Performer_group_performer::do_creation_processing() +{ + for ( PCursor i( perf_p_list_.top() ); i.ok(); i++ ) + i->creation_processing(); +} + +void +Performer_group_performer::do_print()const +{ +#ifndef NPRINT + if ( !check_debug) + return ; + for ( PCursor i( perf_p_list_.top() ); i.ok(); i++ ) + i->print(); +#endif +} + +void +Performer_group_performer::do_removal_processing() +{ + for ( PCursor i( perf_p_list_.top() ); i.ok(); i++ ) + i->do_removal_processing(); +} + +bool +Performer_group_performer::do_try_request( Request* req_l ) +{ + bool hebbes_b =false; + for (int i =0; !hebbes_b && i < nongroup_l_arr_.size() ; i++) + hebbes_b =nongroup_l_arr_[i]->try_request(req_l); + if ( !hebbes_b && daddy_perf_l_ ) + hebbes_b = daddy_perf_l_->try_request(req_l); + return hebbes_b ; +} + Translator* Performer_group_performer::find_get_translator_l( String n,String id ) { @@ -107,83 +141,27 @@ Performer_group_performer::get_default_interpreter() return perf_p->get_default_interpreter(); } -Moment -Performer_group_performer::get_mom() const -{ - Moment mom = Performer::get_mom(); - - for ( int i = 0; i < nongroup_l_arr_.size(); i++ ) - nongroup_l_arr_[ i ]->set( mom ); - - return mom; -} - bool Performer_group_performer::is_bottom_performer_b() const { return !itrans_l_->get_default_itrans_l(); } - -void -Performer_group_performer::process_requests() -{ - for ( PCursor i( perf_p_list_.top() ); i.ok(); i++ ) - i->process_requests(); -} - -// -int -Performer_group_performer::get_track_i() const -{ - int track_i = Performer::get_track_i(); - - for ( int i = 0; i < nongroup_l_arr_.size(); i++ ) - nongroup_l_arr_[ i ]->set_track( track_i ); - - return track_i; -} - -void -Performer_group_performer::set_track( int& track_i_r ) -{ - for ( PCursor i( perf_p_list_.top() ); i.ok(); i++ ) - i->set_track( track_i_r ); -} -// - -bool -Performer_group_performer::do_try_request( Request* req_l ) -{ - bool hebbes_b =false; - for (int i =0; !hebbes_b && i < nongroup_l_arr_.size() ; i++) - hebbes_b =nongroup_l_arr_[i]->try_request(req_l); - if ( !hebbes_b && daddy_perf_l_ ) - hebbes_b = daddy_perf_l_->try_request(req_l); - return hebbes_b ; -} - void -Performer_group_performer::do_print()const -{ -#ifndef NPRINT - if ( !check_debug) - return ; - for ( PCursor i( perf_p_list_.top() ); i.ok(); i++ ) - i->print(); -#endif +Performer_group_performer::print() const +{ + Performer::print(); } void -Performer_group_performer::do_creation_processing() +Performer_group_performer::process_requests() { for ( PCursor i( perf_p_list_.top() ); i.ok(); i++ ) - i->creation_processing(); + i->process_requests(); } -void -Performer_group_performer::do_removal_processing() +bool +Performer_group_performer::try_request( Request* r ) { - for ( PCursor i( perf_p_list_.top() ); i.ok(); i++ ) - i->do_removal_processing(); + return Performer::try_request( r ); }