}
- mtor << "ov " << overide_acc;
-
// notename.
String nm;
while (isalpha(a[j]))
}
- lookup_notename(large,small,nm);
- mtor << "int "<< large <<" "<<small<<" ";
+ lookup_notename(large,small,nm);
+ mtor << "override: " << overide_acc;
+ mtor << "pitch "<< large <<", "<<small<<"\n";
}
int oct, pit, acc;
bool forceacc;
parse_pitch(pitch, i, oct, forceacc, pit, acc);
-
+ char nm = pit + 'c';
+ if (nm > 'g')
+ nm += 'a' - 'h';
+ rq->name =nm;
+
rq->octave = oct;
rq->accidental = acc;
rq->forceacc = forceacc;
rq->balltype = dur;
rq->dots = dots;
+ rq->print();
v->add(rq);
return v;
rq->balltype = dur;
rq->dots = dots;
-
+ rq->print();
v->add(rq);
return v;
}
#include "glob.hh"
#include "string.hh"
+/// a voice element wants something printed
struct Request {
Voice_element*elt;
-#if 0
- enum {
- UNKNOWN, NOTE, REST, LYRIC, SCRIPT, CHORD, BEAM,
- BRACKET, STEM, SLUR, CRESC, DECRESC, ABSDYNAMIC
- } tag;
-#endif
+
+ /****************/
+
virtual void print()const ;
virtual Note_req *note() {return 0;}
virtual Rest_req *rest() {return 0;}
beams/stems to look up the balls it has to connect to. */
+/// a request with a duration
struct Rhythmic_req : Request {
int balltype;
int dots;
+
+ /****************/
+
Real duration() const;
Rhythmic_req(Voice_element*);
- Rhythmic_req*rhythmic() { return this;}
+ Rhythmic_req*rhythmic() { return this;}
+ void print ()const;
};
/// Put a note of specified type, height, and with accidental on the staff.
int octave;
int accidental;
bool forceacc;
+
+ /****************/
+
+ // return height from central c (in halflines)
+ int height()const;
Note_req(Voice_element*v);
Note_req*note() { return this;}
+ virtual void print() const;
};
/**
Staff has to decide if the ball should be hanging left or right. This
///Put a rest on the staff.
struct Rest_req : Rhythmic_req {
-
+ void print()const;
Rest_req(Voice_element*v) : Rhythmic_req(v) { }
Rest_req * rest() { return this;}
};