From a63cb50a21c65d1fc7e94f438357ca13e93febab Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:52:23 +0000 Subject: [PATCH] lilypond-0.0.78 --- ANNOUNCE | 17 ++++---- Documentation/index.pod | 17 +------- NEWS | 22 +++++++--- flower/include/virtual-methods.hh | 2 +- lily/crescendo.cc | 1 - lily/include/bar-grav.hh | 2 +- lily/include/bar.hh | 2 +- lily/include/beam.hh | 2 +- lily/include/bow.hh | 2 +- lily/include/break-align-item.hh | 2 +- lily/include/clef-grav.hh | 2 +- lily/include/clef-item.hh | 2 +- lily/include/collision-grav.hh | 2 +- lily/include/collision.hh | 2 +- lily/include/crescendo.hh | 2 +- lily/include/dynamic-grav.hh | 2 +- lily/include/elem-group-item.hh | 4 +- lily/include/elem-group.hh | 8 ++-- lily/include/engraver-group.hh | 2 +- lily/include/engraver.hh | 2 +- lily/include/general-script-def.hh | 2 +- lily/include/global-translator.hh | 2 +- lily/include/head-column.hh | 2 +- lily/include/head-grav.hh | 2 +- lily/include/horizontal-align-item.hh | 2 +- lily/include/identifier.hh | 4 +- lily/include/item.hh | 2 +- lily/include/key-grav.hh | 2 +- lily/include/key-item.hh | 2 +- lily/include/key-performer.hh | 2 +- lily/include/line-group-grav.hh | 4 +- lily/include/local-key-grav.hh | 2 +- lily/include/local-key-item.hh | 2 +- lily/include/lyric-engraver.hh | 2 +- lily/include/lyric-performer.hh | 2 +- lily/include/meter-grav.hh | 2 +- lily/include/meter-performer.hh | 2 +- lily/include/meter.hh | 2 +- lily/include/midi-item.hh | 51 +++++++++++++++++------ lily/include/music-iterator.hh | 10 ++--- lily/include/music-list.hh | 10 ++--- lily/include/music.hh | 2 +- lily/include/note-column-grav.hh | 2 +- lily/include/note-column.hh | 2 +- lily/include/note-head.hh | 2 +- lily/include/note-performer.hh | 2 +- lily/include/performer-group-performer.hh | 2 +- lily/include/performer.hh | 2 +- lily/include/request.hh | 4 +- lily/include/rest-collision-grav.hh | 2 +- lily/include/rest-collision.hh | 2 +- lily/include/rest-column.hh | 2 +- lily/include/score-align-grav.hh | 2 +- lily/include/score-elem.hh | 2 +- lily/include/score-grav.hh | 2 +- lily/include/score-halign-grav.hh | 2 +- lily/include/score-performer.hh | 2 +- lily/include/scoreline.hh | 2 +- lily/include/script-column.hh | 2 +- lily/include/script-def.hh | 2 +- lily/include/script-grav.hh | 2 +- lily/include/script.hh | 2 +- lily/include/slur-grav.hh | 2 +- lily/include/slur.hh | 2 +- lily/include/span-bar-grav.hh | 2 +- lily/include/span-bar.hh | 2 +- lily/include/span-score-bar-grav.hh | 4 +- lily/include/span-score-bar.hh | 4 +- lily/include/spanner-elem-group.hh | 2 +- lily/include/spanner.hh | 2 +- lily/include/staff-performer.hh | 2 +- lily/include/staff-side.hh | 2 +- lily/include/staff-sym-grav.hh | 2 +- lily/include/staff-sym.hh | 2 +- lily/include/staffline.hh | 2 +- lily/include/stem-beam-grav.hh | 2 +- lily/include/stem.hh | 2 +- lily/include/super-elem.hh | 2 +- lily/include/swallow-grav.hh | 2 +- lily/include/swallow-perf.hh | 2 +- lily/include/text-def.hh | 2 +- lily/include/text-grav.hh | 2 +- lily/include/text-item.hh | 2 +- lily/include/text-spanner.hh | 2 +- lily/include/tie-grav.hh | 2 +- lily/include/tie.hh | 2 +- lily/include/translator.hh | 2 +- lily/include/vertical-align-elem.hh | 2 +- lily/include/vertical-align-grav.hh | 2 +- lily/include/vertical-align-spanner.hh | 2 +- lily/include/voice-group-gravs.hh | 2 +- lily/item.cc | 2 +- lily/lyric-grav.cc | 3 ++ lily/midi-stream.cc | 28 ++++--------- lily/parser.y | 3 +- lily/score-align-gravs.cc | 2 +- 96 files changed, 186 insertions(+), 166 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index aadfe22abd..a904214579 100644 --- 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 diff --git a/Documentation/index.pod b/Documentation/index.pod index 10fdd592d0..cc50a8b595 100644 --- a/Documentation/index.pod +++ b/Documentation/index.pod @@ -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 * @@ -204,14 +195,10 @@ Other packages for printing music. -=item * -Get LilyPond at ftp://pcnov095.win.tue.nl/pub/lilypond ! - - =item * -B and other interesting links +B LilyPond and other interesting links diff --git a/NEWS b/NEWS index e6d1201dae..2d7ff005fb 100644 --- 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: - - 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 diff --git a/flower/include/virtual-methods.hh b/flower/include/virtual-methods.hh index b8933baa0e..88dad44aeb 100644 --- a/flower/include/virtual-methods.hh +++ b/flower/include/virtual-methods.hh @@ -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); } \ diff --git a/lily/crescendo.cc b/lily/crescendo.cc index 8de7d68759..df349421bb 100644 --- a/lily/crescendo.cc +++ b/lily/crescendo.cc @@ -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) ); } diff --git a/lily/include/bar-grav.hh b/lily/include/bar-grav.hh index d65c26930b..f159d2973a 100644 --- a/lily/include/bar-grav.hh +++ b/lily/include/bar-grav.hh @@ -19,7 +19,7 @@ class Bar_engraver : public Engraver { Bar * bar_p_; public: Bar_engraver(); - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; protected: diff --git a/lily/include/bar.hh b/lily/include/bar.hh index ccef49e2bf..9a7a8b92b6 100644 --- a/lily/include/bar.hh +++ b/lily/include/bar.hh @@ -15,7 +15,7 @@ public: String type_str_; int spanned_i_; - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; SCORE_ELEM_CLONE(Bar); Bar(); private: diff --git a/lily/include/beam.hh b/lily/include/beam.hh index bd0c2550a9..1e6a36fe15 100644 --- a/lily/include/beam.hh +++ b/lily/include/beam.hh @@ -24,7 +24,7 @@ public: /* *************** */ - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Beam(); void add(Stem*); diff --git a/lily/include/bow.hh b/lily/include/bow.hh index c69214a542..e483c36ac2 100644 --- a/lily/include/bow.hh +++ b/lily/include/bow.hh @@ -25,7 +25,7 @@ protected: Molecule*brew_molecule_p()const; public: Bow(); - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Offset center() const; }; #endif // BOW_HH diff --git a/lily/include/break-align-item.hh b/lily/include/break-align-item.hh index 7e0e632b01..6ef6818b3d 100644 --- a/lily/include/break-align-item.hh +++ b/lily/include/break-align-item.hh @@ -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); }; diff --git a/lily/include/clef-grav.hh b/lily/include/clef-grav.hh index ec35bf0b5a..2f974eeadb 100644 --- a/lily/include/clef-grav.hh +++ b/lily/include/clef-grav.hh @@ -34,7 +34,7 @@ public: /* ************** */ Clef_engraver(); - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; }; #endif // CLEF_HH diff --git a/lily/include/clef-item.hh b/lily/include/clef-item.hh index 162cf813eb..face7e818d 100644 --- a/lily/include/clef-item.hh +++ b/lily/include/clef-item.hh @@ -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&); diff --git a/lily/include/collision-grav.hh b/lily/include/collision-grav.hh index 4500a72617..be3880de62 100644 --- a/lily/include/collision-grav.hh +++ b/lily/include/collision-grav.hh @@ -20,6 +20,6 @@ protected: virtual void do_pre_move_processing(); public: Collision_engraver(); - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; }; #endif // COLLISION_GRAV_HH diff --git a/lily/include/collision.hh b/lily/include/collision.hh index 62cee06041..3891a5a0c1 100644 --- a/lily/include/collision.hh +++ b/lily/include/collision.hh @@ -23,7 +23,7 @@ protected: virtual void do_pre_processing(); public: Link_array clash_l_arr_; - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; void add (Note_column*ncol_l); Collision(); diff --git a/lily/include/crescendo.hh b/lily/include/crescendo.hh index 0ebf499cdf..4539ac209c 100644 --- a/lily/include/crescendo.hh +++ b/lily/include/crescendo.hh @@ -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; diff --git a/lily/include/dynamic-grav.hh b/lily/include/dynamic-grav.hh index 5c1a585ca5..389a468466 100644 --- a/lily/include/dynamic-grav.hh +++ b/lily/include/dynamic-grav.hh @@ -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); diff --git a/lily/include/elem-group-item.hh b/lily/include/elem-group-item.hh index ce7b75e41a..a3e1ea6d16 100644 --- a/lily/include/elem-group-item.hh +++ b/lily/include/elem-group-item.hh @@ -15,14 +15,14 @@ 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(); } diff --git a/lily/include/elem-group.hh b/lily/include/elem-group.hh index 245b2dfcf1..650dc613ce 100644 --- a/lily/include/elem-group.hh +++ b/lily/include/elem-group.hh @@ -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*); diff --git a/lily/include/engraver-group.hh b/lily/include/engraver-group.hh index 7e2b9b21b5..96e67feaa8 100644 --- a/lily/include/engraver-group.hh +++ b/lily/include/engraver-group.hh @@ -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. diff --git a/lily/include/engraver.hh b/lily/include/engraver.hh index 5047877145..52cd3bd7ea 100644 --- a/lily/include/engraver.hh +++ b/lily/include/engraver.hh @@ -134,7 +134,7 @@ public: Engraver(); virtual ~Engraver(){} - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; void print() const; }; diff --git a/lily/include/general-script-def.hh b/lily/include/general-script-def.hh index 5c9dac12bc..acaa554019 100644 --- a/lily/include/general-script-def.hh +++ b/lily/include/general-script-def.hh @@ -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; diff --git a/lily/include/global-translator.hh b/lily/include/global-translator.hh index 3faa9e4eea..112392a670 100644 --- a/lily/include/global-translator.hh +++ b/lily/include/global-translator.hh @@ -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; } diff --git a/lily/include/head-column.hh b/lily/include/head-column.hh index ea5e9a7531..77065d84cb 100644 --- a/lily/include/head-column.hh +++ b/lily/include/head-column.hh @@ -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: diff --git a/lily/include/head-grav.hh b/lily/include/head-grav.hh index c7522c5005..2a5b2be280 100644 --- a/lily/include/head-grav.hh +++ b/lily/include/head-grav.hh @@ -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; }; diff --git a/lily/include/horizontal-align-item.hh b/lily/include/horizontal-align-item.hh index e12eae39bc..639ce1b22e 100644 --- a/lily/include/horizontal-align-item.hh +++ b/lily/include/horizontal-align-item.hh @@ -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(); diff --git a/lily/include/identifier.hh b/lily/include/identifier.hh index c2c5eebe7a..2088c841f7 100644 --- a/lily/include/identifier.hh +++ b/lily/include/identifier.hh @@ -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();\ diff --git a/lily/include/item.hh b/lily/include/item.hh index 109a9c8191..6f3eb6a7cb 100644 --- a/lily/include/item.hh +++ b/lily/include/item.hh @@ -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(); diff --git a/lily/include/key-grav.hh b/lily/include/key-grav.hh index d62345ab1b..7b54214892 100644 --- a/lily/include/key-grav.hh +++ b/lily/include/key-grav.hh @@ -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(); diff --git a/lily/include/key-item.hh b/lily/include/key-item.hh index 759e6d1123..a1ab3dc6d4 100644 --- a/lily/include/key-item.hh +++ b/lily/include/key-item.hh @@ -20,7 +20,7 @@ struct Key_item : Item { /* *************** */ - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; SCORE_ELEM_CLONE(Key_item); Key_item(int cposition); diff --git a/lily/include/key-performer.hh b/lily/include/key-performer.hh index a14c19cc56..6b1cba48f8 100644 --- a/lily/include/key-performer.hh +++ b/lily/include/key-performer.hh @@ -14,7 +14,7 @@ class Key_performer : public Performer { public: - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Key_performer(); ~Key_performer(); diff --git a/lily/include/line-group-grav.hh b/lily/include/line-group-grav.hh index bb43f6d2d9..e7153be0f5 100644 --- a/lily/include/line-group-grav.hh +++ b/lily/include/line-group-grav.hh @@ -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(); }; diff --git a/lily/include/local-key-grav.hh b/lily/include/local-key-grav.hh index cc52ed5f8f..0530099634 100644 --- a/lily/include/local-key-grav.hh +++ b/lily/include/local-key-grav.hh @@ -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 diff --git a/lily/include/local-key-item.hh b/lily/include/local-key-item.hh index a80e44196e..2d4ed66e8f 100644 --- a/lily/include/local-key-item.hh +++ b/lily/include/local-key-item.hh @@ -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 accs; Link_array support_items_; int c0_position; diff --git a/lily/include/lyric-engraver.hh b/lily/include/lyric-engraver.hh index 9c1aefadac..8e18c8ed6a 100644 --- a/lily/include/lyric-engraver.hh +++ b/lily/include/lyric-engraver.hh @@ -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 diff --git a/lily/include/lyric-performer.hh b/lily/include/lyric-performer.hh index cd07a96fde..c0321c2839 100644 --- a/lily/include/lyric-performer.hh +++ b/lily/include/lyric-performer.hh @@ -16,7 +16,7 @@ class Lyric_performer : public Performer { public: - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Lyric_performer(); ~Lyric_performer(); diff --git a/lily/include/meter-grav.hh b/lily/include/meter-grav.hh index d2f25ec2cd..d1085f63fe 100644 --- a/lily/include/meter-grav.hh +++ b/lily/include/meter-grav.hh @@ -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 diff --git a/lily/include/meter-performer.hh b/lily/include/meter-performer.hh index e72451d5b8..3d972c10e8 100644 --- a/lily/include/meter-performer.hh +++ b/lily/include/meter-performer.hh @@ -14,7 +14,7 @@ class Meter_performer : public Performer { public: - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Meter_performer(); ~Meter_performer(); diff --git a/lily/include/meter.hh b/lily/include/meter.hh index 176ce6085c..eb5f2b128e 100644 --- a/lily/include/meter.hh +++ b/lily/include/meter.hh @@ -23,7 +23,7 @@ protected: Molecule*brew_molecule_p() const; public: Meter(Array args) ; - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; SCORE_ELEM_CLONE(Meter); }; #endif // METER_HH diff --git a/lily/include/midi-item.hh b/lily/include/midi-item.hh index b8e1a6b8b4..ed5cf51a59 100644 --- a/lily/include/midi-item.hh +++ b/lily/include/midi-item.hh @@ -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 ); }; diff --git a/lily/include/music-iterator.hh b/lily/include/music-iterator.hh index 93d21e5c2a..42ad968c42 100644 --- a/lily/include/music-iterator.hh +++ b/lily/include/music-iterator.hh @@ -22,7 +22,7 @@ protected: public: Music_iterator *daddy_iter_l_; - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Arrayreport_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, 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(); diff --git a/lily/include/music-list.hh b/lily/include/music-list.hh index ad745eff28..dda2f568ad 100644 --- a/lily/include/music-list.hh +++ b/lily/include/music-list.hh @@ -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 diff --git a/lily/include/music.hh b/lily/include/music.hh index e90ea58a6b..196f461eeb 100644 --- a/lily/include/music.hh +++ b/lily/include/music.hh @@ -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; diff --git a/lily/include/note-column-grav.hh b/lily/include/note-column-grav.hh index 800550bd59..561944f00f 100644 --- a/lily/include/note-column-grav.hh +++ b/lily/include/note-column-grav.hh @@ -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 diff --git a/lily/include/note-column.hh b/lily/include/note-column.hh index 3065642be6..2e297e88a4 100644 --- a/lily/include/note-column.hh +++ b/lily/include/note-column.hh @@ -24,7 +24,7 @@ public: Interval_t head_positions_interval()const; - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Note_column(); virtual void set(Stem *); void sort(); diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 450281825d..14cd2491a8 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -20,7 +20,7 @@ class Note_head : public Item { public: - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; bool rest_b_; int position_i_; diff --git a/lily/include/note-performer.hh b/lily/include/note-performer.hh index cae7505685..b925617e42 100644 --- a/lily/include/note-performer.hh +++ b/lily/include/note-performer.hh @@ -15,7 +15,7 @@ class Note_performer : public Performer { public: - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Note_performer(); ~Note_performer(); diff --git a/lily/include/performer-group-performer.hh b/lily/include/performer-group-performer.hh index b3a1239d5a..ae87b68b19 100644 --- a/lily/include/performer-group-performer.hh +++ b/lily/include/performer-group-performer.hh @@ -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(); diff --git a/lily/include/performer.hh b/lily/include/performer.hh index 55a2660c43..f9b47a6f84 100644 --- a/lily/include/performer.hh +++ b/lily/include/performer.hh @@ -17,7 +17,7 @@ class Performer { bool init_b_; public: - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Performer_group_performer* daddy_perf_l_; Performer(); diff --git a/lily/include/request.hh b/lily/include/request.hh index f130120cf6..9a7055bf8f 100644 --- a/lily/include/request.hh +++ b/lily/include/request.hh @@ -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 diff --git a/lily/include/rest-collision-grav.hh b/lily/include/rest-collision-grav.hh index 8685aa5d7d..7a9eea4042 100644 --- a/lily/include/rest-collision-grav.hh +++ b/lily/include/rest-collision-grav.hh @@ -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 diff --git a/lily/include/rest-collision.hh b/lily/include/rest-collision.hh index a2a39754be..56589fe14f 100644 --- a/lily/include/rest-collision.hh +++ b/lily/include/rest-collision.hh @@ -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(); diff --git a/lily/include/rest-column.hh b/lily/include/rest-column.hh index 86aa7f96e0..7e2db4272c 100644 --- a/lily/include/rest-column.hh +++ b/lily/include/rest-column.hh @@ -19,7 +19,7 @@ */ class Rest_column : public Head_column { public: - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; void translate_heads(int dy); }; diff --git a/lily/include/score-align-grav.hh b/lily/include/score-align-grav.hh index fb40310ccb..4dcee6837e 100644 --- a/lily/include/score-align-grav.hh +++ b/lily/include/score-align-grav.hh @@ -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(); diff --git a/lily/include/score-elem.hh b/lily/include/score-elem.hh index 4bf3efd006..2adf9a8911 100644 --- a/lily/include/score-elem.hh +++ b/lily/include/score-elem.hh @@ -68,7 +68,7 @@ public: virtual ~Score_elem(); Score_elem(); - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Interval width() const; Interval height() const; diff --git a/lily/include/score-grav.hh b/lily/include/score-grav.hh index c559d25548..7a722edc2e 100644 --- a/lily/include/score-grav.hh +++ b/lily/include/score-grav.hh @@ -32,7 +32,7 @@ class Score_engraver : void typeset_all(); public: - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Score_engraver(); diff --git a/lily/include/score-halign-grav.hh b/lily/include/score-halign-grav.hh index 6cab304fe3..bfbc22f140 100644 --- a/lily/include/score-halign-grav.hh +++ b/lily/include/score-halign-grav.hh @@ -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); diff --git a/lily/include/score-performer.hh b/lily/include/score-performer.hh index 769edecec7..4a79cb1fb4 100644 --- a/lily/include/score-performer.hh +++ b/lily/include/score-performer.hh @@ -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(); diff --git a/lily/include/scoreline.hh b/lily/include/scoreline.hh index 2f44031851..ef95d6d078 100644 --- a/lily/include/scoreline.hh +++ b/lily/include/scoreline.hh @@ -18,7 +18,7 @@ public: virtual String TeX_string() const; - NAME_MEMBERS(); + DECLARE_MY_RUNTIME_TYPEINFO; Line_of_score(); void add(Score_elem *); diff --git a/lily/include/script-column.hh b/lily/include/script-column.hh index 242acd4bdb..aeb9d11277 100644 --- a/lily/include/script-column.hh +++ b/lily/include/script-column.hh @@ -23,7 +23,7 @@ protected: public: Link_array