]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.64
authorfred <fred>
Sun, 24 Mar 2002 19:43:29 +0000 (19:43 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:43:29 +0000 (19:43 +0000)
50 files changed:
lib/include/proto.hh
lily/bar-reg.cc
lily/clef-reg.cc
lily/collision-reg.cc
lily/complex-walker.cc
lily/dynamic-reg.cc
lily/head-reg.cc
lily/include/clef-reg.hh
lily/include/collision-reg.hh
lily/include/complex-walker.hh
lily/include/dynamic-reg.hh
lily/include/item.hh
lily/include/key-reg.hh
lily/include/lily-proto.hh
lily/include/local-key-reg.hh
lily/include/note-column-reg.hh
lily/include/register-group.hh
lily/include/register.hh
lily/include/rest-collision-reg.hh
lily/include/script-reg.hh
lily/include/slur-reg.hh
lily/include/spanner.hh
lily/include/staff-elem.hh
lily/include/staff-regs.hh
lily/include/staff-side.hh
lily/include/staffeleminfo.hh
lily/include/stem-beam-reg.hh
lily/include/text-reg.hh
lily/include/tie-reg.hh
lily/include/vertical-spanner.hh [new file with mode: 0644]
lily/include/voice-regs.hh
lily/include/walk-regs.hh
lily/key-reg.cc
lily/meter-reg.cc
lily/note-column-reg.cc
lily/register-group.cc
lily/register.cc
lily/rest-collision-reg.cc
lily/script-reg.cc
lily/slur-reg.cc
lily/spanner.cc
lily/staff-elem-info.cc
lily/staff-elem.cc
lily/staff-regs.cc
lily/staff-side.cc
lily/staff-sym-reg.cc
lily/stem.cc
lily/text-reg.cc
lily/voice-regs.cc
lily/walk-regs.cc

index 19273d0ab1321fb2cba44e781981477a41a61b95..ab93a5472ff5f72cfbba9495c7b6abff80390c9d 100644 (file)
@@ -143,8 +143,6 @@ struct Spanner;
 struct Subtle_req;
 struct Staff;
 struct Staff_column;
-struct Staff_elem;
-struct Staff_elem_info;
 struct Staff_symbol;
 struct Staff_walker;
 struct Stem;
index 8450b6bf7e8ab5687c62d9a74f9ddc0fb5fc986c..4dd6199ce148aa4613d313f5436f535d6beabae5 100644 (file)
@@ -42,7 +42,7 @@ Bar_register::process_requests()
     }
     
     if (bar_p_){
-       announce_element(Staff_elem_info(bar_p_, bar_req_l_) );
+       announce_element(Score_elem_info(bar_p_, bar_req_l_) );
     }
 }
 
index f5687a166503e6a74592d62995bde7145e06a044..63e4a505fc45beb7230857e3ff7de307fa3e5fb0 100644 (file)
@@ -48,7 +48,7 @@ Clef_register::read_req(Clef_change_req*c_l)
        c_l->error("unknown clef type ");
 }
 void
-Clef_register::acknowledge_element(Staff_elem_info info)
+Clef_register::acknowledge_element(Score_elem_info info)
 {
     if (info.elem_l_->name() == Bar::static_name()) {
        if (!clef_p_){
@@ -76,7 +76,7 @@ Clef_register::create_clef()
 {
     clef_p_ = new Clef_item;
     clef_p_->read(*this);
-    announce_element(Staff_elem_info(clef_p_,
+    announce_element(Score_elem_info(clef_p_,
                                         clef_req_l_));
 }
 
index 954b999a24468e0ef078d5f8ad3119e2988005f1..6b9da7706229b435cdf7db2027be110b6c91f469 100644 (file)
@@ -11,7 +11,7 @@
 #include "collision.hh"
 
 void
-Collision_register::acknowledge_element(Staff_elem_info i)
+Collision_register::acknowledge_element(Score_elem_info i)
 {
     if (!(i.elem_l_->name() == Note_column::static_name()))
        return;
@@ -19,7 +19,7 @@ Collision_register::acknowledge_element(Staff_elem_info i)
     if (!col_p_)
        col_p_ = new Collision;
     
-    col_p_->add((Note_column*)i.elem_l_);
+    col_p_->add((Note_column*)i.elem_l_->item());
 }
 
 void
index 134a4705a7bacb49fd2d95445e3271ee53c1bd08..1e1ac452d78d07feb5e2cb0c2cd48ec968e41bfc 100644 (file)
@@ -68,7 +68,7 @@ Complex_walker::regs_process_requests()
 }
 
 void
-Complex_walker::typeset_element(Staff_elem *elem_p)
+Complex_walker::typeset_element(Score_elem *elem_p)
 {
     if (!elem_p)
        return;
index 11a74756a7f4563d225984adef7f618b0f6dcc7f..20ffe5cfe32ad63f5701572613680722f3c5ed88 100644 (file)
@@ -58,7 +58,7 @@ Dynamic_register::process_requests()
            assert (!dynamic_p_) ; // TODO
                
            dynamic_p_ = new Text_item(td_p);
-           announce_element(Staff_elem_info(dynamic_p_, dreq_l));
+           announce_element(Score_elem_info(dynamic_p_, dreq_l));
        } else if (dreq_l->span_dynamic()) {
 
            Span_dynamic_req* span_l = dreq_l->span_dynamic();
@@ -75,7 +75,7 @@ Dynamic_register::process_requests()
                assert(!new_cresc_p);
                new_cresc_p  = new Crescendo;
                new_cresc_p->grow_dir_i_ = span_l->dynamic_dir_i_;
-               announce_element(Staff_elem_info(new_cresc_p, span_l));
+               announce_element(Score_elem_info(new_cresc_p, span_l));
            }
        }
     }
@@ -136,7 +136,7 @@ Dynamic_register::~Dynamic_register()
     delete cresc_p_;
 }
 void
-Dynamic_register::acknowledge_element(Staff_elem_info i)
+Dynamic_register::acknowledge_element(Score_elem_info i)
 {
     if (i.elem_l_->name() == Note_column::static_name()) {
        if (dynamic_p_) dynamic_p_->add_support(i.elem_l_);
index 5b1557ea78d5aff746f100306ea740fe73df6c8f..562dbea654e08ff5ca22ea9cde09dd45479a5fd7 100644 (file)
@@ -48,7 +48,7 @@ Notehead_register::process_requests()
                       6 * paper()->internote()));
     }
     
-    Staff_elem_info itinf(note_p_,note_req_l_);
+    Score_elem_info itinf(note_p_,note_req_l_);
     announce_element(itinf);
 }
 
index 434ffcd95862aa6855a9fe2abe547852afde85c2..a9f3426a1225526bb17965e0148601414fceae60 100644 (file)
@@ -23,7 +23,7 @@ protected:
     virtual void pre_move_processing();
     virtual void post_move_processing();
     virtual bool try_request(Request*);
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
 public:
     int c0_position_i_;
     String clef_type_str_;
index 31de018f461d138c1686a6c9e0b61a378b1ce427..0dd8a66fcac515d942ec256cdb12b9327b304b7e 100644 (file)
@@ -16,7 +16,7 @@ class Collision_register : public Request_register {
     Collision* col_p_;
 
 protected:
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual void pre_move_processing();
 public:
     Collision_register();
index a23371abea74a6fd23b749187b918d483b7ad03e..44f445f069175d3114ba90de6090e9dc574f92d9 100644 (file)
@@ -27,8 +27,8 @@ public:
     /* *************** */
 
     void regs_process_requests();
-    void typeset_element(Staff_elem *elem_p);
-    void announce_element(Staff_elem_info);
+    void typeset_element(Score_elem *elem_p);
+    void announce_element(Score_elem_info);
     virtual void process_requests();
     virtual void do_post_move();
     virtual void do_pre_move();
index c56805d07d849214d72b0517bd4a5ee439e2307d..cf23d007c3985ea11a6b4abd5b77e785d89570b9 100644 (file)
@@ -25,7 +25,7 @@ public:
     ~Dynamic_register();
     NAME_MEMBERS(Dynamic_register);
 protected:
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual bool try_request(Request *req_l);
     virtual void process_requests();
     virtual void pre_move_processing();
index 622f0f0dea50657e9bdc60f4e52a67950f1c849e..f61a2f27650789168a2ea2724acd63ee5fe96d8d 100644 (file)
@@ -23,7 +23,7 @@
   spacing calculation. 
   
 */
-class Item : public Staff_elem {
+class Item : public virtual Score_elem {
 public:
     /// indirection to the column it is in
     PCol * pcol_l_;
index a907434bf2271505919cb9883e2e90a4f869104b..c674ca55a28c1fd9e09d07b4a526bcdef2762cda 100644 (file)
@@ -25,7 +25,7 @@ struct Key_register : Request_register {
     virtual void process_requests();
     virtual void pre_move_processing();
     virtual void post_move_processing();
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     Key_register();
     NAME_MEMBERS(Key_register);
 private:
index d40e1616e6326ced0328c08b84c2085ccabde409..7cffaced164fccd7525df3f5de14e9304ac93ada 100644 (file)
@@ -47,6 +47,8 @@ struct Request_column;
 struct Rest_req;
 struct Rhythmic_grouping_req;
 struct Rhythmic_req;
+struct Score_elem;
+struct Score_elem_info;
 struct Script_req;
 struct Skip_req;
 struct Slur_req;
@@ -69,4 +71,6 @@ struct Script_column;
 struct Rest_column;
 struct Rest_collision_register;
 struct Rest_collision;
+struct Vertical_spanner;
+struct Vertical_brace;
 #endif // LILY_PROTO_HH
index 19e11b9d4e5872e898aee9bd99be0ddd3c1ba238..b7197d27435bfb303e6d4d1fefcccbac6862bf2a 100644 (file)
@@ -21,7 +21,7 @@ struct Local_key_register : Request_register {
     Link_array<Item *> tied_l_arr_;
     /* *************** */
     virtual void process_requests();
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual void pre_move_processing();
     Local_key_register();
     NAME_MEMBERS(Local_key_register);
index d052d04983ca66a708c60237a7503c06fefd165e..d33dddf96209c49c0ba1803e514f5d074dc79011 100644 (file)
@@ -24,10 +24,10 @@ class Note_column_register :public Request_register {
     int dir_i_;
     
     /* *************** */
-    bool acceptable_elem_b(Staff_elem const*)const;
+    bool acceptable_elem_b(Score_elem const*)const;
 protected:
     virtual void set_feature(Feature);
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual void pre_move_processing();
     virtual void post_move_processing();
 public:
index 2156dbec804f4ed2d9dae0f251f3ce76234caed4..2e13b512483285df00f8cd72df4de912aa5ac535 100644 (file)
@@ -44,7 +44,7 @@ public:
     virtual void sync_features() ;
     virtual void pre_move_processing();
     virtual void post_move_processing();
-    virtual void acknowledge_element(Staff_elem_info info);
+    virtual void acknowledge_element(Score_elem_info info);
     virtual bool try_request(Request*);
     virtual void process_requests();
     virtual ~Register_group_register();
index 5ba28600ad2061741a9e5179385d231409bd9ceb..dee7c512c80bb3835dae91edf41f59efb16fc29f 100644 (file)
@@ -17,7 +17,7 @@
 #include "staff-info.hh"
 
 /**
-  a struct which processes requests, and creates the #Staff_elem#s.
+  a struct which processes requests, and creates the #Score_elem#s.
   It may use derived classes. Hungarian postfix: register
   */
 class Request_register {
@@ -69,7 +69,7 @@ protected:
     /**
       Invoke walker method to typeset element. Default: pass on to daddy.
       */
-    virtual void typeset_element(Staff_elem*elem_p);
+    virtual void typeset_element(Score_elem*elem_p);
     
      /**
       take note of item/spanner
@@ -77,11 +77,11 @@ protected:
 
       Default: ignore the info
       */
-    virtual void acknowledge_element(Staff_elem_info) {}
+    virtual void acknowledge_element(Score_elem_info) {}
     /**
       Announce element. Default: pass on to daddy. Utility
       */
-    virtual void announce_element(Staff_elem_info);
+    virtual void announce_element(Score_elem_info);
     /**
       Set Feature of the register(s). Default: ignore Feature.
      */
index da2992b65c17bac87cd85704e4a5761a57d95ee2..a572ee6449ceeb181d8d566d44d2ca8e7dd0eaf8 100644 (file)
@@ -17,7 +17,7 @@ class Rest_collision_register : public Request_register {
     Rest_collision* rest_collision_p_;
     Array< Collision *> collision_l_arr_;
 protected:
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual void pre_move_processing();
 public:
     Rest_collision_register();
index 67d1215b9a2497dacd16f30ee55a6e358472d98f..f7fc05d9eb6e17797abc105c980369d47d43d062 100644 (file)
@@ -16,14 +16,14 @@ class Script_register : public Request_register {
     Array<Script_req *> script_req_l_arr_;
 
     /* *************** */
-    bool acceptable_elem_b(Staff_elem*);
+    bool acceptable_elem_b(Score_elem*);
 public:
     NAME_MEMBERS(Script_register);
     Script_register();
 protected:
     virtual bool try_request(Request*);
     virtual void process_requests();
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual void pre_move_processing();
     virtual void post_move_processing();
 
index cca97e0f138b43db81033919a4ec1f587528ce3e..9ac27e591680d1d9f1377e05004ae3462740c248 100644 (file)
@@ -23,7 +23,7 @@ protected:
     virtual void set_feature(Feature);
     virtual bool acceptable_request_b(Request*);
     virtual void process_requests();
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual void pre_move_processing();
     virtual void post_move_processing();
 public:
index d3ca04af5e7ab50bba73506a9628017b2fb18fe6..df5e9e58e9c1bab72434d01d6a74f1480e1d5e6a 100644 (file)
@@ -31,7 +31,7 @@
   length of stems of notes they encompass.
 
     */
-class Spanner:public Staff_elem {
+class Spanner:public virtual Score_elem {
 public:
     PCol *left_col_l_, *right_col_l_;
 
index a1524a1bd6de50bed8aabed22e782ff9a0ea1c35..fa459f9e7677a7d6c386947f13d9603efb3d3207 100644 (file)
 #include "class-name.hh"
 
 
-/** Both Spanner and Item are Staff_elem's. Most Staff_elem's depend
-  on other Staff_elem's, eg, Beam needs to know and set direction of
+/** Both Spanner and Item are Score_elem's. Most Score_elem's depend
+  on other Score_elem's, eg, Beam needs to know and set direction of
   Stem. So the Beam has to be calculated *before* Stem. This is
-  accomplished with the dependencies field of struct Staff_elem.
+  accomplished with the dependencies field of struct Score_elem.
 
   (elem)
   */
-class Staff_elem {
+class Score_elem {
 
     /// member: the symbols
     Molecule *output;          // should scrap, and use temp var?
@@ -31,7 +31,7 @@ class Staff_elem {
       NULL.
       */
     Offset offset_;
-    Array<Staff_elem*> dependancy_l_arr_;
+    Array<Score_elem*> dependancy_l_arr_;
 public:
     enum Status {
        ORPHAN,                 // not yet added to pstaff
@@ -40,6 +40,8 @@ public:
        PRECALCED,              // calcs before spacing done
        POSTCALCING,            // busy calculating. This is used to trap cyclic deps.
        POSTCALCED,             // after spacing calcs done
+       VERTICALCING,           // height determined
+       VERTICALCED,
        OUTPUT,                 // molecule has been output
        DELETED,                // to catch malloc mistakes.
     } status;
@@ -48,15 +50,15 @@ public:
     PStaff *pstaff_l_;
 
     /* *************** */
-    Staff_elem(Staff_elem const&);
+    Score_elem(Score_elem const&);
     String TeXstring () const ;
     virtual void print() const;
     virtual Interval width() const;
     virtual Interval height() const;
     Paper_def *paper() const;
-    virtual ~Staff_elem();
-    Staff_elem();
-    NAME_MEMBERS(Staff_elem);    
+    virtual ~Score_elem();
+    Score_elem();
+    NAME_MEMBERS(Score_elem);    
 
     /**
       translate the symbol. The symbol does not have to be created yet. 
@@ -74,8 +76,8 @@ public:
     /**
       add a dependency. It may be the 0 pointer, in which case, it is ignored.
      */
-    void add_dependency(Staff_elem* );    
-    void substitute_dependency(Staff_elem* old, Staff_elem * newdep);
+    void add_dependency(Score_elem* );    
+    void substitute_dependency(Score_elem* old, Score_elem * newdep);
     
 protected:
     virtual  Interval do_height()const;
@@ -92,7 +94,9 @@ protected:
     /// do calculations after determining horizontal spacing
     virtual void do_post_processing();
 
-    Array<Staff_elem*> dependant_l_arr_;
+    /// do calculations after height of spanners/items is determined.
+    virtual void do_verticalcing();
+    Array<Score_elem*> dependant_l_arr_;
 
 };
 
index 88c41f89991dbb12d91adb46d05eea2299df495d..69f1f5356e7c76d97ab754e509c9cf58b2e6bce0 100644 (file)
@@ -25,7 +25,7 @@ protected:
     virtual bool try_request(Request * r);
     virtual Staff_info get_staff_info();
     virtual bool acceptable_request_b(Request*) const ;
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
 public:
     
     /* *************** */
index 13008710236084287a239abb1ed5c5e79c7b7f58..c81353f0cb769664669583dbbf0d8c02c44db640 100644 (file)
@@ -14,9 +14,9 @@
 
 /// A symbol which sits along  the staff
 class Staff_side  {
-    Array<Staff_elem*> support_l_arr_;
+    Array<Score_elem*> support_l_arr_;
     int staff_size_i_;
-    Staff_elem * elem_l_;
+    Score_elem * elem_l_;
     Interval support_height()const;
     Staff_symbol* staff_sym_l_;
     void read_staff_sym();
@@ -32,8 +32,8 @@ public:
 
     void set_staffsym(Staff_symbol*);
   
-    Staff_side(Staff_elem*);
-    void add_support(Staff_elem*);
+    Staff_side(Score_elem*);
+    void add_support(Score_elem*);
     
 protected:
     int get_position_i()const;
index 14652899d404765a3c725f84628075464f0b9b43..ef9f3c196f523583b38ae3803592f205ed9f28d7 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  staffeleminfo.hh -- declare Staff_elem_info
+  staffeleminfo.hh -- declare Score_elem_info
 
   source file of the LilyPond music typesetter
 
 #include "proto.hh"
 
 /// data container.
-struct Staff_elem_info {
-    Staff_elem * elem_p_;
+struct Score_elem_info {
+    Score_elem * elem_p_;
     Request*req_l_;
     Voice const * voice_l_;
     Voice_group_registers * group_regs_l_; 
     Request_register * origin_reg_l_;
 
     /* *** */
-    Staff_elem_info(Staff_elem*, Request*, Request_register*);
-    Staff_elem_info();
+    Score_elem_info(Score_elem*, Request*, Request_register*);
+    Score_elem_info();
 };
 
 #endif // STAFFELEMINFO_HH
index f5a3c6452b2d6eb874bd2f077a32b2ab74c891e8..f63f1ad6de8f141cfc0352bf06e447d0345e969d 100644 (file)
@@ -33,7 +33,7 @@ protected:
     virtual void set_feature(Feature dir_i_);
     virtual bool try_request(Request*);
     virtual void process_requests();
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual void pre_move_processing();
     virtual void post_move_processing();
 };
index f3544b3ec77ba58221b686ccc0ea248abeac7981..4b251aef97ee665dcf63f7bd73d0e93c2fe0fc5b 100644 (file)
@@ -20,7 +20,7 @@ protected:
     virtual void process_requests();
     virtual void pre_move_processing();
     virtual void post_move_processing();
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
 public:
     Text_register();
     NAME_MEMBERS(Text_register);
index 5a0028f83e4e1373a21047b1043b53a43ff104f5..b0cd22762587df15ba97197fd6da760f9cabdb2a 100644 (file)
@@ -24,7 +24,7 @@ class Tie_register : public Request_register {
     
 protected:
     virtual ~Tie_register();
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual bool try_request(Request*);
     virtual bool acceptable_request_b(Request*);
     virtual void sync_features();
diff --git a/lily/include/vertical-spanner.hh b/lily/include/vertical-spanner.hh
new file mode 100644 (file)
index 0000000..be0aee6
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+  vertical-spanner.hh -- declare Vertical_spanner
+
+  source file of the LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef VERTICAL_SPANNER_HH
+#define VERTICAL_SPANNER_HH
+
+#include "staff-elem.hh"
+
+class Vertical_spanner: virtual public Score_elem {
+public:
+    PStaff *lower_pstaff_l_;
+    PStaff *upper_pstaff_l_;
+    NAME_MEMBERS(Vertical_spanner);
+    
+    Vertical_spanner();
+    
+};
+#endif // VERTICAL_SPANNER_HH
index 818f32d71c680fbddac4fbbb528fa09e49a96022..4586f40ab2d3b5741107044dc8c07eab0884b170 100644 (file)
@@ -25,7 +25,7 @@ public:
 protected:
     virtual void pre_move_processing();
     virtual bool acceptable_request_b(Request*);
-    virtual void acknowledge_element(Staff_elem_info info);
+    virtual void acknowledge_element(Score_elem_info info);
     virtual bool try_request(Request*);
     virtual void do_print() const;
 };
index 7739ed269b01d50ba93ab664ffabfa8b7e6c5007..3326daad80dab97331fbafbc79a6982b97ede63c 100644 (file)
@@ -22,22 +22,22 @@ struct Walker_registers : Register_group_register {
     Array<Item*> prebreak_item_p_arr_;
     Array<Item*> nobreak_item_p_arr_;
     Array<Item*> postbreak_item_p_arr_;
-    Array<Staff_elem_info> announce_info_arr_;
+    Array<Score_elem_info> announce_info_arr_;
  
     Complex_walker * walk_l_;
 
     /* *************** */
   
-    void typeset_musical_item(Staff_elem * elem_p);
+    void typeset_musical_item(Score_elem * elem_p);
     Walker_registers(Complex_walker*);
     void do_announces();
    
     virtual Staff_info get_staff_info();
 
-    virtual void announce_element(Staff_elem_info);
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void announce_element(Score_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual void typeset_breakable_item(Item * pre_p , Item * nobreak_p, Item * post_p);
-    virtual void typeset_element(Staff_elem*elem_p);
+    virtual void typeset_element(Score_elem*elem_p);
     virtual void pre_move_processing();
     virtual void post_move_processing();
     virtual Paper_def * paper() const;
index c1268181ae4836055b2792784c342a369b50b28f..fe2371e349af5be657bfad9267004c3ab8eb5a3e 100644 (file)
@@ -39,7 +39,7 @@ Key_register::try_request(Request * req_l)
 }
 
 void
-Key_register::acknowledge_element(Staff_elem_info info)
+Key_register::acknowledge_element(Score_elem_info info)
 {
     Command_req * r_l = info.req_l_->command() ;
     if (r_l && r_l->clefchange()) {
@@ -61,7 +61,7 @@ Key_register::process_requests()
     else 
        kit_p_ = new Key_item(c0_i);
     kit_p_->read(*this);
-    announce_element(Staff_elem_info(kit_p_, keyreq_l_));
+    announce_element(Score_elem_info(kit_p_, keyreq_l_));
 }
 
 void
index c4ef7b9bb17fe2321742ffe00e97b3159e463703..338ea7e10f471a6dfeb0ee447f20c7309ab74bde 100644 (file)
@@ -41,7 +41,7 @@ Meter_register::process_requests()
     }
 
     if (meter_p_)
-       announce_element(Staff_elem_info(meter_p_, meter_req_l_) );
+       announce_element(Score_elem_info(meter_p_, meter_req_l_) );
 }
 
 void
index cb8129d5bc14d8325290964be93b75e0a0f207aa..feee0c66b50b1291275920b054d780991955815d 100644 (file)
@@ -14,7 +14,7 @@
 #include "rest-column.hh"
 
 bool
-Note_column_register::acceptable_elem_b(Staff_elem const*elem_C)const
+Note_column_register::acceptable_elem_b(Score_elem const*elem_C)const
 {
     char const*nC = elem_C->name();
     return (nC == Script::static_name() || nC == Notehead::static_name() 
@@ -25,7 +25,7 @@ Note_column_register::note_col_l()
 {
     if (!ncol_p_){
        ncol_p_ = new Note_column;
-       announce_element(Staff_elem_info(ncol_p_, 0));
+       announce_element(Score_elem_info(ncol_p_, 0));
     }
     return ncol_p_;
 }
@@ -35,13 +35,13 @@ Note_column_register::rest_col_l()
 {
     if (!restcol_p_) {
        restcol_p_  = new Rest_column;
-       announce_element(Staff_elem_info(restcol_p_,0));
+       announce_element(Score_elem_info(restcol_p_,0));
     }
     return restcol_p_;
 }
 
 void
-Note_column_register::acknowledge_element(Staff_elem_info i)
+Note_column_register::acknowledge_element(Score_elem_info i)
 {
     if (!acceptable_elem_b(i.elem_l_))
        return;
@@ -50,16 +50,16 @@ Note_column_register::acknowledge_element(Staff_elem_info i)
     char const*nC = i.elem_l_->name();
 
     if (nC == Script::static_name()) {
-       script_l_arr_.push((Script*)i.elem_l_);
+       script_l_arr_.push((Script*)i.elem_l_->item());
     } else if (nC == Notehead::static_name()) {
-       Notehead * h_l = (Notehead*)i.elem_l_;
+       Notehead * h_l = (Notehead*)i.elem_l_->item();
        if (h_l->rest_b_)
            rest_col_l()->add(h_l);
        else
            note_col_l()->add(h_l);
     }
     else if (nC == Stem::static_name()){ 
-       stem_l_ = (Stem*)i.elem_l_;
+       stem_l_ = (Stem*)i.elem_l_->item();
     }
 }
 
index 6e516df21b3afc5d1642db0d1edfe5202cf5e7ce..e80afd48e11d155a9fe9365fb96d83436b5ffa1f 100644 (file)
@@ -77,7 +77,7 @@ Register_group_register::post_move_processing()
 }
 
 void
-Register_group_register::acknowledge_element(Staff_elem_info info)
+Register_group_register::acknowledge_element(Score_elem_info info)
 {
     Request_register* origin = info.origin_reg_l_arr_[0];
     if (!contains_b(origin) && !origin->contains_b(this)) // am i sure?
index 08c3feaa00ec4ca85e05d185fb585ffec114da71..7710ddf87d7da2a21aa3d10b05dbc5fc4ae33f5c 100644 (file)
@@ -34,14 +34,14 @@ Request_register::Request_register()
 }
 
 void
-Request_register::announce_element(Staff_elem_info i)
+Request_register::announce_element(Score_elem_info i)
 {
     i.origin_reg_l_arr_.push(this);
     daddy_reg_l_->announce_element(i);
 }
 
 void
-Request_register::typeset_element(Staff_elem*p)
+Request_register::typeset_element(Score_elem*p)
 {
     daddy_reg_l_->typeset_element(p);
 }
index b5a286f284d3855edce1b3c679acf7a29c5ef6eb..a9ca851cd44cfc3ec77a9f0730e778b3313bc549 100644 (file)
 #include "note-column.hh"
 
 void
-Rest_collision_register::acknowledge_element(Staff_elem_info i)
+Rest_collision_register::acknowledge_element(Score_elem_info i)
 {
     char const * nC = i.elem_l_->name();
     if (nC == Collision::static_name()) {
-       collision_l_arr_.push((Collision*)i.elem_l_);
+       collision_l_arr_.push((Collision*)i.elem_l_->item());
     } 
     else if (nC == Rest_column ::static_name()) {
        if (!rest_collision_p_)
            rest_collision_p_ = new Rest_collision;
-       rest_collision_p_->add((Rest_column*)i.elem_l_);
+       rest_collision_p_->add((Rest_column*)i.elem_l_->item());
     }
 }
 
index b68298d5dead3d3274f22aa155c96daaf3fd522f..be12028c178d038a54c09b620fb29963e141ecd6 100644 (file)
@@ -38,28 +38,28 @@ Script_register::process_requests()
        Script_req* l=script_req_l_arr_[i];
        Script *p =new Script( l);
        script_p_arr_.push(p);
-       announce_element(Staff_elem_info(p, l));
+       announce_element(Score_elem_info(p, l));
     }
 }
 
 bool
-Script_register::acceptable_elem_b(Staff_elem*s_l)
+Script_register::acceptable_elem_b(Score_elem*s_l)
 {
     char const *nC = s_l->name();
     return (nC == Stem::static_name());
 }
 
 void
-Script_register::acknowledge_element(Staff_elem_info info)
+Script_register::acknowledge_element(Score_elem_info info)
 {
-    Staff_elem *elem_l = info.elem_l_;
+    Score_elem *elem_l = info.elem_l_;
     if (!acceptable_elem_b(elem_l))
        return;
     
     for (int i=0; i < script_p_arr_.size(); i++) {
        Script*script_l = script_p_arr_[i];
        if (elem_l->name() == Stem::static_name())
-           script_l->set_stem((Stem*)elem_l);
+           script_l->set_stem((Stem*)elem_l->item());
     }
 }
 
index 20a3c5415e6a32b7b0f67f047c575cf10d6eb14b..d08488e371b00bacadef5e4f566d140d6fe371e1 100644 (file)
@@ -30,10 +30,10 @@ Slur_register::try_request(Request *req_l)
 }
 
 void
-Slur_register::acknowledge_element(Staff_elem_info info)
+Slur_register::acknowledge_element(Score_elem_info info)
 {
     if (info.elem_l_->name() == Note_column::static_name()) { 
-       Note_column *col_l =(Note_column*) info.elem_l_ ;// ugh
+       Note_column *col_l =(Note_column*) info.elem_l_->item() ;// ugh
        for (int i = 0; i < slur_l_stack_.size(); i++)
            slur_l_stack_[i]->add(col_l );
        for (int i = 0; i < end_slur_l_arr_.size(); i++)
@@ -76,7 +76,7 @@ Slur_register::process_requests()
            Slur * s_p =new Slur;
            requests_arr_.push(slur_req_l);
            start_slur_l_arr_.push(s_p);
-           announce_element(Staff_elem_info(s_p, slur_req_l));
+           announce_element(Score_elem_info(s_p, slur_req_l));
        }
     }
     for (int i=0; i < start_slur_l_arr_.size(); i++)
index 2df030dd5b03b6de88435fae3f96d6d1f8eb6f64..53d7bca6b10290baf00f4ece3748de8f961ffd4d 100644 (file)
@@ -19,7 +19,7 @@ Spanner::broken_at(PCol*c1, PCol *c2)const
 
     for (int i=0; i < dependant_l_arr_.size(); i++) {
        dependant_l_arr_[i]->
-           substitute_dependency((Staff_elem*)this, span_p); 
+           substitute_dependency((Score_elem*)this, span_p); 
     }
     
     span_p->left_col_l_ = c1;
index 0bef384db6eb0cf2c45aab4d64eb6eb1e54ec469..669c0244ce445adbb03e78f54e3095e3cae87374 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  staff-elem-info.cc -- implement Staff_elem_info
+  staff-elem-info.cc -- implement Score_elem_info
 
   source file of the LilyPond music typesetter
 
@@ -9,14 +9,14 @@
 #include "staff-elem-info.hh"
 #include "request.hh"
 
-Staff_elem_info::Staff_elem_info(Staff_elem*s_l, Request*r_l)
+Score_elem_info::Score_elem_info(Score_elem*s_l, Request*r_l)
 {
     elem_l_ = s_l;
     voice_l_ =  (r_l)?r_l->voice_l():0;
     req_l_ = r_l;
 }
 
-Staff_elem_info::Staff_elem_info()
+Score_elem_info::Score_elem_info()
 {
     elem_l_ = 0;
     voice_l_ = 0;
index 331ffbe92fddffe064bfc54a65111c8ff13b4850..ec4f851922a3fe1e1c4401cf93d315ed15bc061d 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  staff-elem.cc -- implement Staff_elem
+  staff-elem.cc -- implement Score_elem
 
   source file of the LilyPond music typesetter
 
 #include "debug.hh"
 
 String
-Staff_elem::TeXstring() const
+Score_elem::TeXstring() const
 {
     Molecule m(*output);
     m.translate(offset_);      // ugh?
     return m.TeXstring();
 }
 
-Staff_elem::Staff_elem(Staff_elem const&s)
+Score_elem::Score_elem(Score_elem const&s)
       :dependancy_l_arr_(s.dependancy_l_arr_),
         dependant_l_arr_(s.dependant_l_arr_)
 {
@@ -38,7 +38,7 @@ Staff_elem::Staff_elem(Staff_elem const&s)
   TODO:
   If deleted, then remove dependant_l_arr_ depency!
   */
-Staff_elem::~Staff_elem()
+Score_elem::~Score_elem()
 {
     assert(status < DELETED);
     delete output;
@@ -47,13 +47,13 @@ Staff_elem::~Staff_elem()
 }
 
 void
-Staff_elem::translate(Offset O)
+Score_elem::translate(Offset O)
 {
     offset_ += O;
 }
 
 Interval
-Staff_elem::do_width() const 
+Score_elem::do_width() const 
 {
     Interval r;
     
@@ -67,7 +67,7 @@ Staff_elem::do_width() const
 }
 
 Interval
-Staff_elem::width() const
+Score_elem::width() const
 {
     Interval r=do_width();
 
@@ -77,7 +77,7 @@ Staff_elem::width() const
     return r;
 }
 Interval
-Staff_elem::do_height() const 
+Score_elem::do_height() const 
 {
     Interval r;
     if (!output){
@@ -90,7 +90,7 @@ Staff_elem::do_height() const
 }
 
 Interval
-Staff_elem::height() const
+Score_elem::height() const
 {
     Interval r=do_height();
 
@@ -102,7 +102,7 @@ Staff_elem::height() const
 }
 
 void
-Staff_elem::print()const
+Score_elem::print()const
 {
 #ifndef NPRINT
     mtor << name() << "{\n";
@@ -116,7 +116,7 @@ Staff_elem::print()const
 
 
 
-Staff_elem::Staff_elem()
+Score_elem::Score_elem()
 {
     pstaff_l_=0;
     offset_ = Offset(0,0);
@@ -126,14 +126,14 @@ Staff_elem::Staff_elem()
 
 
 Paper_def*
-Staff_elem::paper()  const
+Score_elem::paper()  const
 {
     assert(pstaff_l_);
     return pstaff_l_->pscore_l_->paper_l_;
 }
 
 void
-Staff_elem::add_processing()
+Score_elem::add_processing()
 {
     if (status >= VIRGIN)
        return;
@@ -142,7 +142,7 @@ Staff_elem::add_processing()
 }
 
 void
-Staff_elem::pre_processing()
+Score_elem::pre_processing()
 {
     if (status >= PRECALCED )
        return;
@@ -158,7 +158,7 @@ Staff_elem::pre_processing()
     status = PRECALCED;
 }
 void
-Staff_elem::post_processing()
+Score_elem::post_processing()
 {
     if (status >= POSTCALCED)
        return;
@@ -173,7 +173,7 @@ Staff_elem::post_processing()
 }
 
 void 
-Staff_elem::molecule_processing()
+Score_elem::molecule_processing()
 {
     if (status >= OUTPUT)
        return;
@@ -186,22 +186,26 @@ Staff_elem::molecule_processing()
 }
 
 void
-Staff_elem::do_post_processing()
+Score_elem::do_post_processing()
 {
 }
 
 void
-Staff_elem::do_pre_processing()
+Score_elem::do_pre_processing()
+{
+}
+void
+Score_elem::do_verticalcing()
 {
 }
 
 void
-Staff_elem::do_add_processing()
+Score_elem::do_add_processing()
 {
 }
 
 void
-Staff_elem::substitute_dependency(Staff_elem * old, Staff_elem * newdep)
+Score_elem::substitute_dependency(Score_elem * old, Score_elem * newdep)
 {
     bool hebbes_b=false;
     for (int i=0; i < dependancy_l_arr_.size(); i++) {
@@ -217,7 +221,7 @@ Staff_elem::substitute_dependency(Staff_elem * old, Staff_elem * newdep)
 }
 
 void
-Staff_elem::add_dependency(Staff_elem * p)
+Score_elem::add_dependency(Score_elem * p)
 {
     for (int i=0; i < dependancy_l_arr_.size(); i ++)
        if (dependancy_l_arr_[i] == p)
@@ -226,16 +230,16 @@ Staff_elem::add_dependency(Staff_elem * p)
     dependancy_l_arr_.push(p);
     p->dependant_l_arr_.push(p);
 }
-IMPLEMENT_STATIC_NAME(Staff_elem);
+IMPLEMENT_STATIC_NAME(Score_elem);
 
 Molecule*
-Staff_elem::brew_molecule_p()const
+Score_elem::brew_molecule_p()const
 {
     Atom a(paper()->lookup_l()->fill(Box(Interval(0,0), Interval(0,0))));
     return new Molecule (a);
 }
 Offset
-Staff_elem::offset() const
+Score_elem::offset() const
 {
     return offset_; 
 }
index b6dc1165b7e7bbd970bcdfe775669b5efff32831..7a0abadd9622061b3bda04d532febb162ebd1e85 100644 (file)
@@ -121,9 +121,9 @@ Staff_registers::acceptable_request_b(Request*r)const
 }
 
 void
-Staff_registers::acknowledge_element(Staff_elem_info i)
+Staff_registers::acknowledge_element(Score_elem_info i)
 {
     Register_group_register::acknowledge_element(i);
     if ( i.elem_l_->name() == Staff_symbol::static_name())
-       staff_sym_l_ = (Staff_symbol*)i.elem_l_;
+       staff_sym_l_ = (Staff_symbol*)i.elem_l_->item();
 }
index 29c584822f1b6079aef7697bd855cb1661bf1010..1435f5daa99e9d1fd7892fbe04c6db57eddf3ba1 100644 (file)
@@ -17,7 +17,7 @@ Staff_side::set_staffsym(Staff_symbol* s_l)
     staff_sym_l_ = s_l;
 }
 
-Staff_side::Staff_side(Staff_elem * elem_l)
+Staff_side::Staff_side(Score_elem * elem_l)
 {
     inter_f_ = 2 PT;
     staff_size_i_ = 0;
@@ -51,7 +51,7 @@ Staff_side::support_height() const
 }
 
 void
-Staff_side::add_support(Staff_elem*i)
+Staff_side::add_support(Score_elem*i)
 {
     support_l_arr_.push(i);
     elem_l_->add_dependency(i);
index 60be9b081415ac17636638c8061b411337122d94..e8863369acf351934c68b8a381e29365d74bc45d 100644 (file)
@@ -35,7 +35,7 @@ Staff_sym_register::post_move_processing()
 void
 Staff_sym_register::process_requests()
 {
-    announce_element(Staff_elem_info(span_p_, 0));
+    announce_element(Score_elem_info(span_p_, 0));
 }
 
 void
index 7fb36e3005988369f805fbf195f274ea41f1917b..7c57aa80e676fda64572c1ca0812c036fac0e4ae 100644 (file)
@@ -203,7 +203,7 @@ Stem::brew_molecule_p()const
 {
     Molecule *out =0;
     if ( invisible_b() )
-       return Staff_elem::brew_molecule_p();
+       return Score_elem::brew_molecule_p();
     
     Real bot  = stem_bottom_f_;
     Real top = stem_top_f_;
index a3231cec410027c2d4cd370b8e1e4fa3aca8b212..afbf035d22da7f5b57b874a1e4f7c4129b10c248 100644 (file)
@@ -29,7 +29,7 @@ Text_register::try_request(Request*req_l)
     return true;
 }
 void
-Text_register::acknowledge_element(Staff_elem_info i)
+Text_register::acknowledge_element(Score_elem_info i)
 {
     if (text_p_ && i.elem_l_->name() == Note_column::static_name()) {
        text_p_->add_support(i.elem_l_);
@@ -40,7 +40,7 @@ Text_register::process_requests()
 {
     if (text_req_l_) {
        text_p_ = new Text_item(text_req_l_->tdef_p_, text_req_l_->dir_i_); // ugh
-       announce_element(Staff_elem_info(text_p_, text_req_l_));
+       announce_element(Score_elem_info(text_p_, text_req_l_));
     }
 }
 void
index 7545442c6e15431c67d1c007729c96f1bd50a757..77fd724552f491807755ba6da44941c995be24f2 100644 (file)
@@ -25,7 +25,7 @@ Voice_registers::Voice_registers(Voice *v_p, Input_register const*ireg_C)
 }
 
 void
-Voice_registers::acknowledge_element(Staff_elem_info i)
+Voice_registers::acknowledge_element(Score_elem_info i)
 {
     if (i.voice_l_ != voice_l_)
        return;
index da852c79ac685223075a4b9b8f10ad7330e8913a..404500dceecc039bf6fca8a6039b891d05553ec7 100644 (file)
@@ -28,7 +28,7 @@ Walker_registers::Walker_registers(Complex_walker *w)
 }
 
 void
-Walker_registers::announce_element(Staff_elem_info info)
+Walker_registers::announce_element(Score_elem_info info)
 {
     if (info.elem_l_->name() == Bar::static_name()) {
        walk_l_->allow_break();
@@ -37,7 +37,7 @@ Walker_registers::announce_element(Staff_elem_info info)
 }
 
 void
-Walker_registers::acknowledge_element(Staff_elem_info )
+Walker_registers::acknowledge_element(Score_elem_info )
 {
     assert(false);
 }
@@ -47,7 +47,7 @@ Walker_registers::do_announces()
 {
     Request dummy_req;
     for (int i = 0; i < announce_info_arr_.size(); i++){
-       Staff_elem_info info = announce_info_arr_[i];
+       Score_elem_info info = announce_info_arr_[i];
        mtor << "Announcing " << info.elem_l_->name()<<"\n";
 
        if (!info.req_l_)
@@ -58,13 +58,13 @@ Walker_registers::do_announces()
 }
 
 void
-Walker_registers::typeset_element(Staff_elem *elem_p)
+Walker_registers::typeset_element(Score_elem *elem_p)
 {
     typeset_musical_item(elem_p);
 }
 
 void
-Walker_registers::typeset_musical_item(Staff_elem * elem_p)
+Walker_registers::typeset_musical_item(Score_elem * elem_p)
 {
     walk_l_->typeset_element(elem_p);
 }