]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/voice-element.hh
release: 0.0.46.jcn1
[lilypond.git] / lily / include / voice-element.hh
1 /*
2   voice-element.hh -- declare Voice_element
3
4   source file of the LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef VOICE_ELEMENT_HH
11 #define VOICE_ELEMENT_HH
12
13 #include "proto.hh"
14 #include "plist.hh"
15 #include "moment.hh"
16 #include "input.hh"
17
18 /** one horizontal bit.  Voice_element is nothing but a container for
19     *the requests, */
20 class Voice_element : public Input{
21 public:
22     /** the duration of the element.  This can be 0; The duration is
23       determined from rhythmical requests contained in this
24       Voice_element */
25     Moment duration_;
26     Voice const *voice_C_;
27     IPointerList<Request*> reqs;
28
29     /* *************** */
30     void transpose(Melodic_req const &)const;
31     Voice_element();
32     Voice_element(Voice_element const & src );
33
34     void add(Request*);
35     bool find_plet_start_b(char c, Moment& moment_r);
36     void print ()const;
37     void set_default_group(String id);
38     void set_plet_backwards(Moment& now_moment_r, Moment until_moment, int num_i, int den_i);
39 };
40
41 #endif // VOICE-ELEMENT_HH