]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/new-repeated-music.hh
release: 1.1.42
[lilypond.git] / lily / include / new-repeated-music.hh
1 /*   
2   new-repeated-music.hh -- declare New_repeated_music
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9
10 #ifndef NEW_REPEATED_MUSIC_HH
11 #define NEW_REPEATED_MUSIC_HH
12
13 #include "music.hh"
14
15 class New_repeated_music : public Music
16 {
17 public:
18   bool unfold_b_;
19   int repeats_i_;
20
21   Music * repeat_begin_p_;
22   Music_sequence * alternatives_p_;
23
24   virtual Musical_pitch to_relative_octave (Musical_pitch);
25
26   /// The duration of this piece of music
27   virtual Moment length_mom () const;
28
29
30   void print() const;
31   /// Transpose, with the interval central C to #p#
32   virtual void transpose (Musical_pitch p);
33
34   /// Scale the music in time by #factor#.
35   virtual void compress (Moment factor);
36   VIRTUAL_COPY_CONS(Music);
37
38   New_repeated_music ();
39   New_repeated_music (New_repeated_music const&);
40   ~New_repeated_music ();
41 protected:
42   virtual void do_print() const;
43
44 };
45
46
47 #endif /* NEW_REPEATED_MUSIC_HH */