From: fred Date: Tue, 26 Mar 2002 21:28:22 +0000 (+0000) Subject: lilypond-1.1.0 X-Git-Tag: release/1.5.59~2814 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=6457a0dadd6ea303a8d07c2c32b9d87522ef2fb8;p=lilypond.git lilypond-1.1.0 --- diff --git a/lily/line-of-score.cc b/lily/line-of-score.cc index 7933239518..9e2e7edb03 100644 --- a/lily/line-of-score.cc +++ b/lily/line-of-score.cc @@ -50,7 +50,7 @@ Line_of_score::set_breaking (Array const &breaking, int j) c if (breaking.size() >1) { - line_l = (Line_of_score*)clone()->access_Spanner (); + line_l = dynamic_cast (clone()); } else line_l = (Line_of_score*) this; diff --git a/lily/midi-item.cc b/lily/midi-item.cc index 53f36d6a1e..362508ee64 100644 --- a/lily/midi-item.cc +++ b/lily/midi-item.cc @@ -354,7 +354,7 @@ Midi_key::Midi_key (Audio_item* audio_item_l) String Midi_key::str () const { - Key_change_req* k = audio_item_l_->req_l_->access_Command_req ()->access_Key_change_req (); + Key_change_req* k = dynamic_cast (audio_item_l_->req_l_); int sharps_i = k->sharps_i (); int flats_i = k->flats_i (); @@ -383,7 +383,7 @@ Midi_time_signature::Midi_time_signature (Audio_item* audio_item_l) String Midi_time_signature::str () const { - Time_signature_change_req* m = audio_item_l_->req_l_->access_Command_req ()->access_Time_signature_change_req (); + Time_signature_change_req* m = dynamic_cast (audio_item_l_->req_l_); int num_i = m->beats_i_; int den_i = m->one_beat_i_; @@ -404,7 +404,7 @@ Midi_note::Midi_note (Audio_item* audio_item_l) Moment Midi_note::duration () const { - Moment m = audio_item_l_->req_l_->access_Musical_req ()->access_Rhythmic_req ()->duration (); + Moment m = dynamic_cast (audio_item_l_->req_l_)->duration (); if (m < Moment (1, 1000)) { warning (_ ("silly duration")); @@ -416,8 +416,7 @@ Midi_note::duration () const int Midi_note::pitch_i () const { - int p = audio_item_l_->req_l_->access_Musical_req ()->access_Melodic_req - ()->pitch_.semitone_pitch () + int p = dynamic_cast (audio_item_l_->req_l_)->pitch_.semitone_pitch () + ((Audio_note*)audio_item_l_)->transposing_i_; if (p == INT_MAX) { @@ -452,8 +451,7 @@ Midi_note_off::Midi_note_off (Midi_note* midi_note_l) int Midi_note_off::pitch_i () const { - return audio_item_l_->req_l_->access_Musical_req ()->access_Melodic_req - ()->pitch_.semitone_pitch () + return dynamic_cast (audio_item_l_->req_l_)->pitch_.semitone_pitch () + ((Audio_note*)audio_item_l_)->transposing_i_; } diff --git a/lily/multi-measure-rest-engraver.cc b/lily/multi-measure-rest-engraver.cc index e8b23b67b3..03578a5815 100644 --- a/lily/multi-measure-rest-engraver.cc +++ b/lily/multi-measure-rest-engraver.cc @@ -26,7 +26,7 @@ Multi_measure_rest_engraver::Multi_measure_rest_engraver () bool Multi_measure_rest_engraver::do_try_request (Request* req_l) { - if (!req_l->access_Musical_req () || !req_l->access_Musical_req ()->access_Multi_measure_rest_req ()) + if (!dynamic_cast (req_l)) return false; if (multi_measure_req_l_) @@ -34,7 +34,7 @@ Multi_measure_rest_engraver::do_try_request (Request* req_l) || req_start_mom_ != now_moment ()) return false; - multi_measure_req_l_ = req_l->access_Musical_req ()->access_Multi_measure_rest_req (); + multi_measure_req_l_ = dynamic_cast (req_l); req_start_mom_ = now_moment (); rest_req_stop_mom_ = req_start_mom_ + multi_measure_req_l_->duration_.length (); diff --git a/lily/music-list.cc b/lily/music-list.cc index 8f29446699..7c47ded027 100644 --- a/lily/music-list.cc +++ b/lily/music-list.cc @@ -118,10 +118,10 @@ Request_chord::to_relative_octave (Musical_pitch last) { for (iter (music_p_list_p_->top(),i); i.ok (); i++) { - Musical_req *m =((Request*)i.ptr ())->access_Musical_req (); - if (m && m->access_Melodic_req ()) - { - Musical_pitch &pit = m->access_Melodic_req ()->pitch_; + Musical_req *m = dynamic_cast (i.ptr ()); + if (m && dynamic_cast (m)) + { + Musical_pitch &pit = dynamic_cast (m)->pitch_; pit.to_relative_octave (last); return pit; } diff --git a/lily/music-output-def.cc b/lily/music-output-def.cc index 86a20a731e..8e28cdf4bb 100644 --- a/lily/music-output-def.cc +++ b/lily/music-output-def.cc @@ -60,7 +60,7 @@ Translator* Music_output_def::find_translator_l (String name) const { if (translator_p_dict_p_->elem_b (name)) - return (*translator_p_dict_p_)[name]->access_Translator (); + return (*translator_p_dict_p_)[name]->access_Translator (); if (global_translator_dict_p->elem_b (name)) return (*global_translator_dict_p)[name]; @@ -76,7 +76,7 @@ Music_output_def::get_global_translator_p () if (!t) error (_("Can't find Score context")); t = t->clone (); - Global_translator *g = t->access_Translator_group ()->global_l (); + Global_translator *g = dynamic_cast (t)->global_l (); t->add_processing (); return g; @@ -98,6 +98,6 @@ Music_output_def::get_default_output () const return ""; Identifier * id = (*scope_p_) ["output"]; - String *p = id->access_String (); + String *p = dynamic_cast (id); return p ? *p : String (""); } diff --git a/lily/musical-request.cc b/lily/musical-request.cc index 3ee6004add..6c72cb538a 100644 --- a/lily/musical-request.cc +++ b/lily/musical-request.cc @@ -104,7 +104,7 @@ IMPLEMENT_IS_TYPE_B1 (Melodic_req,Musical_req); bool Melodic_req::do_equal_b (Request*r) const { - Melodic_req* m= r->access_Musical_req ()->access_Melodic_req (); + Melodic_req* m= dynamic_cast (r); return !compare (*m, *this); } @@ -129,7 +129,7 @@ Rhythmic_req::compare (Rhythmic_req const &r1, Rhythmic_req const &r2) bool Rhythmic_req::do_equal_b (Request*r) const { - Rhythmic_req* rh = r->access_Musical_req ()->access_Rhythmic_req (); + Rhythmic_req* rh = dynamic_cast (r); return !compare (*this, *rh); } @@ -269,7 +269,7 @@ Plet_req::do_print () const bool Span_req:: do_equal_b (Request*r) const { - Span_req * s = r->access_Span_req (); + Span_req * s = dynamic_cast (r); return spantype == s->spantype; } @@ -292,7 +292,7 @@ Script_req::Script_req (Script_req const&s) bool Script_req::do_equal_b (Request*r) const { - Script_req * s = r->access_Script_req (); + Script_req * s = dynamic_cast (r); return scriptdef_p_->equal_b (*s->scriptdef_p_); } @@ -400,7 +400,7 @@ Absolute_dynamic_req::do_print () const bool Absolute_dynamic_req::do_equal_b (Request *r) const { - Absolute_dynamic_req *a = r->access_Musical_req ()->access_Dynamic_req ()->access_Absolute_dynamic_req (); + Absolute_dynamic_req *a = dynamic_cast (r); return loudness_ == a->loudness_; } @@ -449,7 +449,7 @@ Absolute_dynamic_req::Absolute_dynamic_req () bool Span_dynamic_req::do_equal_b (Request *req) const { - Span_dynamic_req * s = req->access_Musical_req ()->access_Span_dynamic_req (); + Span_dynamic_req * s = dynamic_cast (req); return Span_req::do_equal_b (req) && s->dynamic_dir_ == dynamic_dir_; } diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc index 9f7e8c7fb3..f3cdf87aba 100644 --- a/lily/my-lily-parser.cc +++ b/lily/my-lily-parser.cc @@ -240,22 +240,22 @@ My_lily_parser::get_parens_request (int t) switch (t) { case BEAMPLET: - reqs.top ()->access_Span_req ()->spantype = Span_req::START; + dynamic_cast (reqs.top ())->spantype = Span_req::START; /* fall through */ case '<': case '>': case '(': case '[': case PLET: - reqs[0]->access_Span_req ()->spantype = Span_req::START; + dynamic_cast (reqs.top ())->spantype = Span_req::START; break; case MAEBTELP: - reqs.top ()->access_Span_req ()->spantype = Span_req::STOP; + dynamic_cast (reqs.top ())->spantype = Span_req::STOP; /* fall through */ case '!': case ')': case ']': - reqs[0]->access_Span_req ()->spantype = Span_req::STOP; + dynamic_cast (reqs[0])->spantype = Span_req::STOP; break; default: @@ -263,9 +263,9 @@ My_lily_parser::get_parens_request (int t) } for (int i = 0; i < reqs.size (); i++) - if (reqs[i]->access_Musical_req ()->access_Span_dynamic_req ()) + if (dynamic_cast (reqs[i])) { - Span_dynamic_req* s_l= reqs[i]->access_Musical_req ()->access_Span_dynamic_req (); + Span_dynamic_req* s_l= dynamic_cast (reqs[i]); s_l->dynamic_dir_ = (t == '<') ? UP:DOWN; } diff --git a/lily/note-performer.cc b/lily/note-performer.cc index 12c8601da3..5f8923c284 100644 --- a/lily/note-performer.cc +++ b/lily/note-performer.cc @@ -32,7 +32,7 @@ void Note_performer::do_process_requests () { // this is _really_ braindead, but it generates some output - if (!note_req_l_ || !note_req_l_->access_Melodic_req () || !note_req_l_->access_Rhythmic_req ()) + if (!note_req_l_ || !dynamic_cast (note_req_l_) || !dynamic_cast (note_req_l_)) return; int transposing_i = 0; @@ -53,10 +53,10 @@ Note_performer::do_try_request (Request* req_l) if (note_req_l_) return false; - if (!req_l->access_Musical_req () || !req_l->access_Musical_req ()->access_Note_req ()) - return false; - - note_req_l_ = req_l->access_Musical_req ()->access_Melodic_req (); - - return true; + if (Note_req *nr = dynamic_cast (req_l)) + { + note_req_l_ = nr; + return true; + } + return false; } diff --git a/lily/p-score.cc b/lily/p-score.cc index 2dbc75925b..be107cd929 100644 --- a/lily/p-score.cc +++ b/lily/p-score.cc @@ -21,11 +21,7 @@ #include "word-wrap.hh" #include "gourlay-breaking.hh" #include "paper-stream.hh" -#include "ps-stream.hh" -#include "tex-stream.hh" #include "paper-outputter.hh" -#include "ps-outputter.hh" -#include "tex-outputter.hh" #include "file-results.hh" #include "misc.hh" @@ -151,7 +147,7 @@ Paper_score::set_breaking (Array const &breaking) } for (iter (elem_p_list_.top (),i); i.ok () ;) { - Item *i_l =i->access_Item (); + Item *i_l =dynamic_cast (i); if (i_l && !i_l->line_l ()) { i_l->unlink (); @@ -210,8 +206,8 @@ Paper_score::process () Array breaking = calc_breaking (); - Paper_stream* paper_stream_p = global_lookup_l->paper_stream_p (); - outputter_l_ = global_lookup_l->paper_outputter_p (paper_stream_p, paper_l_, header_l_, origin_str_); + Paper_stream* paper_stream_p = paper_l_->paper_stream_p (); + outputter_l_ = paper_l_->paper_outputter_p (paper_stream_p, header_l_, origin_str_); Link_array lines; for (int i=0; i < breaking.size (); i++) @@ -324,10 +320,10 @@ Paper_score::broken_col_range (Item const*l_item_l, Item const*r_item_l) const Item const*r=r_item_l; while (! l->is_type_b(Paper_column::static_name ())) - l = l->axis_group_l_a_[X_AXIS]->access_Score_element ()->access_Item (); + l = dynamic_cast (l->axis_group_l_a_[X_AXIS]); while (! r->is_type_b(Paper_column::static_name ())) - r = r->axis_group_l_a_[X_AXIS]->access_Score_element ()->access_Item (); + r = dynamic_cast(r->axis_group_l_a_[X_AXIS]); PCursor start (l ? find_col ((Paper_column*)l)+1 : col_p_list_.top ()); PCursor stop (r ? find_col ((Paper_column*)r) : col_p_list_.bottom ()); diff --git a/lily/plet-swallow-engraver.cc b/lily/plet-swallow-engraver.cc index 0e98605b6c..47da034354 100644 --- a/lily/plet-swallow-engraver.cc +++ b/lily/plet-swallow-engraver.cc @@ -15,7 +15,5 @@ ADD_THIS_TRANSLATOR(Plet_swallow_engraver); bool Plet_swallow_engraver::do_try_request (Request* req_l) { - if (req_l && req_l->access_Musical_req () && req_l->access_Musical_req ()->access_Plet_req ()) - return true; - return false; + return dynamic_cast (req_l); } diff --git a/lily/score-element.cc b/lily/score-element.cc index b92945e285..cbaadfc4f4 100644 --- a/lily/score-element.cc +++ b/lily/score-element.cc @@ -9,7 +9,6 @@ #include -#include "tex-outputter.hh" #include "p-score.hh" #include "paper-def.hh" #include "lookup.hh" @@ -22,6 +21,7 @@ #include "p-col.hh" #include "molecule.hh" #include "misc.hh" +#include "paper-outputter.hh" #define PARANOID @@ -291,17 +291,17 @@ Score_element::handle_broken_dependencies() Score_element * elt = dependency (i); if (elt->line_l() != line) { - if (elt->access_Spanner ()) + if (dynamic_cast (elt)) { - Spanner * sp = elt->access_Spanner (); + Spanner * sp = dynamic_cast (elt); Spanner * broken = sp->find_broken_piece (line); substitute_dependency (sp, broken); add_dependency (broken); } - else if (elt->access_Item ()) + else if (dynamic_cast (elt)) { - Item * my_item = elt->access_Item ()->find_prebroken_piece (line); + Item * my_item = dynamic_cast (elt)->find_prebroken_piece (line); substitute_dependency (elt, my_item); if (my_item) @@ -338,11 +338,11 @@ Score_element::handle_prebroken_dependencies() for (int i=0; i < dependency_size(); i++) { Score_element * elt = dependency (i); - Item *it_l = elt->access_Item (); + Item *it_l = dynamic_cast (elt); if (it_l && it_l->breakable_b_) - if (access_Item ()) + if (Item *me = dynamic_cast (this) ) { - Score_element *new_l = it_l->find_prebroken_piece (access_Item ()->break_status_dir_); + Score_element *new_l = it_l->find_prebroken_piece (me->break_status_dir_); if (new_l != elt) { new_arr.push (new_l); diff --git a/lily/score-priority-engraver.cc b/lily/score-priority-engraver.cc index 310e44e101..3de5ea9f00 100644 --- a/lily/score-priority-engraver.cc +++ b/lily/score-priority-engraver.cc @@ -35,7 +35,7 @@ Score_priority_engraver::do_pre_move_processing() void Score_priority_engraver::acknowledge_element (Score_element_info inf) { - Item * item_l = inf.elem_l_->access_Item (); + Item * item_l = dynamic_cast (inf.elem_l_); if (item_l && item_l->breakable_b_ && !item_l->empty_b ()) { /* @@ -68,7 +68,7 @@ Score_priority_engraver::acknowledge_element (Score_element_info inf) */ if (unbound_elem->axis_group_l_a_[X_AXIS] == hg) return; - unbound_elem = unbound_elem->axis_group_l_a_[X_AXIS]->access_Score_element (); + unbound_elem = dynamic_cast (unbound_elem->axis_group_l_a_[X_AXIS]); } hg->add_element (unbound_elem); diff --git a/lily/script-engraver.cc b/lily/script-engraver.cc index 671ca17e38..f27577e44b 100644 --- a/lily/script-engraver.cc +++ b/lily/script-engraver.cc @@ -21,7 +21,7 @@ Script_engraver::Script_engraver() bool Script_engraver::do_try_request (Request *r_l) { - if (!r_l->access_Musical_req () || ! r_l->access_Musical_req ()->access_Musical_script_req ()) + if (!dynamic_cast (r_l)) return false ; for (int i=0; i < script_req_l_arr_.size(); i++) @@ -29,7 +29,7 @@ Script_engraver::do_try_request (Request *r_l) if (r_l->equal_b (script_req_l_arr_[i])) return true; } - script_req_l_arr_.push (r_l->access_Script_req ()); + script_req_l_arr_.push (dynamic_cast (r_l)); return true; } diff --git a/lily/spanner.cc b/lily/spanner.cc index 0a1a74e5bd..83ad5f2091 100644 --- a/lily/spanner.cc +++ b/lily/spanner.cc @@ -10,8 +10,8 @@ #include "spanner.hh" #include "p-col.hh" #include "p-score.hh" -#include "tex-outputter.hh" #include "molecule.hh" +#include "paper-outputter.hh" IMPLEMENT_IS_TYPE_B1(Spanner,Score_element); @@ -53,7 +53,7 @@ Spanner::break_into_pieces () for (int i=1; i < break_cols.size(); i++) { - Spanner* span_p = clone()->access_Spanner (); + Spanner* span_p = dynamic_cast (clone()); Item *left = break_cols[i-1]; Item *right = break_cols[i]; if (!right->line_l()) diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index 8fa6d56761..e21c8c9012 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -38,10 +38,10 @@ Stem_engraver::acknowledge_element(Score_element_info i) { if (i.elem_l_->is_type_b (Rhythmic_head::static_name())) { - Rhythmic_head *h = (Rhythmic_head*) i.elem_l_->access_Item (); + Rhythmic_head *h = (Rhythmic_head*) dynamic_cast (i.elem_l_); if (!stem_p_) { - Rhythmic_req * r = i.req_l_->access_Musical_req ()->access_Rhythmic_req (); + Rhythmic_req * r = dynamic_cast (i.req_l_); stem_p_ = new Stem; int durlog_i = r->duration_.durlog_i_; stem_p_->flag_i_ = durlog_i; @@ -103,11 +103,11 @@ Stem_engraver::do_pre_move_processing() bool Stem_engraver::do_try_request (Request* r) { - Musical_req* mus_l = r->access_Musical_req (); + Musical_req* mus_l = dynamic_cast (r); if (!mus_l) return false; - Abbreviation_req* a = mus_l->access_Abbreviation_req (); + Abbreviation_req* a = dynamic_cast (mus_l); if (!a) return false; diff --git a/lily/ties-engraver.cc b/lily/ties-engraver.cc index 9ed1ef3b04..f79dab5ac9 100644 --- a/lily/ties-engraver.cc +++ b/lily/ties-engraver.cc @@ -28,15 +28,15 @@ Ties_engraver::do_post_move_processing() bool Ties_engraver::do_try_request (Request*req) { - if (! req->access_Musical_req ()) + if (! dynamic_cast (req)) return false; - Tie_req * r= req->access_Musical_req ()->access_Tie_req (); - if (!r) - return false; - - req_l_ = r; - return true; + if(Tie_req * r= dynamic_cast (req)) + { + req_l_ = r; + return true; + } + return false; } @@ -47,8 +47,8 @@ Ties_engraver::acknowledge_element (Score_element_info i) return; if (i.elem_l_->is_type_b (Note_head::static_name ())) { - Note_head * h = (Note_head*)i.elem_l_->access_Item (); - Melodic_req *m = i.req_l_->access_Musical_req ()->access_Melodic_req (); + Note_head * h = dynamic_cast (i.elem_l_); + Melodic_req *m = dynamic_cast (i.req_l_); head_mel_tuple_arr_.push (Head_melodic_tuple (h, m)); } diff --git a/lily/time-signature-performer.cc b/lily/time-signature-performer.cc index df41bf56b0..6440550170 100644 --- a/lily/time-signature-performer.cc +++ b/lily/time-signature-performer.cc @@ -45,8 +45,8 @@ Time_signature_performer::do_try_request (Request* req_l) if (time_signature_req_l_) return false; - if (req_l->access_Command_req ()) - time_signature_req_l_ = req_l->access_Command_req ()->access_Time_signature_change_req (); + if (dynamic_cast (req_l)) + time_signature_req_l_ = dynamic_cast (req_l); if (time_signature_req_l_) return true; diff --git a/lily/translator-group.cc b/lily/translator-group.cc index 77d0f18b6e..5d9a3e31fb 100644 --- a/lily/translator-group.cc +++ b/lily/translator-group.cc @@ -88,7 +88,7 @@ Translator_group::removable_b() const { for (PCursor i (trans_p_list_.top ()); i.ok (); i++) { - if (i->access_Translator_group ()) + if (dynamic_cast (i.ptr ())) return false; } @@ -118,9 +118,9 @@ Translator_group::path_to_acceptable_translator (String type) const for (int i=0; i < accepts_str_arr_.size (); i++) { Translator *t = output_def_l ()->find_translator_l (accepts_str_arr_[i]); - if (!t || !t->access_Translator_group ()) + if (!t || !dynamic_cast (t)) continue; - accepted_arr.push (t->access_Translator_group ()); + accepted_arr.push (dynamic_cast (t)); } @@ -166,7 +166,7 @@ Translator_group::find_create_translator_l (String n, String id) // start at 1. The first one (index 0) will be us. for (int i=0; i < path.size (); i++) { - Translator_group * new_group = path[i]->clone ()->access_Translator_group (); + Translator_group * new_group = dynamic_cast(path[i]->clone ()); current->add_translator (new_group); current = new_group; } @@ -221,8 +221,8 @@ Translator_group::group_l_arr () const Link_array groups; for (PCursor i (trans_p_list_.top ()); i.ok (); i++) { - if (i->access_Translator_group ()) - groups.push (i->access_Translator_group ()); + if (dynamic_cast (i.ptr ())) + groups.push (dynamic_cast (i.ptr ())); } return groups; } @@ -233,7 +233,7 @@ Translator_group::nongroup_l_arr () const Link_array groups; for (PCursor i (trans_p_list_.top ()); i.ok (); i++) { - if (!i->access_Translator_group ()) + if (!dynamic_cast (i.ptr ())) groups.push (i.ptr ()); } return groups; @@ -300,7 +300,7 @@ Translator_group::get_default_interpreter() warning (_f ("can't find or create `%s\'", accepts_str_arr_[0])); t = this; } - Translator_group * g= t->clone ()->access_Translator_group (); + Translator_group * g= dynamic_cast (t->clone ()); add_translator (g); if (!g->is_bottom_translator_b ())