4 #include "scriptdef.hh"
7 #define VIRTUALCONS(T,R) R *T::clone() const { return new T(*this); } struct T
8 #define RCONS(T) VIRTUALCONS(T, Request)
23 Stem_req::print() const
28 Barcheck_req::print() const
36 Request::print() const
39 mtor << "Req{ unknown }\n";
44 Span_req::print() const
47 mtor << "Span_req {" << spantype << "}\n";
55 Request::Request(Request const&)
59 Melodic_req::Melodic_req()
68 Melodic_req::height() const
70 return name + octave*7;
73 Rhythmic_req::Rhythmic_req()
81 Rhythmic_req::print() const
83 mtor << "rhythmic: " << balltype ;
88 mtor<<", plet factor"<<plet_factor<<"\n";
92 Melodic_req::print() const
94 mtor << "note: " << name << " oct: "<< octave;
98 Note_req::print() const
100 Melodic_req::print();
101 Rhythmic_req::print();
105 Rest_req::print() const
108 Rhythmic_req::print();
113 Rhythmic_req::duration() const {
114 return wholes(balltype,dots)*plet_factor;
127 Script_req::Script_req(int d , Script_def*def)
133 Script_req::Script_req(Script_req const &s)
136 scriptdef = new Script_def(*s.scriptdef);
140 Script_req::print() const
142 mtor << " dir " << dir ;
147 Script_req::~Script_req()
152 Text_req::Text_req(Text_req const& s)
154 spec = new Text_def(*s.spec);
157 Text_req::Text_req(int d , Text_def*def)
164 Text_req::print() const
166 mtor << " dir " << dir ;
171 Text_req::~Text_req()
176 Mark_req::Mark_req(String s)
182 Mark_req::print()const
185 mtor<< "Mark `" << mark_str_ << "\'\n";