]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/music-sequence.hh
Run `make grand-replace'.
[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--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9 #ifndef MUSIC_SEQUENCE_HH
10 #define MUSIC_SEQUENCE_HH
11
12 #include "pitch.hh"
13 #include "moment.hh"
14 #include "lily-guile.hh"
15
16 struct Music_sequence
17 {
18 public:
19   DECLARE_SCHEME_CALLBACK (cumulative_length_callback, (SCM));
20   DECLARE_SCHEME_CALLBACK (maximum_length_callback, (SCM));
21   DECLARE_SCHEME_CALLBACK (minimum_start_callback, (SCM));
22   DECLARE_SCHEME_CALLBACK (first_start_callback, (SCM));
23   DECLARE_SCHEME_CALLBACK (simultaneous_relative_callback, (SCM, SCM));
24   DECLARE_SCHEME_CALLBACK (event_chord_relative_callback, (SCM, SCM));
25
26   Pitch do_relative_octave (Pitch p, bool b);
27
28   static Moment cumulative_length (SCM);
29   static Moment maximum_length (SCM);
30   static Moment first_start (SCM list);
31   static Moment minimum_start (SCM list);
32 };
33
34 SCM ly_transpose_key_alist (SCM l, SCM pit);
35 Pitch music_list_to_relative (SCM l, Pitch p, bool ret_first);
36 void transpose_music_list (SCM, Pitch);
37 void compress_music_list (SCM, Moment);
38
39 #endif