2 pulk-voices.cc -- implement Pulk_voice
4 source file of the LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
8 #include "pulk-voice.hh"
10 #include "musical-request.hh"
11 #include "voice-element.hh"
13 Pulk_voice::Pulk_voice(Voice*voice_l, int idx)
14 : cur_(voice_l->elts_)
16 elt_mom_ = voice_l->start_;
22 Pulk_voice::get_req_l_arr() return req_l_arr;
26 Moment sub = subtle_moment_priorities_[subtle_idx_];
27 for (PCursor<Request*> i(cur_->req_p_list_); i.ok(); i++) {
28 Musical_req* m_l = i->musical();
30 if (!(m_l && m_l->subtle() && m_l->subtle()->subtime_ ))
33 if (m_l && m_l->subtle() && m_l->subtle()->subtime_ == sub)
38 } while ( ok() && when () == w);
42 Pulk_voice::set_subtle()
46 subtle_moment_priorities_.set_size(0);
49 for (PCursor<Request*> i(cur_->req_p_list_); i.ok(); i++) {
50 Musical_req* m_l = i->musical();
51 if (m_l&&m_l->subtle()){
52 Moment sub = m_l->subtle()->subtime_;
53 subtle_moment_priorities_.insert(sub);
55 subtle_moment_priorities_.insert(0);
65 if (subtle_idx_ == subtle_moment_priorities_.size()) {
66 elt_mom_ += cur_->duration_;
73 Pulk_voice::when()const
75 return elt_mom_ + subtle_moment_priorities_[subtle_idx_];