]> git.donarmstrong.com Git - lilypond.git/blob - mi2mu/include/mudela-staff.hh
partial: 0.1.8.jcn
[lilypond.git] / mi2mu / include / mudela-staff.hh
1 //
2 // mudela-staff.hh -- declare mudela_staff
3 //
4 // copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
5
6 #ifndef MUDELA_STAFF_HH
7 #define MUDELA_STAFF_HH
8
9 #include "mi2mu-proto.hh"
10 #include "proto.hh"
11 #include "plist.hh"
12 #include "string.hh"
13
14 /// (mudela_staff)
15 class Mudela_staff {
16 public:
17     Mudela_staff (int number_i, String copyright_str, String track_name_str, String instrument_str);
18     ~Mudela_staff();
19
20     void add_item (Mudela_item* mudela_item_p);
21     void eat_voice (Link_list<Mudela_item*>& items);
22     String id_str();
23     String name_str();
24     void output (Mudela_stream& mudela_stream_r);
25     void process();
26     void set_meter (int num_i, int den_i, int clocks_i, int count_32_i);
27     void set_tempo (int useconds_i);
28
29     String copyright_str_;
30     String instrument_str_;
31     String name_str_;
32     Mudela_meter* mudela_meter_p_;
33     Mudela_tempo* mudela_tempo_p_;
34     int number_i_;
35
36 private:
37     void output_mudela_begin_bar (Mudela_stream& mudela_stream_r, Moment now_mom, int bar_i);
38 #if 0
39     void output_mudela_rest (Mudela_stream& mudela_stream_r, Moment begin_mom, Moment end_mom);
40     void output_mudela_rest_remain (Mudela_stream& mudela_stream_r, Moment mom);
41 #endif
42
43     Pointer_list<Mudela_voice*> mudela_voice_p_list_;
44     Pointer_list<Mudela_item*> mudela_item_p_list_;
45 };
46
47 #endif // MUDELA_STAFF_HH
48