4 #include "scriptdef.hh"
7 #include "inputcommand.hh"
9 #define VIRTUALCONS(T,R) R *T::clone() const { return new T(*this); } struct T
10 #define RCONS(T) VIRTUALCONS(T, Request)
25 RCONS(Staff_command_req);
28 Stem_req::print() const
34 Barcheck_req::print() const
42 Request::print() const
45 mtor << "Req{ unknown }\n";
50 Span_req::print() const
53 mtor << "Span_req {" << spantype << "}\n";
61 Request::Request(Request const&)
66 Melodic_req::Melodic_req()
75 Melodic_req::print() const
77 mtor << "note: " << name << " oct: "<< octave;
81 Melodic_req::height() const
83 return name + octave*7;
87 Rhythmic_req::Rhythmic_req()
95 Rhythmic_req::print() const
97 mtor << "rhythmic: " << balltype ;
102 mtor<<", plet factor"<<plet_factor<<"\n";
107 Rhythmic_req::duration() const {
108 return wholes(balltype,dots)*plet_factor;
112 Lyric_req::Lyric_req(Text_def* def_p)
115 def_p->align_i_ = 1; // raggedright
116 dir_i_ = -1; // lyrics below (invisible) staff
120 Lyric_req::print() const
123 Rhythmic_req::print();
128 Note_req::print() const
130 Melodic_req::print();
131 Rhythmic_req::print();
135 Rest_req::print() const
138 Rhythmic_req::print();
151 Script_req::Script_req(int d , Script_def*def)
157 Script_req::Script_req(Script_req const &s)
160 scriptdef = new Script_def(*s.scriptdef);
164 Script_req::print() const
166 mtor << " dir " << dir ;
171 Script_req::~Script_req()
177 Text_req::~Text_req()
183 Text_req::Text_req(Text_req const& src)
185 tdef_p_ = new Text_def(*src.tdef_p_);
189 Text_req::Text_req(int dir_i, Text_def* tdef_p)
196 Text_req::print() const
198 mtor << " dir " << dir_i_ ;
206 Mark_req::Mark_req(String s)
212 Mark_req::print()const
215 mtor<< "Mark `" << mark_str_ << "\'\n";
219 Staff_command_req::Staff_command_req(Input_command * p)
223 Staff_command_req::~Staff_command_req()
227 Staff_command_req::Staff_command_req(Staff_command_req const&src)
229 com_p_ = new Input_command(*src.com_p_);
232 Staff_command_req::print()const
234 mtor << "Command request: " ;