]> git.donarmstrong.com Git - lilypond.git/blob - midi2ly/include/mudela-score.hh
8e75d028ccfdb7121fb7d5f31393059ec5bd78d4
[lilypond.git] / midi2ly / include / mudela-score.hh
1 //
2 // mudela-score.hh -- declare Mudela_score
3 //
4 // copyright 1997 Jan Nieuwenhuizen <janneke@gnu.org>
5
6 #ifndef MUDELA_SCORE_HH
7 #define MUDELA_SCORE_HH
8
9 #include "mi2mu-proto.hh"
10 #include "proto.hh"
11 #include "cons.hh"
12 #include "parray.hh"
13
14 /// (mudela_score)
15 class Mudela_score {
16 public:
17   Mudela_score (int format_i, int tracks_i, int tempo_i);
18   ~Mudela_score ();
19
20   void add_item (Mudela_item* mudela_item_p);
21   void add_staff (Mudela_staff* mudela_staff_p);
22
23   Mudela_column* find_column_l (Moment mom);
24   Mudela_column* get_column_l (Moment mom);
25
26   void output (String filename_str);
27   void process ();
28
29   // ugh
30   Mudela_key* mudela_key_l_;
31   Mudela_time_signature* mudela_time_signature_l_;
32   Mudela_tempo* mudela_tempo_l_;
33   Mudela_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<Mudela_staff> mudela_staff_p_list_;
41   Link_array<Mudela_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 // MUDELA_SCORE_HH
51