2 // mudela-item.hh -- declare mudela_item
4 // copyright 1997 Jan Nieuwenhuizen <janneke@gnu.org>
9 #include "mi2mu-proto.hh"
12 #include "duration.hh"
16 // * be Voice_elements/requests
17 // * get a name-change
24 Mudela_item (Mudela_column* mudela_column_l);
25 virtual ~Mudela_item ();
27 virtual Moment at_mom();
28 virtual Moment duration_mom();
29 void output (Mudela_stream& mudela_stream_r);
30 virtual String str() = 0;
32 Mudela_column* mudela_column_l_;
35 class Mudela_key : public Mudela_item
38 Mudela_key (int accidentals_i, int minor_i);
40 String notename_str (int pitch_i);
48 class Mudela_time_signature : public Mudela_item
51 Mudela_time_signature (int num_i, int den_i, int division_4_i, int count_32_i);
53 Duration i2_dur (int time_i, int division_1_i);
68 class Mudela_note : public Mudela_item
71 Mudela_note (Mudela_column* mudela_column_l, int channel_i, int pitch_i, int dyn_i);
74 virtual Moment duration_mom();
77 // int const c0_pitch_i_c_ = 60; // huh?
78 int const c0_pitch_i_c_ = 48;
80 static bool const simple_plet_b_s = false;
83 Mudela_column* end_column_l_;
86 class Mudela_skip : public Mudela_item
89 Mudela_skip (Mudela_column* mudela_column_l, Moment skip_mom);
92 virtual Moment duration_mom();
100 class Mudela_tempo : public Mudela_item
103 Mudela_tempo (int useconds_per_4_i);
105 int get_tempo_i (Moment moment);
106 virtual String str();
107 int useconds_per_4_i();
110 int useconds_per_4_i_;
111 Moment seconds_per_1_mom_;
114 class Mudela_text : public Mudela_item
118 TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC,
121 Mudela_text (Mudela_text::Type type, String str);
122 virtual String str();
129 #endif // MUDELA_ITEM_HH