2 music-list.hh -- declare Music_list, Chord and Voice
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
18 Music can be a list of other "Music" elements
20 class Music_list : public Music {
25 /// what kind of iterator needed to walk this music?
28 /// what name (or look for this name)
30 Music_list(Music_list const&);
33 VIRTUAL_COPY_CONS(Music_list,Music);
34 virtual void add(Music*);
35 virtual void transpose(Melodic_req const *);
37 Pointer_list<Music*> music_p_list_;
40 virtual void do_print() const;
44 Chord is a list of music-elements which happen simultaneously
47 class Chord : public Music_list {
51 VIRTUAL_COPY_CONS(Chord,Music);
52 virtual void translate(Moment dt);
53 virtual MInterval time_int()const;
56 class Request_chord : public Chord {
60 VIRTUAL_COPY_CONS(Request_chord,Music);
64 Voice is a list of music-elements which are placed behind each other.
66 class Voice : public Music_list {
73 VIRTUAL_COPY_CONS(Voice, Music);
74 virtual void translate(Moment dt);
75 virtual MInterval time_int()const;
78 /** A simple piece of music, which wishes to change the spot of its
80 class Change_reg : public Music {
83 /// what kind of iterator needed to walk this music?
86 /// what name (or look for this name)
90 VIRTUAL_COPY_CONS(Change_reg, Music);
92 #endif // MUSIC_LIST_HH