]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/music-sequence.hh
release: 1.5.29
[lilypond.git] / lily / include / music-sequence.hh
1
2
3 /*   
4   music-sequence.hh -- declare 
5   
6   source file of the GNU LilyPond music typesetter
7   
8   (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9   
10  */
11
12 #ifndef MUSIC_SEQUENCE_HH
13 #define MUSIC_SEQUENCE_HH
14 #include "music.hh"
15 /**
16   Music can be a list of other "Music" elements
17  */
18 class Music_sequence : public Music
19 {
20 public:
21   Music_sequence (SCM h);
22   Music_sequence ();
23   SCM music_list () const;
24   void append_music (Music *);
25   VIRTUAL_COPY_CONS (Music);
26   
27   Pitch do_relative_octave (Pitch p, bool b);
28   static void transpose_list (SCM , Pitch);
29   static void compress_list (SCM, Moment);
30   
31   virtual void transpose (Pitch );
32   virtual void compress (Moment);
33
34   static Moment cumulative_length (SCM) ;
35   static Moment maximum_length (SCM) ;
36   static Moment first_start (SCM list) ;
37   static Moment minimum_start (SCM list);
38   
39 protected:
40   virtual Pitch to_relative_octave (Pitch);
41 };
42 #endif