]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.1.11
authorfred <fred>
Sun, 24 Mar 2002 19:55:55 +0000 (19:55 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:55:55 +0000 (19:55 +0000)
lily/global-translator.cc
lily/include/global-translator.hh
lily/include/score-grav.hh
lily/include/score.hh
lily/music-output-def.cc [new file with mode: 0644]

index f92156e6e4bb1cee36a881d0cc0b8d10f0336eea..f4213dd6a6a8f4fb29d7420167798561e09757c5 100644 (file)
@@ -6,14 +6,10 @@
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
-#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;
+}
index 25f596871445738b2fd693469012cdd2cd19c244..ae97418b7ffd6494082ddc9eb780002f5db5d8b2 100644 (file)
 #include "pqueue.hh"
 
 class Global_translator : public virtual Translator {
-    PQueue<Moment> extra_mom_pq_;
-    Moment last_mom_;
+  PQueue<Moment> 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);
 };
 
 
index 5cb3936bb5118ef03211ac643c2a0db201420cc0..6328c9bd26f9a8c4b6482123ef4ceee67cc840be 100644 (file)
   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<Score_elem> elem_p_arr_;
     
-    Array<Item*> nobreak_item_p_arr_;
-    Link_array<Score_elem> 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
index aa2501d9c22a6949fbc8f0dfd33f42268beee119..8d9666b0c5542381abb86f8f03fa25c0783cd902 100644 (file)
 #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<Music_output_def> 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<Score_column*> create_cols (Moment, PCursor<Score_column*> &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 (file)
index 0000000..5de256a
--- /dev/null
@@ -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 <hanwen@stack.nl>
+*/
+
+#include "music-output-def.hh"
+
+IMPLEMENT_IS_TYPE_B(Music_output_def);
+