From b098f77a7f550d251410657f72fbf10748ff91ab Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:55:55 +0000 Subject: [PATCH] lilypond-0.1.11 --- lily/global-translator.cc | 21 ++++------ lily/include/global-translator.hh | 34 +++++++-------- lily/include/score-grav.hh | 60 +++++++++++++------------- lily/include/score.hh | 70 +++++++------------------------ lily/music-output-def.cc | 12 ++++++ 5 files changed, 80 insertions(+), 117 deletions(-) create mode 100644 lily/music-output-def.cc diff --git a/lily/global-translator.cc b/lily/global-translator.cc index f92156e6e4..f4213dd6a6 100644 --- a/lily/global-translator.cc +++ b/lily/global-translator.cc @@ -6,14 +6,10 @@ (c) 1997 Han-Wen Nienhuys */ -#include "music.hh" #include "global-translator.hh" -#include "score.hh" -#include "score-column.hh" Global_translator::Global_translator() { - score_l_ = 0; last_mom_ = 0; } @@ -36,18 +32,11 @@ Global_translator::add_moment_to_process (Moment m) } int -Global_translator::depth_i()const +Global_translator::depth_i() const { return 0; } -void -Global_translator::set_score (Score *s) -{ - score_l_ = s; - last_mom_ = score_l_->music_p_->time_int().max (); -} - void Global_translator::modify_next (Moment &w) { @@ -58,7 +47,7 @@ Global_translator::modify_next (Moment &w) } int -Global_translator::moments_left_i()const +Global_translator::moments_left_i() const { return extra_mom_pq_.size(); } @@ -70,3 +59,9 @@ Global_translator::prepare (Moment) IMPLEMENT_IS_TYPE_B1(Global_translator, Translator); + +Music_output* +Global_translator::get_output_p() +{ + return 0; +} diff --git a/lily/include/global-translator.hh b/lily/include/global-translator.hh index 25f5968714..ae97418b7f 100644 --- a/lily/include/global-translator.hh +++ b/lily/include/global-translator.hh @@ -14,28 +14,26 @@ #include "pqueue.hh" class Global_translator : public virtual Translator { - PQueue extra_mom_pq_; - Moment last_mom_; + PQueue extra_mom_pq_; public: - Score *score_l_; + Moment last_mom_; + Global_translator(); + int moments_left_i() const; + void modify_next (Moment&); + void add_moment_to_process (Moment); + + virtual Music_output *get_output_p (); + virtual void prepare (Moment); + virtual void process() {} + virtual void finish() {} + virtual void start() {} - Global_translator(); - int moments_left_i()const; - void modify_next (Moment&); - void add_moment_to_process (Moment); - - virtual void set_score (Score*); - virtual void prepare (Moment); - virtual void process() {} - virtual void finish() {} - virtual void start() {} - - DECLARE_MY_RUNTIME_TYPEINFO; + DECLARE_MY_RUNTIME_TYPEINFO; protected: - virtual Global_translator *global_l() { return this; } - virtual int depth_i() const; - virtual Translator *ancestor_l (int); + virtual Global_translator *global_l() { return this; } + virtual int depth_i() const; + virtual Translator *ancestor_l (int); }; diff --git a/lily/include/score-grav.hh b/lily/include/score-grav.hh index 5cb3936bb5..6328c9bd26 100644 --- a/lily/include/score-grav.hh +++ b/lily/include/score-grav.hh @@ -17,48 +17,44 @@ Top level engraver. Puts elements into appropriate columns. */ class Score_engraver : - public Engraver_group_engraver, public Global_translator + public Engraver_group_engraver, public Global_translator { - Line_of_score * scoreline_l_; - bool disallow_break_b_; - int breaks_i_; + Line_of_score * scoreline_l_; + bool disallow_break_b_; + int breaks_i_; + Link_array elem_p_arr_; - Array nobreak_item_p_arr_; - Link_array musical_item_p_arr_; + Score_column* command_column_l_; + Score_column* musical_column_l_; - Score_column* command_column_l_; - Score_column* musical_column_l_; - - friend class Score; - void set_columns (Score_column*,Score_column*); - void typeset_all(); + void set_columns (Score_column*,Score_column*); + void typeset_all(); public: - DECLARE_MY_RUNTIME_TYPEINFO; - - Score_engraver(); + Paper_score * pscore_p_; + DECLARE_MY_RUNTIME_TYPEINFO; + Score_engraver(); + virtual Music_output *get_output_p (); protected: - /* Global_translator interface */ - virtual void set_score (Score * score_l); - virtual void prepare (Moment); - virtual void finish(); - virtual void process(); - virtual int depth_i() const { return Global_translator::depth_i ();} - virtual Translator* ancestor_l (int l) { return Global_translator::ancestor_l (l);} + virtual void prepare (Moment); + virtual void finish(); + virtual void process(); + virtual int depth_i() const { return Global_translator::depth_i ();} + virtual Translator* ancestor_l (int l) { return Global_translator::ancestor_l (l);} protected: - /* Engraver_group_engraver interface */ - virtual Staff_info get_staff_info()const; - virtual bool do_try_request (Request*); - virtual void do_creation_processing(); - virtual void do_removal_processing(); - virtual void announce_element (Score_elem_info); - virtual void do_announces(); - virtual void typeset_element (Score_elem*elem_p); - virtual Paper_def * paper() const; - virtual void do_pre_move_processing(); + /* Engraver_group_engraver interface */ + virtual Staff_info get_staff_info() const; + virtual bool do_try_request (Request*); + virtual void do_creation_processing(); + virtual void do_removal_processing(); + virtual void announce_element (Score_elem_info); + virtual void do_announces(); + virtual void typeset_element (Score_elem*elem_p); + virtual Paper_def * paper() const; + virtual void do_pre_move_processing(); }; #endif // SCORE_GRAV_HH diff --git a/lily/include/score.hh b/lily/include/score.hh index aa2501d9c2..8d9666b0c5 100644 --- a/lily/include/score.hh +++ b/lily/include/score.hh @@ -13,69 +13,31 @@ #include "varray.hh" #include "lily-proto.hh" #include "plist.hh" -#include "moment.hh" -#include "assoc.hh" #include "string.hh" #include "input.hh" #include "lily-proto.hh" +#include "parray.hh" /// the total music def of one movement class Score: public Input { public: - /// paper_, staffs_ and commands_ form the problem definition. - Paper_def *paper_p_; - Midi_def *midi_p_; - Music * music_p_; - Paper_score *pscore_p_; - Audio_score* audio_score_p_; - Header * header_p_; + /// paper_, staffs_ and commands_ form the problem definition. + Link_array def_p_arr_; + Music * music_p_; + Header * header_p_; - int errorlevel_i_; + int errorlevel_i_; - /* *************************************************************** */ - - /// construction - Score(); - Score (Score const&); - ~Score(); - - /// do everything except outputting to file - void process(); - - /// output to file - void output (String fn); - - /// - void set (Midi_def* midi_p); - /// - void set (Paper_def* midi_p); - - void print() const; - + /// construction + Score(); + Score (Score const&); + ~Score(); + + void process(); + void add (Music_output_def *def_p); + void print() const; private: - void run_translator (Global_translator*); - void midi_output(); - void paper_output(); - - /// do midi stuff - void midi(); - - /// do paper stuff - void paper(); - - // utils: - PCursor create_cols (Moment, PCursor &last); - - /** - make the pcol_l_ fields of each Score_column point to the correct PCol, - remove any unnecessary Score_column's - */ - void do_cols(); - - /// remove unused cols - void clean_cols(); - - /// add #Idealspacings# to #pscore_# - void calc_idealspacing(); + void run_translator (Music_output_def*); }; + #endif diff --git a/lily/music-output-def.cc b/lily/music-output-def.cc new file mode 100644 index 0000000000..5de256a365 --- /dev/null +++ b/lily/music-output-def.cc @@ -0,0 +1,12 @@ +/* + music-output-def.cc -- implement Music_output_def + + source file of the GNU LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + +#include "music-output-def.hh" + +IMPLEMENT_IS_TYPE_B(Music_output_def); + -- 2.39.5