}
else
{
- key_C_ = &((Key_engraver*)result->access_Engraver ())->key_;
+ key_C_ = &((Key_engraver*)dynamic_cast <Engraver *> (result))->key_;
local_key_ = *key_C_;
}
}
Local_key_engraver::acknowledge_element (Score_element_info info)
{
Score_element * elem_l = info.elem_l_;
- Item * item_l = elem_l->access_Item();
+ Item * item_l = dynamic_cast <Item *> (elem_l);
- Note_req * note_l = (info.req_l_->access_Musical_req ())
- ? info.req_l_->access_Musical_req ()->access_Note_req () : 0;
+ Note_req * note_l = dynamic_cast <Note_req *> (info.req_l_);
if (note_l && item_l && item_l->is_type_b (Note_head::static_name ()))
{
mel_l_arr_.push (note_l);
support_l_arr_.push (item_l);
}
- else if (info.req_l_->access_Command_req ()
- && info.req_l_->access_Command_req ()->access_Key_change_req () && key_C_)
+ else if (dynamic_cast <Key_change_req*> (info.req_l_))
{
local_key_ = *key_C_;
}
else if (elem_l->is_type_b (Tie::static_name ()))
{
- Tie * tie_l = (Tie*)elem_l->access_Spanner ();
+ Tie * tie_l = (Tie*)dynamic_cast <Spanner *> (elem_l);
if (tie_l->same_pitch_b_)
tied_l_arr_.push (tie_l-> head_l_drul_[RIGHT]);
}