]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/music-sequence.hh
* flower
[lilypond.git] / lily / include / music-sequence.hh
1 /*
2   music-sequence.hh -- declare Music_sequence
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2000--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9 #ifndef MUSIC_SEQUENCE_HH
10 #define MUSIC_SEQUENCE_HH
11
12 #include "music.hh"
13
14 struct Music_sequence
15 {
16 public:
17   DECLARE_SCHEME_CALLBACK (cumulative_length_callback, (SCM));
18   DECLARE_SCHEME_CALLBACK (maximum_length_callback, (SCM));
19   DECLARE_SCHEME_CALLBACK (minimum_start_callback, (SCM));
20   DECLARE_SCHEME_CALLBACK (first_start_callback, (SCM));
21   DECLARE_SCHEME_CALLBACK (simultaneous_relative_callback, (SCM, SCM));
22   DECLARE_SCHEME_CALLBACK (event_chord_relative_callback, (SCM, SCM));
23
24   Pitch do_relative_octave (Pitch p, bool b);
25
26   static Moment cumulative_length (SCM);
27   static Moment maximum_length (SCM);
28   static Moment first_start (SCM list);
29   static Moment minimum_start (SCM list);
30 };
31
32 SCM ly_transpose_key_alist (SCM l, SCM pit);
33 Pitch music_list_to_relative (SCM l, Pitch p, bool ret_first);
34 void transpose_music_list (SCM, Pitch);
35 void compress_music_list (SCM, Moment);
36
37 #endif