]> git.donarmstrong.com Git - lilypond.git/blob - midi2ly/include/lilypond-score.hh
d8996e82f0dbede903cbca21085b3d4953c81f14
[lilypond.git] / midi2ly / include / lilypond-score.hh
1 //
2 // lilypond-score.hh -- declare Lilypond_score
3 //
4 // (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
5
6 #ifndef LILYPOND_SCORE_HH
7 #define LILYPOND_SCORE_HH
8
9 #include "midi2ly-proto.hh"
10 #include "flower-proto.hh"
11 #include "cons.hh"
12 #include "parray.hh"
13
14 /// (lilypond_score)
15 class Lilypond_score {
16 public:
17   Lilypond_score (int format_i, int tracks_i, int tempo_i);
18   ~Lilypond_score ();
19
20   void add_item (Lilypond_item* lilypond_item_p);
21   void add_staff (Lilypond_staff* lilypond_staff_p);
22
23   Lilypond_column* find_column_l (Rational mom);
24   Lilypond_column* get_column_l (Rational mom);
25
26   void output (String filename_str);
27   void process ();
28
29   // ugh
30   Lilypond_key* lilypond_key_l_;
31   Lilypond_time_signature* lilypond_time_signature_l_;
32   Lilypond_tempo* lilypond_tempo_l_;
33   Lilypond_staff * last_staff_l_;
34 private:
35   void filter_tempo ();
36   void quantify_columns ();
37   void quantify_durations ();
38   void settle_columns ();
39
40   Cons_list<Lilypond_staff> lilypond_staff_p_list_;
41   Link_array<Lilypond_column> column_l_array_;
42
43   // ugh, ugh, ugh
44 public:
45   int format_i_;
46   int tracks_i_;
47   int tempo_i_;
48 };
49
50 #endif // LILYPOND_SCORE_HH
51