]> git.donarmstrong.com Git - lilypond.git/blob - mi2mu/include/mudela-score.hh
release: 1.0.1
[lilypond.git] / mi2mu / 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 "plist.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
34 private:
35     void filter_tempo();
36     void quantify_columns();
37     void quantify_durations();
38     void settle_columns();
39
40     Pointer_list<Mudela_staff*> mudela_staff_p_list_;
41    // wants Pointer_array!
42 //    Pointer_list<Mudela_column*> mudela_column_p_list_;
43     Link_array<Mudela_column> column_l_array_;
44
45 // ugh, ugh, ugh
46 public:
47     int format_i_;
48     int tracks_i_;
49     int tempo_i_;
50 };
51
52 #endif // MUDELA_SCORE_HH
53