From: fred Date: Sun, 24 Mar 2002 19:33:28 +0000 (+0000) Subject: lilypond-0.0.35 X-Git-Tag: release/1.5.59~5291 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=3d35b31e6a94aa2ffb2d4eddac515653425ac9e3;p=lilypond.git lilypond-0.0.35 --- diff --git a/hdr/request.hh b/hdr/request.hh index bf94d1a02e..63929a923b 100644 --- a/hdr/request.hh +++ b/hdr/request.hh @@ -56,7 +56,7 @@ struct Request { virtual Spacing_req * spacing() { return 0; } virtual Blank_req * blank() { return 0; } virtual Musical_req *musical() { return 0; } - virtual Nonmusical_req * nonmus() { return 0; } + virtual Command_req * command() { return 0; } protected: virtual void do_print()const ; }; diff --git a/src/barreg.cc b/src/barreg.cc index 9a10f913b5..f0b32fd3df 100644 --- a/src/barreg.cc +++ b/src/barreg.cc @@ -10,7 +10,7 @@ #include "bar.hh" #include "commandrequest.hh" #include "complexwalker.hh" -#include "sccol.hh" +#include "scorecolumn.hh" Bar_register::Bar_register(Complex_walker*w) @@ -22,11 +22,11 @@ Bar_register::Bar_register(Complex_walker*w) bool Bar_register::try_request(Request*r_l) { - if (!r_l->nonmus()->bar()) + if (!r_l->command()->bar()) return false; assert(!bar_req_l_); - bar_req_l_ = r_l->nonmus()->bar(); + bar_req_l_ = r_l->command()->bar(); return true; } diff --git a/src/keyreg.cc b/src/keyreg.cc index 963ebaf649..197a8f6b31 100644 --- a/src/keyreg.cc +++ b/src/keyreg.cc @@ -13,7 +13,7 @@ #include "keyitem.hh" #include "complexwalker.hh" #include "commandrequest.hh" -#include "stcol.hh" +#include "staffcolumn.hh" #include "localkeyreg.hh" #include "musicalrequest.hh" @@ -27,15 +27,25 @@ Key_register::Key_register(Complex_walker*w) bool Key_register::try_request(Request * req_l) { - if (!req_l->nonmus()->keychange()) + if (!req_l->command()->keychange()) return false; assert(!keyreq_l_); // todo - keyreq_l_ = req_l->nonmus()->keychange(); + keyreq_l_ = req_l->command()->keychange(); read_req(keyreq_l_); - walk_l_->local_key_reg_p_->local_key_.reset(key_); // ugh return true; } +void +Key_register::acknowledge_element(Staff_elem_info info) +{ + Command_req * r_l = info.req_l_->command() ; + if (r_l && r_l->clefchange() && !kit_p_) { + kit_p_ = new Key_item(walk_l_->c0_position_i()); + kit_p_->read(*this); + announce_element(Staff_elem_info(kit_p_, keyreq_l_, this)); + } +} + void Key_register::process_request() { @@ -46,7 +56,7 @@ Key_register::process_request() default_key_b_ = true; } - if (default_key_b_ || keyreq_l_) { + if ( default_key_b_ || keyreq_l_) { kit_p_ = new Key_item(walk_l_->c0_position_i()); kit_p_->read(*this); announce_element(Staff_elem_info(kit_p_, keyreq_l_, this)); @@ -57,7 +67,7 @@ void Key_register::do_pre_move_process() { if (kit_p_) { - if (default_key_b_) + if (default_key_b_) typeset_breakable_item(0,0,kit_p_); else typeset_breakable_item( @@ -85,6 +95,4 @@ Key_register::do_post_move_process() keyreq_l_ = 0; default_key_b_ = false; kit_p_ = 0; - if (!walk_l_->time_.whole_in_measure_) - walk_l_->local_key_reg_p_->local_key_.reset(key_); // ugh } diff --git a/src/meterreg.cc b/src/meterreg.cc index e7d8b8e973..3aab0fb291 100644 --- a/src/meterreg.cc +++ b/src/meterreg.cc @@ -19,11 +19,11 @@ Meter_register::Meter_register(Complex_walker*w) bool Meter_register::try_request(Request*r_l) { - if (!r_l->nonmus()->meterchange()) + if (!r_l->command()->meterchange()) return false; assert(!meter_req_l_); - meter_req_l_ = r_l->nonmus()->meterchange(); + meter_req_l_ = r_l->command()->meterchange(); return true; }