]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.78
authorfred <fred>
Sun, 24 Mar 2002 19:52:23 +0000 (19:52 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:52:23 +0000 (19:52 +0000)
96 files changed:
ANNOUNCE
Documentation/index.pod
NEWS
flower/include/virtual-methods.hh
lily/crescendo.cc
lily/include/bar-grav.hh
lily/include/bar.hh
lily/include/beam.hh
lily/include/bow.hh
lily/include/break-align-item.hh
lily/include/clef-grav.hh
lily/include/clef-item.hh
lily/include/collision-grav.hh
lily/include/collision.hh
lily/include/crescendo.hh
lily/include/dynamic-grav.hh
lily/include/elem-group-item.hh
lily/include/elem-group.hh
lily/include/engraver-group.hh
lily/include/engraver.hh
lily/include/general-script-def.hh
lily/include/global-translator.hh
lily/include/head-column.hh
lily/include/head-grav.hh
lily/include/horizontal-align-item.hh
lily/include/identifier.hh
lily/include/item.hh
lily/include/key-grav.hh
lily/include/key-item.hh
lily/include/key-performer.hh
lily/include/line-group-grav.hh
lily/include/local-key-grav.hh
lily/include/local-key-item.hh
lily/include/lyric-engraver.hh
lily/include/lyric-performer.hh
lily/include/meter-grav.hh
lily/include/meter-performer.hh
lily/include/meter.hh
lily/include/midi-item.hh
lily/include/music-iterator.hh
lily/include/music-list.hh
lily/include/music.hh
lily/include/note-column-grav.hh
lily/include/note-column.hh
lily/include/note-head.hh
lily/include/note-performer.hh
lily/include/performer-group-performer.hh
lily/include/performer.hh
lily/include/request.hh
lily/include/rest-collision-grav.hh
lily/include/rest-collision.hh
lily/include/rest-column.hh
lily/include/score-align-grav.hh
lily/include/score-elem.hh
lily/include/score-grav.hh
lily/include/score-halign-grav.hh
lily/include/score-performer.hh
lily/include/scoreline.hh
lily/include/script-column.hh
lily/include/script-def.hh
lily/include/script-grav.hh
lily/include/script.hh
lily/include/slur-grav.hh
lily/include/slur.hh
lily/include/span-bar-grav.hh
lily/include/span-bar.hh
lily/include/span-score-bar-grav.hh
lily/include/span-score-bar.hh
lily/include/spanner-elem-group.hh
lily/include/spanner.hh
lily/include/staff-performer.hh
lily/include/staff-side.hh
lily/include/staff-sym-grav.hh
lily/include/staff-sym.hh
lily/include/staffline.hh
lily/include/stem-beam-grav.hh
lily/include/stem.hh
lily/include/super-elem.hh
lily/include/swallow-grav.hh
lily/include/swallow-perf.hh
lily/include/text-def.hh
lily/include/text-grav.hh
lily/include/text-item.hh
lily/include/text-spanner.hh
lily/include/tie-grav.hh
lily/include/tie.hh
lily/include/translator.hh
lily/include/vertical-align-elem.hh
lily/include/vertical-align-grav.hh
lily/include/vertical-align-spanner.hh
lily/include/voice-group-gravs.hh
lily/item.cc
lily/lyric-grav.cc
lily/midi-stream.cc
lily/parser.y
lily/score-align-gravs.cc

index aadfe22abd5f46c222bd9ca5a57bad358978e0d1..a904214579af0ec325016dadd6f3dec5891d4857 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,28 +1,31 @@
-       We are proud to announce the birth of "GNU LilyPond 0.1", a.k.a.
+Subject: LilyPond 0.1 released - GNU Project music typesetter
 
-               Lily 0.1
 
-       born August 1, 1997
+       BORN
+
+       August 1, 1997
+
+               Lily
+
+               (GNU LilyPond 0.1)
 
        daughter to Jan 'Janneke' Nieuwenhuizen and Han-Wen 'Wendy'
        Nienhuys
 
-Lily is a healthy, bouncing baby weighing 335 kilobytes
+Lily is a healthy, bouncing baby weighing 340 kilobytes
 
 Visiting hours: 24hrs a day at
 
-
        ftp://pcnov095.win.tue.nl/pub/lilypond/lilypond-0.1.0.tar.gz (Europe)
        ftp://alpha.gnu.ai.mit.edu/pub/lilypond/lilypond-0.1.0.tar.gz (US)
 
-you can see some babyfood, diapers and pictures at
+You can see some babyfood, diapers and pictures at
 
        http://www.stack.nl/~hanwen/lilypond/index.html
 
 You can send your congratulations to Janneke (jan@digicash.com) and
 Wendy (hanwen@stack.nl)
 
-
 [ And now the serious part ]
 
        Announcing
index 10fdd592d0172b914aa73b9caca6cf7f98daa10e..cc50a8b5955dd6686f85e3edb65cf55c53bf26ab 100644 (file)
@@ -1,13 +1,9 @@
 =head1 NAME
 
-GNU LilyPond -- the Webpage
-
-Excuse me for this poor page. I don't really have time for doing this..
+The Homepage of LilyPond -- the GNU Project music typesetter
 
 =head1 DESCRIPTION
 
-
-
 GNU LilyPond is a program which converts music definition files into
 visual or auditive output: it can typeset formatted sheet music to a
 TeX file and and (mechanical) performances to MIDI files.
@@ -133,15 +129,10 @@ DEDICATION
 
 =back
 
-
 =head2 The program
 
-
 =over 5
 
-
-
-
 =item *
 <a href=TODO.txt
 >
@@ -204,14 +195,10 @@ Other packages for printing music.
 </a
 >
 
-=item *
-Get LilyPond at ftp://pcnov095.win.tue.nl/pub/lilypond !
-
-
 =item *
 <a href=links.html
 >
-B<download LilyPond> and other interesting links
+B<download> LilyPond and other interesting links
 </a
 >
 
diff --git a/NEWS b/NEWS
index e6d1201daee5e2a2bd1876ca5f0e67be63bd1c50..2d7ff005fb79769f5069ca5f0e7513b6c1b50090 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,21 @@
-pl 77.jcn1
-       - init/*.ly in dist
-       - bf: string-convert.cc: return local buf
-       - bf: debug.cc: <new.h>
-       - bf: template4.cc: #includes
 
+pl 78
+       - bf: Midi_instrument 
+       - added  enable/disable defaults to help.
+       - incredibly ugly NAME_MEMBERS(); bug. Immediately changed to 
+DECLARE_MY_RUNTIME_TYPEINFO;
+       - \stem -1 -> \stem \down in input      
+       - bf: slurchar index
+       - configure warnings 
+       - preliminary stuff for multiarch building
+       - #!/usr/bin/perl fixes (AO)
+       - some Makefile cleanups: now faster.
+
+pl 77.jcn2
+       - Midi_instrument
+
+******
+july 29
 pl 77  
        - some fixes for internal compiler errors 
 derive from Pointer_list with default dtor gives error with -O2
index b8933baa0e279d76e0ad4b8573542dad82a18e13..88dad44aebc96825c0086d257976c618831e8b9e 100644 (file)
@@ -14,7 +14,7 @@
   The static_name() can *not* be inlined (this might have the effect that 
   s->name() != S::static_name(). Overlapping strings need not be merged in C++
  */
-#define NAME_MEMBERS() \
+#define DECLARE_MY_RUNTIME_TYPEINFO    \
 static char const *static_name();\
 static bool static_is_type_b(const char*s);\
 virtual bool is_type_b(const char *s)const { return static_is_type_b(s); } \
index 8de7d68759930576ece02c093a996097dfd6319d..df349421bb658035b7020c45132a70c39d96d113 100644 (file)
@@ -44,7 +44,6 @@ Crescendo::get_symbol()const
        warning("Crescendo too small");
        w_dim = 0;
     }
-//    Real lookup_wid = w_dim * 0.9; // make it slightly smaller.
 
     return Symbol( paper()->lookup_l()->hairpin( w_dim, grow_dir_i_ < 0) );
 }
index d65c26930bd59bb242296846510f6634b1effcd9..f159d2973ae0771e3f719664374bc192ff8f2e3a 100644 (file)
@@ -19,7 +19,7 @@ class Bar_engraver : public Engraver {
     Bar * bar_p_;
 public:
     Bar_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
      
 protected:
index ccef49e2bf47bda6321b913924c394cca355d4c1..9a7a8b92b60d9e0e8fa4d2c17416560e37f1dfc0 100644 (file)
@@ -15,7 +15,7 @@ public:
     String type_str_;
     int spanned_i_;
     
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Bar);
     Bar();
 private:
index bd0c2550a9da6a15d342fabdbbb01f47b7280f82..1e6a36fe1513c25531c5421090741424f9c0eb06 100644 (file)
@@ -24,7 +24,7 @@ public:
    
 
     /* *************** */
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Beam();
     void add(Stem*);
 
index c69214a542655da347f3601a6d98ae9023854bcd..e483c36ac2786bfe4c88d15d66b9d907c6b7298f 100644 (file)
@@ -25,7 +25,7 @@ protected:
     Molecule*brew_molecule_p()const;
 public:
     Bow();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Offset center() const;  
 };
 #endif // BOW_HH
index 7e0e632b01653b3958e777483cb06c9b2022e111..6ef6818b3d587e705ef24f08ff0a707de77abde5 100644 (file)
@@ -18,7 +18,7 @@ class Break_align_item : public Horizontal_align_item {
 protected:
     virtual void do_pre_processing();
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Break_align_item);
        
 };
index ec35bf0b5a9e790458bb2f8ec73a9702fd557eac..2f974eeadb0f6b9569c4519f89cd94b7161fb6b9 100644 (file)
@@ -34,7 +34,7 @@ public:
     /* ************** */
    
     Clef_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
    
 };
 #endif // CLEF_HH
index 162cf813ebaa0b8ba0ae741992d8b0a6eff3f9b4..face7e818deb9d5f6d5dd246881288a438d4bccd 100644 (file)
@@ -27,7 +27,7 @@ public:
     bool default_b_;
 
     /* *************** */
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Clef_item);
     Clef_item();
     void read(Clef_engraver const&);
index 4500a726179a7b20b84d619a66bd231e4a3179ec..be3880de62eb211583a53557d7b7e3515f2bed9a 100644 (file)
@@ -20,6 +20,6 @@ protected:
     virtual void do_pre_move_processing();
 public:
     Collision_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 #endif // COLLISION_GRAV_HH
index 62cee06041d52a641664141ef1250eb34335a5ab..3891a5a0c16c0943e3897ccd540a306f96fecb9a 100644 (file)
@@ -23,7 +23,7 @@ protected:
     virtual void do_pre_processing();
 public:
     Link_array<Note_column> clash_l_arr_;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     void add (Note_column*ncol_l);
     Collision();
     
index 0ebf499cdf55e4a029ab2676758c8e6b5d91d62e..4539ac209c22fed87eb6f821cf367b5936cfce63 100644 (file)
@@ -29,7 +29,7 @@ protected:
     SCORE_ELEM_CLONE(Crescendo);
     virtual Molecule*brew_molecule_p()const;
     virtual Interval symbol_height()const;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     
 private:
     Symbol get_symbol()const;
index 5c1a585ca54823b50bd53c02dcb35e2c1289db22..389a4684663eb7ea33de2d51846b9f42d676ca92 100644 (file)
@@ -23,7 +23,7 @@ class Dynamic_engraver : public Engraver {
 public:
     Dynamic_engraver();
     ~Dynamic_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     virtual void acknowledge_element(Score_elem_info);
     virtual bool do_try_request(Request *req_l);
index ce7b75e41ac60e12b897a309af241cecd28cbc81..a3e1ea6d16114ce0aa971039048cbf7bcce24ff9 100644 (file)
 
 class Horizontal_vertical_group_item  : public Item, public Horizontal_vertical_group {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Horizontal_vertical_group_item);
 protected:
     virtual void do_print() const;
 };
 
 class Horizontal_group_item : public Item, public Horizontal_group {
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Horizontal_group_item);
 protected:
     virtual void do_print() const { Elbement_group::do_print(); }
index 245b2dfcf15646a60b6caef7f5232080b3627664..650dc613ceff1fd236085b078a5a219b47e70dc3 100644 (file)
@@ -20,13 +20,13 @@ public:
     Elbement_group();
     bool contains_b(Score_elem const *)const;
     void add_element(Score_elem*);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
        
 };
 
 class Horizontal_group : public Elbement_group {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Horizontal_group(Horizontal_group const&);
     Horizontal_group(){}
     void add_element(Score_elem*);
@@ -47,7 +47,7 @@ protected:
 public:
     Vertical_group(Vertical_group const &);
     Vertical_group(){}
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
 /** A class to treat a group of elements as a single entity. The
@@ -62,7 +62,7 @@ protected:
 public:
     Horizontal_vertical_group();
     bool contains_b(Score_elem const *)const;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     virtual void do_substitute_dependency(Score_elem*,Score_elem*);
     virtual void do_print() const;
     void add_element(Score_elem*);
index 7e2b9b21b5be78bfc80555ee12d781c42ab736f0..96e67feaa84660eaabcaeb0f6d834a9e8759da2b 100644 (file)
@@ -53,7 +53,7 @@ public:
      */
     virtual void terminate_engraver(Engraver * grav_l);
     
-   NAME_MEMBERS();
+   DECLARE_MY_RUNTIME_TYPEINFO;
     
     /**
       Remove #grav_l# from the list, and return it.
index 5047877145c457c238f3317375bd431e3b3aa064..52cd3bd7eaebf3abe0528a83cffdc918ad851b5f 100644 (file)
@@ -134,7 +134,7 @@ public:
 
     Engraver();
     virtual ~Engraver(){}
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     void print() const;
 };
 
index 5c9dac12bc5cd4a99acf788e156345e50209d7f1..acaa554019b557b17b01b7eeede3e99ec40d1d81 100644 (file)
@@ -19,7 +19,7 @@
 class General_script_def : public Input {
 public:
     VIRTUAL_COPY_CONS(General_script_def,General_script_def);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     virtual int staff_dir_i()const;
     void print() const;
     virtual int rel_stem_dir_i()const;
index 3faa9e4eeaf83f5eeb221c0fc64409b8adfd6683..112392a670a1380ef3ec4b495d92cae3f03104b7 100644 (file)
@@ -30,7 +30,7 @@ public:
     virtual void finish() {}
     virtual void start() {}
     
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     
     virtual Global_translator *global_l() { return this; }
index ea5e9a7531b571f23314176631a90b1a2ad4de75..77065d84cb491d4f6eb5b9e93469047610139efd 100644 (file)
@@ -30,7 +30,7 @@ public:
     void add(Script*s) { Script_column::add(s) ; }
     virtual void set(Stem*);
     Head_column();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
 
 
index c7522c5005de836ccf7773a25ef59b9b8becc93a..2a5b2be2801680f2f7b033e3739d3ce143f2b7af 100644 (file)
@@ -19,7 +19,7 @@ struct Note_head_engraver : Engraver {
     virtual void do_process_requests();
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
 
index e12eae39bca9e3767bbaff28c87cbac2a3439e6b..639ce1b22eeef5a5d4450ffb93de0c59a9c8bbb5 100644 (file)
@@ -32,7 +32,7 @@ public:
      */
     int align_i_;
         
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Horizontal_align_item);
     void add(Item*, int p);
     Horizontal_align_item();
index c2c5eebe7a28af2b2771fdd64c5747006f625ebb..2088c841f7d3ddeccfbd9707c0d682ee25044c7b 100644 (file)
@@ -28,7 +28,7 @@ struct Identifier : public Input {
     virtual ~Identifier() ;
 
     void print()const;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     void error(String);
     IDACCESSOR(Input_translator, input_translator)
     IDACCESSOR(Music, music)
@@ -50,7 +50,7 @@ private:
 
 #define declare_id_class(Idclass, Class, accessor)     \
 struct Idclass : Identifier {\
-        NAME_MEMBERS();                            \
+        DECLARE_MY_RUNTIME_TYPEINFO;                       \
        Idclass(String s, Class*st, int code);\
        virtual Class* accessor(bool copy);\
        ~Idclass();\
index 109a9c8191d30e44f8e8e37ed5f57c34caeb4628..6f3eb6a7cb19740a0f668c5489d70397fa1dbb62 100644 (file)
@@ -38,7 +38,7 @@ public:
     virtual Item *item() { return this; }
     Item();
     Real hpos_f() const;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     virtual Line_of_score * line_l() const;
 protected:
     virtual void  do_breakable_col_processing();
index d62345ab1b8df0978d60b59a11fb0654c226c479..7b54214892bc15e10a5671520c40049c4440d278 100644 (file)
@@ -27,7 +27,7 @@ struct Key_engraver : Engraver {
     virtual void do_post_move_processing();
     virtual void acknowledge_element(Score_elem_info);
     Key_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 private:
     void create_key();
     
index 759e6d11238c7f40b3e5ef022fce84441cb67165..a1ab3dc6d48960bf01e16f4c16f287f9286d53f5 100644 (file)
@@ -20,7 +20,7 @@ struct Key_item : Item {
 
     
     /* *************** */
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Key_item);
 
     Key_item(int cposition);
index a14c19cc5605a8f70cd66ff42572e5f35c33dfc7..6b1cba48f8b2b9c8104ae8ef1c87e96004d34ad6 100644 (file)
@@ -14,7 +14,7 @@
 
 class Key_performer : public Performer {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Key_performer();
     ~Key_performer();
 
index bb43f6d2d9a9ebc4c4a6a9fa14ddce2aa172216c..e7153be0f56c92481fa17ff80fc27ba29487f6f3 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  line-group-grav.hh -- declare 
+  line-group-grav.hh -- declare Line_group_engraver
 
   source file of the GNU LilyPond music typesetter
 
@@ -24,7 +24,7 @@ protected:
     virtual void acknowledge_element(Score_elem_info);
 
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Line_group_engraver();
 };
 
index cc52ed5f8f05b965158bbdba5a5a417c852632f2..05300996343b449ddbb6e59831bd23d10ac4eb1d 100644 (file)
@@ -24,7 +24,7 @@ struct Local_key_engraver : Engraver {
     virtual void acknowledge_element(Score_elem_info);
     virtual void do_pre_move_processing();
     Local_key_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
 #endif // LOCALKEYGRAV_HH
index a80e44196e602fcecf3316554a1cfde471f0c611..2d4ed66e8f74b64715a463497f116bae12abf742 100644 (file)
@@ -23,7 +23,7 @@ struct Local_acc {
   update item if Items are removed
  */
 struct Local_key_item : Item {
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Array<Local_acc> accs;
     Link_array<Item> support_items_;
     int c0_position;
index 9c1aefadac0c9bc1aa30a88ee72ed1eab1addf9b..8e18c8ed6a65e64e6097a595933d1b8c4abaaee2 100644 (file)
@@ -23,7 +23,7 @@ protected:
     virtual void do_process_requests();
     virtual void do_post_move_processing();
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Lyric_engraver();
 };
 #endif // LYRIC_ENGRAVER_HH
index cd07a96fde0f9a6d1f44942b470a743e825d554c..c0321c2839e0e51ddb7cee68e0b43e6929755454 100644 (file)
@@ -16,7 +16,7 @@
 
 class Lyric_performer : public Performer {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Lyric_performer();
     ~Lyric_performer();
 
index d2f25ec2cdb575792ec947b60faece26376c913e..d1085f63fe2f9a06a975e2baab27715fe4e3031d 100644 (file)
@@ -31,6 +31,6 @@ public:
     virtual void do_creation_processing();
     virtual void do_post_move_processing();
     Meter_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 #endif // METERGRAV_HH
index e72451d5b8b4c7058dd86132f50062653b019e14..3d972c10e8ee09c65d5e2e367f432da8de4ae2c0 100644 (file)
@@ -14,7 +14,7 @@
 
 class Meter_performer : public Performer {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Meter_performer();
     ~Meter_performer();
 
index 176ce6085c96d0d16bf752df00ae32e40f8d0631..eb5f2b128efab3b88940531eb48130b69c2eb542 100644 (file)
@@ -23,7 +23,7 @@ protected:
     Molecule*brew_molecule_p() const;
 public:
     Meter(Array<Scalar> args) ;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Meter);
 };
 #endif // METER_HH
index b8e1a6b8b4c08c38a6e495ec2d600838b0b2a2a5..ed5cf51a59edfb4788970dcb4d91c2532d9a6c77 100644 (file)
@@ -5,34 +5,59 @@
 
 #ifndef MIDI_ITEM_HH
 #define MIDI_ITEM_HH
+
 #include "string.hh"
 #include "lily-proto.hh"
+#include "virtual-methods.hh"
+
+/**
+  Any piece of midi information.
 
+  Maybe use base classes for RIFF files?
+ */
 struct Midi_item {
+    Midi_item() { }
+    DECLARE_MY_RUNTIME_TYPEINFO;
     static String i2varint_str( int i );
     virtual void output_midi( Midi_stream& midi_stream_r ) const;
     virtual String str() const = 0;
-    NAME_MEMBERS();
+private:
+    Midi_item(Midi_item const&){}
+    void operator=(Midi_item const&){}
 };
 
 struct Midi_key : public Midi_item {
     Midi_key( int accidentals_i, int minor_i );
+    DECLARE_MY_RUNTIME_TYPEINFO;
        
     virtual String str() const;
-    NAME_MEMBERS();
     /* *************** */
     int accidentals_i_;
     int minor_i_;
 };
 
+/**
+  Change instrument event
+ */
+struct Midi_instrument : public Midi_item {
+    Midi_instrument( int channel_i, String instrument_str );
+    DECLARE_MY_RUNTIME_TYPEINFO;
+
+    virtual String str() const;
+
+    int channel_i_;
+    Byte program_byte_;
+};
+                                      
 struct Midi_note : public Midi_item {
     /**
-      Generate a note-event on a channel pitch.
+      Generate a note-event on a channel.
 
       @param #melreq_l# is the pitch. 
      */
     Midi_note( Melodic_req* melreq_l, int channel_i, bool on_b );
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
+
     virtual String str() const;
 
     /* *************** */
@@ -46,20 +71,20 @@ struct Midi_note : public Midi_item {
 
 struct Midi_duration : public Midi_item {
     Midi_duration( Real seconds_f );
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     virtual String str() const;
-    NAME_MEMBERS();
     /* *************** */
     Real seconds_f_;
 };
 
 struct Midi_chunk : Midi_item {
     Midi_chunk();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     void add( String str );
     void set( String header_str, String data_str, String footer_str );
     virtual String str() const;
-    NAME_MEMBERS();
 private:
     String data_str_;
     String footer_str_;
@@ -69,7 +94,7 @@ private:
 struct Midi_header : Midi_chunk {
     /* *************** */
     Midi_header( int format_i, int tracks_i, int clocks_per_4_i );
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
 struct Midi_text : Midi_item {
@@ -79,7 +104,8 @@ struct Midi_text : Midi_item {
        MARKER, CUE_POINT
     };
     Midi_text( Midi_text::Type type, String text_str );
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
+
     virtual String str() const;
     /* *************** */
     Type type_;
@@ -89,7 +115,7 @@ struct Midi_text : Midi_item {
 
 struct Midi_tempo : Midi_item {
     Midi_tempo( int per_minute_4_i );
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     virtual String str() const;
     /* *************** */
@@ -100,7 +126,7 @@ struct Midi_tempo : Midi_item {
 struct Midi_time : Midi_item {
 
     Midi_time( int num_i, int den_i, int clocks_per_1_i );
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     virtual String str() const;
 
@@ -113,11 +139,10 @@ struct Midi_time : Midi_item {
 struct Midi_track : Midi_chunk {
     int number_i_;
     /* *************** */
-    Midi_track( );
-    NAME_MEMBERS();
+    Midi_track();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     void add( int delta_time_i, String event );
-//     void add( Moment delta_time_moment, Midi_item& mitem_r );
     void add( Moment delta_time_moment, Midi_item* mitem_l );
 };
 
index 93d21e5c2a54c07f036a4867ccd84e4ee85929cf..42ad968c420a575bf517e86a74ee72c532117abc 100644 (file)
@@ -22,7 +22,7 @@ protected:
     
 public:
     Music_iterator *daddy_iter_l_;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Array<Translator *>report_to_l_arr_;
 
     Translator *report_to_l()const;
@@ -48,7 +48,7 @@ public:
 class Change_iterator : public Music_iterator {
     Change_reg * change_l_;
 public:
-     NAME_MEMBERS();
+     DECLARE_MY_RUNTIME_TYPEINFO;
     virtual void process_and_next(Moment);
     Change_iterator(Change_reg*);
 };
@@ -60,7 +60,7 @@ class Chord_iterator : public Music_iterator
 public:
     ~Chord_iterator();
     Chord_iterator(Chord const*);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     virtual void do_print()const;
     virtual void construct_children();
@@ -75,7 +75,7 @@ class Request_chord_iterator : public Music_iterator {
     bool last_b_;
 public:
     Request_chord_iterator(Request_chord*);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
 protected:
     virtual void process_and_next(Moment);
@@ -94,7 +94,7 @@ class Voice_iterator :  private PCursor<Music*>, public Music_iterator
     void next_element();
 public:
     Voice_iterator(Voice const*);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     virtual void do_print()const;
     virtual void construct_children();
index ad745eff28561445c3321f1eb3e722c97c73e98a..dda2f568adc98a5c62bf667c1940e6e2db2a9984 100644 (file)
@@ -29,7 +29,7 @@ public:
     String id_str_;    
     Music_list(Music_list const&);    
     Music_list();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Music_list,Music);
     virtual void add(Music*);
     virtual void transpose(Melodic_req const *);
@@ -47,7 +47,7 @@ protected:
 class Chord : public Music_list {
 public:
     Chord();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Chord,Music);
     virtual void translate(Moment dt);
     virtual MInterval time_int()const;
@@ -55,7 +55,7 @@ public:
 
 class Request_chord : public Chord {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Request_chord();
     VIRTUAL_COPY_CONS(Request_chord,Music);
 };
@@ -69,7 +69,7 @@ public:
     Moment offset_mom_;
 
     Voice();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Voice, Music);
     virtual void translate(Moment dt);
     virtual MInterval time_int()const;
@@ -86,7 +86,7 @@ public:
     /// what name (or look for this name)
     String id_str_;
 
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Change_reg, Music);
 };
 #endif // MUSIC_LIST_HH
index e90ea58a6bd5381ff1a09bf64dbc37b62488c2f9..196f461eeb6bd290bdf9a62539f01488ab51e4f8 100644 (file)
@@ -34,7 +34,7 @@ public:
     virtual void transpose(Melodic_req const *);
     virtual void translate(Moment dt);
     VIRTUAL_COPY_CONS(Music,Music);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Music();
 protected:
     virtual void do_print() const;
index 800550bd59a24e50d9e657e7b8b184d6aab85c40..561944f00f84375ed37c04aec27cfceac8251f7c 100644 (file)
@@ -32,6 +32,6 @@ protected:
     virtual void do_post_move_processing();
 public:
     Note_column_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 #endif // NOTE_COLUMN_GRAV_HH
index 3065642be65f3b4d7592405aa7e782f7cfcbf870..2e297e88a4b8517370ebdebf3f0c344258b0dbaa 100644 (file)
@@ -24,7 +24,7 @@ public:
     
     Interval_t<int> head_positions_interval()const;
         
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Note_column();
     virtual void set(Stem *);
     void sort();
index 450281825d15bd88985371a2e034ee34f5975a71..14cd2491a803b449cdff3c545eaf33d7014748e9 100644 (file)
@@ -20,7 +20,7 @@
 
 class Note_head : public Item {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     bool rest_b_;
     int position_i_;
index cae750568541ee8ca0a4f601680e175626173643..b925617e426d3421e3f465a1ec253c74d0d68d75 100644 (file)
@@ -15,7 +15,7 @@
 
 class Note_performer : public Performer {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     Note_performer();
     ~Note_performer();
index b3a1239d5a4ff339b8a508f61c0693f581896b3e..ae87b68b197a07e1af96c2cf6a83fdc49e528670 100644 (file)
@@ -20,7 +20,7 @@
 
 class Performer_group_performer : public Performer, public virtual Translator {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Input_translator* itrans_l_;
 
     Performer_group_performer();
index 55a2660c435e80b04ba438b2b76be829a7e15941..f9b47a6f8452f0da5dd751cb741057b90c411cb3 100644 (file)
@@ -17,7 +17,7 @@
 class Performer {
     bool init_b_;
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Performer_group_performer* daddy_perf_l_;
 
     Performer();
index f130120cf67b4648f81d4508a3c968c614e47dc6..9a7055bf8fadc0f5e7592bfabb9833151899bf86 100644 (file)
@@ -29,7 +29,7 @@ public:
 
     virtual ~Request(){}
 
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Request,Music);
     
     virtual MInterval time_int() const;
@@ -52,7 +52,7 @@ protected:
 
 #define REQUESTMETHODS(T,accessor)     \
 virtual T * accessor() { return this;}\
-NAME_MEMBERS();\
+DECLARE_MY_RUNTIME_TYPEINFO;\
 VIRTUAL_COPY_CONS(T, Request);\
 virtual void do_print() const
 
index 8685aa5d7dc3b281200f96bab541a06c21ab07e0..7a9eea404265229d6b1a4a09d431aece96d81376 100644 (file)
@@ -22,6 +22,6 @@ protected:
     virtual void do_pre_move_processing();
 public:
     Rest_collision_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 #endif // REST_COLLISION_GRAV_HH
index a2a39754be60780727dc5242e416819bfaabe43d..56589fe14fe1fd94749feac969ccebbea0535793 100644 (file)
@@ -20,7 +20,7 @@ public:
     void add(Note_column*);
     void add(Rest_column*);
     void add(Collision*);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Rest_collision();
 protected:
     virtual void do_post_processing();
index 86aa7f96e0f6fa6b7a40733f4fc3250029d10e31..7e2db4272c68cf179959d083dcf29af77d0fc45d 100644 (file)
@@ -19,7 +19,7 @@
   */
 class Rest_column : public Head_column {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     void translate_heads(int dy);
 };
 
index fb40310ccb3be9627418da0e566b48d0ba2192a1..4dcee6837e466dd84019115b21fbb44d133c3650 100644 (file)
@@ -20,7 +20,7 @@ public:
     const char* type_ch_C_;
     int priority_i_;
     Score_align_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     virtual void acknowledge_element(Score_elem_info);
     virtual void do_pre_move_processing();
index 4bf3efd006213b6931ca3c2ca15542f6cec894ed..2adf9a89112fb948fb865a5ae3c3ca326ec01ad5 100644 (file)
@@ -68,7 +68,7 @@ public:
 
     virtual ~Score_elem();
     Score_elem();
-    NAME_MEMBERS();    
+    DECLARE_MY_RUNTIME_TYPEINFO;    
     
     Interval width() const;
     Interval height() const;
index c559d25548ff1b50439ea47b6f00f9ef7f522c5e..7a722edc2ebdb154cd031c14edac087ae01d7bf7 100644 (file)
@@ -32,7 +32,7 @@ class Score_engraver :
     void typeset_all();
     
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     Score_engraver();
 
index 6cab304fe3fcc0f89df763e203b59f7b356ca8f0..bfbc22f140889fb4e652bd16b6d08c4e0114f898 100644 (file)
@@ -13,7 +13,7 @@
 class Score_horizontal_align_engraver : public Engraver {
     Break_align_item * halign_p_;
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Score_horizontal_align_engraver();
 protected:
     virtual void acknowledge_element(Score_elem_info);
index 769edecec772bc96f08318112e60f503d6ce9621..4a79cb1fb4fe3a4b12a229b2861365d3f5343750 100644 (file)
@@ -15,7 +15,7 @@ class Score_performer:
     public Performer_group_performer, public Global_translator 
 {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Score_performer();
     ~Score_performer();
 
index 2f440318515d5805c406632c35142922c66ab653..ef95d6d078e53de999c74954c8c059ff52c1fbea 100644 (file)
@@ -18,7 +18,7 @@ public:
     virtual String TeX_string() const;    
     
 
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Line_of_score();
     
     void add(Score_elem *);
index 242acd4bdbc3ae31ebda3d990e2edb9420176563..aeb9d11277a5c35d0b5f540bc26c61862dcd6c2e 100644 (file)
@@ -23,7 +23,7 @@ protected:
 public:
     Link_array<Script> script_l_arr_;
     Link_array<Item> support_l_arr_;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
    
     void add(Script *);
     void add_support(Item*);
index 94f60905285db658c36306cdd38aa072ab14a5d1..890ce377bc064b497978dfb752fa20f95a26b0a4 100644 (file)
@@ -35,7 +35,7 @@ public:
     virtual int priority_i()const;
     virtual bool inside_b()const;
     virtual Atom get_atom(Paper_def* p, int dir_i_)const;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     virtual bool do_equal_b(General_script_def const &)const;
     virtual void do_print() const;
index bf79f8e47a339378fb2142d202c175ae85de9056..2e622aa7ff8f834e73ececadfbc74b42701fa51f 100644 (file)
@@ -18,7 +18,7 @@ class Script_engraver : public Engraver {
     /* *************** */
     bool acceptable_elem_b(Score_elem*);
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Script_engraver();
 protected:
     virtual bool do_try_request(Request*);
index ef7dae9f325e24f7a0acd75698c295a29bb29503..2031a28ad685b6155383eb24d6163a4ddeda1010 100644 (file)
@@ -34,7 +34,7 @@ public:
     static int compare(Script  *const&, Script *const&) ;
     Script();
     void set_stem(Stem*);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
 };
 
index 063e59cfb354b4fb511d3e34fdd7962451322140..277a846b7f8a78cf0f2b37123e31b596d0527539 100644 (file)
@@ -27,7 +27,7 @@ protected:
     virtual void do_post_move_processing();
 public:
     Slur_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
 #endif // SLURGRAV_HH
index 475458ce97d2a4a97fe3acb7630a9bc919602028..af44eb1d73148b3141648d75b44b4a3e33189b1c 100644 (file)
@@ -25,7 +25,7 @@ protected:
     virtual void do_substitute_dependency(Score_elem*, Score_elem*);
     virtual void do_pre_processing();
     SCORE_ELEM_CLONE(Slur);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
 #endif // SLUR_HH
index 62bc40a22699554ba67a53ea8c3aebd9e70f819b..f81428dc034471edc9f2502d3d1e72136aafff60 100644 (file)
@@ -18,7 +18,7 @@ class Span_bar_engraver : public Engraver
     Array<Bar*> bar_l_arr_;
     Vertical_align_element * valign_l_;
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     
     Span_bar_engraver();
 protected:
index a66477ebe82d874eca1fff1795b83801c9c754f0..d181ebbc9531f9ca0f87fd279206301d6a60cc85 100644 (file)
@@ -17,7 +17,7 @@ class Span_bar : public Bar
     Link_array<Bar> spanning_l_arr_;
 
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Span_bar);
     void add(Bar* );
     void set( Vertical_align_element *);
index 6e4f0d28b6a53cabe5ca1981b8915d2a1d831a55..5b53ffbb7158e4cb1e5ba9be7219b02a65bb4249 100644 (file)
@@ -15,7 +15,7 @@
 class Span_score_bar_engraver : public Span_bar_engraver 
 {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     virtual Span_bar* get_span_bar_p()const;
 };
 
@@ -25,7 +25,7 @@ public:
 class Piano_bar_engraver :  public Span_score_bar_engraver
 {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     virtual Span_bar * get_span_bar_p() const;
 };
 
index c8991d624badb08d8507e370f8ae12bcd4a875c7..675a6ec7a550516c403c899685e7a35eb9b25db7 100644 (file)
@@ -15,7 +15,7 @@
 class Span_score_bar : public Span_bar
 {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Span_score_bar);
     Span_score_bar();
 protected:
@@ -28,7 +28,7 @@ protected:
 class Piano_brace : public Span_score_bar
 {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Piano_brace);
 protected:
     virtual Interval do_width()const;
index aa8747a0563b6427465f9e67d327cfdff88fb79d..821c762cf00213e15b8261eec5b806b517d34dea 100644 (file)
@@ -20,6 +20,6 @@ protected:
     virtual void do_print() const;
     SCORE_ELEM_CLONE(Spanner_elem_group);
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 #endif // SPANNER_ELEM_GROUP_HH
index 1954ca97f7b875ca098fe84c4c67ee134cae5922..f2afbfb241cefb531bfb4225328893ab07de6ae0 100644 (file)
@@ -37,7 +37,7 @@ public:
     PCol *left_col_l_, *right_col_l_;
     
     /* *************** */
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     virtual Spanner* spanner() { return this; }    
     Spanner();
     bool broken_b() const;
index f85c501915ac78a0f7652633e73b82d406382a6c..9161c6322434d1db3de354d81ae0ea1d3d20b981 100644 (file)
@@ -13,7 +13,7 @@
 class Staff_performer : public Performer_group_performer 
 {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     Staff_performer();
     ~Staff_performer();
index d62da65daddf63cf4f2a8194eaeb3d569ab3d18a..4186c01be10cd371d4fd574e5443ec5feda3336e 100644 (file)
@@ -42,7 +42,7 @@ public:
   
     Staff_side();
     void add_support(Score_elem*);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     
 protected:
     virtual Interval symbol_height() const;
index b606abf0141894e63c6b1ee7ccfa823908584c0e..f839e545b207f205cdca279757370c4ea72e0241 100644 (file)
@@ -19,7 +19,7 @@ class Staff_sym_engraver : public Engraver {
     Staff_symbol *span_p_;
 public:
     Staff_sym_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     virtual ~Staff_sym_engraver();
     virtual void do_process_requests();
index 74b387aaad3d49273359b6a92415bbac7aa1bcb3..513e0e2f3588a87e67dea6e71a6a254c1f638722 100644 (file)
@@ -23,7 +23,7 @@ public:
 
 
     void set_extent(PCol* p1, PCol* p2);
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Staff_symbol(int lines);
     Real inter_note_f()const;
     int steps_i()const;
index ceec013004e0fb1654d7967de2534103275fb4e7..db08cb6446590c255b4dbbea48c7829618fe760f 100644 (file)
@@ -14,7 +14,7 @@ struct Line_of_staff : public Spanner_elem_group{
 
     SCORE_ELEM_CLONE(Line_of_staff);
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     /* *************** */
     /** 
index a0b3062016a5fc5052116bc674d595dbffad54d3..d4a8749f09abea31d10b415588785189fee10979 100644 (file)
@@ -25,7 +25,7 @@ class Stem_beam_engraver : public Engraver {
     int default_dir_i_;
 public:
     /* *************** */
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Stem_beam_engraver();
 
 protected:
index d2b8a7e19fc109eb3115de1918ae3391355905ab..46228d089a5ed1717ff01bd982b36af2e0fd09c2 100644 (file)
@@ -70,7 +70,7 @@ public:
     /// ensure that this Stem also encompasses the Notehead #n#
     void add(Note_head*n);
 
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     Real hpos_f()const;
     
index e51e1181df1b73a893bc4f26d859f47847841bc0..d090ea707a3c06909dcb769378f33cf8352bad3b 100644 (file)
@@ -26,7 +26,7 @@ protected:
     virtual void handle_broken_dependencies();
 
     virtual void do_add_processing();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
 #endif // SUPER_ELEM_HH
index db8bd9cb0f1a5a965eab2f47ffb867ddfdfa9d71..9a0601a913dfce3b1b29badfafc520f72abcd89e 100644 (file)
@@ -21,6 +21,6 @@ protected:
     bool acceptable_request_b(Request*) const;
     bool do_try_request(Request*) ;
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 #endif // SWALLOW_GRAV_HH
index eec24e9643a3de35d7263d76f3d20cf90261e5a4..a2e4a15a490649992b75fb5435aaa61729290f22 100644 (file)
@@ -14,7 +14,7 @@
 
 class Swallow_performer : public Performer {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     virtual bool do_try_request (Request* ) { return true; }
 };
index 0fff834f857ffb278ac1d0a0aea97514f6be2449..371aeb44b8e26da5b797b2f45953cd3c922b996d 100644 (file)
@@ -15,7 +15,7 @@
 class Text_def : public General_script_def {
 protected:
     virtual Atom get_atom(Paper_def* p, int dir_i_)const;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Text_def,General_script_def);
 public:
     /**
index ef6d3a2855fada1ba4e8681272701375ab42d505..4f3b3f23a5bc13ad719e3a231fba5e9f52c47a14 100644 (file)
@@ -23,7 +23,7 @@ protected:
     virtual void acknowledge_element(Score_elem_info);
 public:
     Text_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
 #endif // TEXTGRAV_HH
index d4cbcff36436fedcea9cc8e07da8d4cfc0accdf2..0019a5f8e0da5e42c7e395bc05c7726d491e2f53 100644 (file)
@@ -26,7 +26,7 @@ public:
 
     Text_item(General_script_def*,int dir=0);
     virtual ~Text_item();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
 protected:
     General_script_def * tdef_p_;
index 119384067cd64bb5dbaf895932b12e1509f1ceee..ff06829345fedc82b1b777ba45a52ce34316135e 100644 (file)
@@ -18,7 +18,7 @@ public:
     Directional_spanner * support_span_l_;
     General_script_def * spec_p_;
     Offset text_off_;
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 
     void set_support(Directional_spanner*);
     Text_spanner();
index 1b2b735e9d4c7b0f26165d5ecdfa2f9f07e0dbc1..8a07a27b7502ba238b5835ec236d03ef1889ad3c 100644 (file)
@@ -34,7 +34,7 @@ protected:
     virtual void set_feature(Feature);
 public:
     Tie_engraver();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
 #endif // TIE_GRAV_HH
index 8cf2fef4a53603902e5c24229b8777bd4e32f8d4..9d8c35496b33af124608319fabaacd3249f11086 100644 (file)
@@ -28,7 +28,7 @@ public:
     void set_head(int, Note_head*head_l);
 
     Tie();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Tie);
 };
 #endif // TIE_HH
index b1e333a59adc39feaee2d7dc3a44dc04f116aa3c..772b666ff5cef2ca9b2ded392d351fe161d441cc 100644 (file)
@@ -30,7 +30,7 @@ public:
     virtual Translator *find_get_translator_l(String name, String id)=0;
     virtual Translator *ancestor_l(int l=1)=0;
     virtual ~Translator(){}
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Translator();
     virtual Translator *get_default_interpreter()=0;
 };
index cf20de93cc36e019e5151cbe69e07c5a0cf41a00..b96dfba33529a6192c80bbb7ee41745857fcb462 100644 (file)
@@ -20,7 +20,7 @@ public:
     void add(Score_elem*);
     bool contains_b(Score_elem const*)const;
     Vertical_align_element();
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     virtual void do_substitute_dependency(Score_elem*,Score_elem*);
     virtual void do_post_processing() ;
index 372788283dcca37595dad104cd25fcb65a02aa6d..4df768bcdc56cff007acce6c5a4c5dd393989d85 100644 (file)
@@ -16,7 +16,7 @@ class Vertical_align_engraver : public Engraver {
     Vertical_align_spanner * valign_p_;
     
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     Vertical_align_engraver();
 protected:
    virtual void acknowledge_element(Score_elem_info);
index ccf2224c8b154ff960cb98704fbab1208c26bbb7..fefe52a302bdc30475d5c2d93d4f7adcf5f905fd 100644 (file)
@@ -16,7 +16,7 @@
 class Vertical_align_spanner : public Vertical_align_element, public Spanner
 {
 public:
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Vertical_align_spanner);
     virtual void do_print() const { Vertical_align_element::do_print() ; }
     
index cdac7076ce1484fd2c7d20f5a6bab68c9d6f4b60..843f2d571e3a36d7961ac374392c77b689a61b3a 100644 (file)
@@ -26,7 +26,7 @@ protected:
 public:
     
     
-    NAME_MEMBERS();
+    DECLARE_MY_RUNTIME_TYPEINFO;
     static bool static_acceptable_request_b(Request*);
     Voice_group_engravers();
 };
index 7919a3ec35ce8baca840bd02f1c04a83b6c5eb13..2481e4a35069fa7f4b3a4f75a9814c9d38dc31be 100644 (file)
@@ -78,7 +78,7 @@ Item*
 Item::find_prebroken_piece(Line_of_score*l) const
 {
     if (line_l() == l) 
-       return this;
+       return (Item*)this;
     else if (broken_to_a_[0] && broken_to_a_[0]->line_l() == l)
        return broken_to_a_[0];
     else if (broken_to_a_[1] && broken_to_a_[1]->line_l() == l)
index 0ba2ae489676a30fcd5cce11a4b8f8bd1b5e551b..85e8e630fd14e4401d0d535374ca9fb7966c0d95 100644 (file)
@@ -11,6 +11,7 @@
 #include "text-item.hh"
 #include "paper-def.hh"
 #include "lookup.hh"
+#include "paper-def.hh"
 
 Lyric_engraver::Lyric_engraver()
 {
@@ -34,6 +35,8 @@ Lyric_engraver::do_process_requests()
 {
     if ( lreq_l_ ) {  
        lyric_item_p_ =  new Text_item(lreq_l_->tdef_p_ );
+
+       lyric_item_p_->translate_x( paper()->note_width()/2 );
        lyric_item_p_->dir_i_ = -1;
        lyric_item_p_->fat_b_ = true;
        announce_element( Score_elem_info( lyric_item_p_, lreq_l_));
index 51069c4cc6edc480b9983f81d258475ee2d7ab00..83d8b7aa6ce107066ed1137666a328fc0eb001ea 100644 (file)
@@ -33,10 +33,9 @@ Midi_stream::~Midi_stream()
 Midi_stream&
 Midi_stream::operator <<( String str )
 {
-    // still debugging...
     if ( check_debug )
        str = String_convert::bin2hex_str( str );
-    // string now 1.0.26-2 handles binary streaming
+    
     *os_p_ << str;
     return *this;
 }
@@ -61,23 +60,14 @@ Midi_stream::operator <<( int i )
 void
 Midi_stream::header()
 {
-//    *os_p_ << "% Creator: " << get_version();
-//    *os_p_ << "% Automatically generated, at ";
-//    time_t t(time(0));
-//    *os_p_ << ctime(&t);
-
-//                4D 54 68 64     MThd
-//    String str = "MThd";
-//                00 00 00 06     chunk length
-//                00 01   format 1
-//                00 01   one track
-//                00 60   96 per quarter-note
-
-//    char const ch_C = "0000" "0006" "0001" "0001" "0060";
-//    str += String_convert::hex2bin_str( ch_C );
-//    *os_p_ << str;
-
-//      *this << Midi_header( 1, 1, tempo_i_ );
+/*
+                4D 54 68 64     MThd
+    String str = "MThd";
+                00 00 00 06     chunk length
+                00 01   format 1
+                00 01   one track
+                00 60   96 per quarter-note
+*/
       *this << Midi_header( 1, tracks_i_, clocks_per_4_i_ );
 }
 
index 995d541ea8a894e76cc8d3204f171310127d3bf1..67acc1d8ae2df58bc0e075c5e9c8c6ed3d588e3b 100644 (file)
@@ -234,7 +234,7 @@ mudela:     /* empty */
 
 check_version:
        VERSION STRING ';'              {
-               if (*$2 != MUDELA_VERSION) {
+               if ( String( *$2 ) != MUDELA_VERSION) {
                        if (THIS->ignore_version_b_) {
                                THIS->here_input().error("Incorrect mudela version");
                        } else {
@@ -961,6 +961,7 @@ music_elt:
 
 lyrics_elt:
        text_def notemode_duration                      {
+       /* this sux! text-def should be feature of lyric-engraver. */
                if (!THIS->lexer_p_->lyric_state_b())
                        THIS->parser_error("Have to be in Lyric mode for lyrics");
                $$ = THIS->get_word_element($1, $2);
index 9c92ce3af4726142e04f35d6112274f62ba22bf6..8020cf7f1fca59922bb64ca6717297d29c2b4fb2 100644 (file)
@@ -16,7 +16,7 @@
 class C ## _align_engraver : public Score_align_engraver               \
 {                                                                      \
 public:                                                                        \
-    NAME_MEMBERS();                                                    \
+    DECLARE_MY_RUNTIME_TYPEINFO;                                       \
     C ## _align_engraver() : Score_align_engraver() \
     { type_ch_C_ = T::static_name();\
     priority_i_ = p;}  \