From: fred Date: Sun, 24 Mar 2002 19:47:23 +0000 (+0000) Subject: lilypond-0.0.74pre X-Git-Tag: release/1.5.59~4495 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=1142e28ae4d2045723dce8627765e85728f29617;p=lilypond.git lilypond-0.0.74pre --- diff --git a/init/table16.ini b/init/table16.ini index 6d202aa420..d09a275b72 100644 --- a/init/table16.ini +++ b/init/table16.ini @@ -111,6 +111,9 @@ table_sixteen= "1" "\wholerest" 0.0\pt 6.0\pt 0.0\pt 2.0\pt "2" "\halfrest" 0.0\pt 6.0\pt -2.0\pt 0.0\pt "2o" "\outsidehalfrest" 0.0\pt 6.0\pt -2.0\pt 0.0\pt + "4o" "\quartrest" -5.0\pt 2.0\pt -5.0\pt 5.0\pt + "8o" "\eighthrest" 0.0\pt 5.0\pt 0.0\pt 8.0\pt + "16o" "\sixteenthrest" 0.0\pt 6.0\pt 0.0\pt 12.0\pt "4" "\quartrest" -5.0\pt 2.0\pt -5.0\pt 5.0\pt "8" "\eighthrest" 0.0\pt 5.0\pt 0.0\pt 8.0\pt "16" "\sixteenthrest" 0.0\pt 6.0\pt 0.0\pt 12.0\pt diff --git a/lily/music-iterator.cc b/lily/music-iterator.cc index c7d6509b97..38cfd02349 100644 --- a/lily/music-iterator.cc +++ b/lily/music-iterator.cc @@ -26,7 +26,7 @@ Music_iterator::print() const { #ifndef NPRINT mtor << name() << "{"; - mtor << "report to " << report_to_l_ << " (" << report_to_l_->name() << ")\n"; + mtor << "report to " << report_to_l() << " (" << report_to_l()->name() << ")\n"; mtor << "next at " << next_moment() << " "; do_print(); mtor << "}\n"; @@ -36,27 +36,48 @@ Music_iterator::print() const Translator* Music_iterator::get_req_translator_l() { - assert(report_to_l_); - if (report_to_l_->is_bottom_engraver_b() ) - return report_to_l_; + assert(report_to_l()); + if (report_to_l()->is_bottom_engraver_b() ) + return report_to_l(); - set_translator( report_to_l_->get_default_interpreter() ); - return report_to_l_; + set_translator( report_to_l()->get_default_interpreter() ); + return report_to_l(); } void -Music_iterator::set_translator(Translator*reg) -{ - if (report_to_l_==reg) - return; +Music_iterator::push_translator(Translator*t) +{ + if (t) { + report_to_l_arr_.push(t); + t->iterator_count_ ++; + } +} + +void +Music_iterator::pop_translator() +{ + if (report_to_l()) { + report_to_l()->iterator_count_ --; + report_to_l_arr_.pop(); + } +} - if (report_to_l_) - report_to_l_->iterator_count_ --; +Translator* +Music_iterator::report_to_l()const +{ + if (! report_to_l_arr_.size() ) + return 0; + return report_to_l_arr_.top(); +} - report_to_l_ = reg; - - if (report_to_l_) - report_to_l_->iterator_count_ ++; + +void +Music_iterator::set_translator(Translator*reg) +{ + if (report_to_l()==reg) + return; + pop_translator(); + push_translator(reg); } void @@ -115,7 +136,7 @@ Music_iterator::static_get_iterator_p(Music *m, } } - if (! p->report_to_l_ ) + if (! p->report_to_l() ) p ->set_translator(report_l); return p; @@ -124,7 +145,7 @@ Music_iterator::static_get_iterator_p(Music *m, Music_iterator* Music_iterator::get_iterator_p(Music*m)const { - Music_iterator*p = static_get_iterator_p(m,report_to_l_); + Music_iterator*p = static_get_iterator_p(m,report_to_l()); p->daddy_iter_l_ = (Music_iterator*)this; p->construct_children(); return p; @@ -133,7 +154,6 @@ Music_iterator::get_iterator_p(Music*m)const Music_iterator::Music_iterator() { daddy_iter_l_ =0; - report_to_l_ = 0; first_b_ = true; } @@ -151,7 +171,7 @@ Chord_iterator::construct_children() for(iter(chord_C_->music_p_list_.top(), i); i.ok(); j++, i++) { Music_iterator * mi = get_iterator_p( i.ptr()); - set_translator(mi->report_to_l_->ancestor_l( chord_C_->multi_level_i_ )); + set_translator(mi->report_to_l()->ancestor_l( chord_C_->multi_level_i_ )); if ( mi->ok() ) children_p_list_.bottom().add( mi ); else @@ -227,8 +247,8 @@ Voice_iterator::construct_children() { if (ok()) { iter_p_ = Music_iterator::get_iterator_p( ptr() ); - if (iter_p_->report_to_l_->depth_i() > report_to_l_->depth_i()) - set_translator(iter_p_->report_to_l_); + if (iter_p_->report_to_l()->depth_i() > report_to_l()->depth_i()) + set_translator(iter_p_->report_to_l()); } } @@ -300,7 +320,7 @@ void Request_iterator::process_and_next(Moment m) { if ( first_b_ ) { - bool gotcha = daddy_iter_l_->report_to_l_->try_request(req_l_); + bool gotcha = daddy_iter_l_->report_to_l()->try_request(req_l_); if (!gotcha) req_l_->warning("Junking request: " + String(req_l_->name())); first_b_ = false; @@ -346,12 +366,15 @@ void Change_iterator::process_and_next(Moment mom) { #if 0 + if ( id[0] == '-') { + + Engraver_group_engraver *group_l = - report_to_l_->find_get_grav_l(change_l_->type_str_, - change_l_->id_str_); + report_to_l()->find_get_translator_l(change_l_->type_str_, + change_l_->id_str_); - report_to_l_->daddy_grav_l_->remove_engraver_p(report_to_l_); - group_l->add(report_to_l_); + report_to_l()->daddy_grav_l_->remove_engraver_p(report_to_l()); + group_l->add(report_to_l()); #endif Music_iterator::process_and_next(mom); } diff --git a/lily/rest-column.cc b/lily/rest-column.cc index 219b83307b..a58e73846f 100644 --- a/lily/rest-column.cc +++ b/lily/rest-column.cc @@ -56,12 +56,14 @@ Rest_column::do_substitute_dependency(Score_elem*o,Score_elem*n) (n)? (Note_head*)n->item() : 0); } -/* - Are you sure. Horizontal_vertical_group_item::translate_y could handle this + +/** + translate the rest symbols */ void -Rest_column::translate_y(Real dy_f) +Rest_column::translate_heads(int dy_i) { for (int i=0; i < head_l_arr_.size(); i++) - head_l_arr_[i]->translate_y(dy_f); + head_l_arr_[i]->position_i_ += dy_i; } +