getcommand.hh glob.hh globvars.hh grouping.hh idealspacing.hh\
identifier.hh identparent.hh inputcommand.hh inputcommands.hh\
inputmusic.hh inputscore.hh inputstaff.hh item.hh key.hh keyitem.hh\
- keyword.hh leastsquares.hh lexer.hh linespace.hh linestaff.hh\
- localkeyitem.hh lookup.hh main.hh melodicstaff.hh meter.hh misc.hh\
+ keyword.hh leastsquares.hh lexer.hh linespace.hh linepstaff.hh\
+ localkeyitem.hh lookup.hh \
+ lyriccolumn.hh lyricitem.hh lyricstaff.hh lyricwalker.hh\
+ main.hh melodicstaff.hh meter.hh misc.hh\
molecule.hh moment.hh notehead.hh notename.hh offset.hh paper.hh\
parseconstruct.hh pcol.hh proto.hh pscore.hh pstaff.hh qlp.hh\
qlpsolve.hh request.hh rest.hh rhythmstaff.hh sccol.hh score.hh\
scoreline.hh script.hh scriptdef.hh simplestaff.hh simplewalker.hh\
slur.hh spanner.hh staff.hh staffcommands.hh staffelem.hh staffline.hh\
- stcol.hh stem.hh swalker.hh symbol.hh symtable.hh tex.hh textdef.hh\
+ stcol.hh stem.hh staffwalker.hh symbol.hh symtable.hh tex.hh textdef.hh\
textitem.hh textspanner.hh timedescription.hh tstream.hh voice.hh
mycc=bar.cc beam.cc boxes.cc break.cc calcideal.cc clef.cc\
getcommands.cc grouping.cc idealspacing.cc identifier.cc\
inputcommand.cc inputcommands.cc inputmusic.cc inputscore.cc\
inputstaff.cc item.cc key.cc keyitem.cc keyword.cc\
- leastsquares.cc lexerinit.cc linespace.cc linestaff.cc\
- localkeyitem.cc lookup.cc main.cc melodicstaff.cc meter.cc\
+ leastsquares.cc lexerinit.cc linespace.cc linepstaff.cc\
+ localkeyitem.cc lookup.cc\
+ lyriccolumn.cc lyricitem.cc lyricstaff.cc lyricwalker.cc\
+ main.cc melodicstaff.cc meter.cc\
misc.cc molecule.cc mylexer.cc note.cc notehead.cc notename.cc\
paper.cc pcol.cc pscore.cc pstaff.cc qlp.cc qlpsolve.cc\
request.cc rest.cc rhythmstaff.cc sccol.cc score.cc\
scoreline.cc scores.cc script.cc scriptdef.cc simpleprint.cc\
simplestaff.cc simplewalker.cc slur.cc spanner.cc staff.cc\
staffcommands.cc staffelem.cc staffline.cc stcol.cc stem.cc\
- swalker.cc symbol.cc symtable.cc table.cc tex.cc texbeam.cc\
+ staffwalker.cc symbol.cc symtable.cc table.cc tex.cc texbeam.cc\
texslur.cc textdef.cc textitem.cc textspanner.cc\
timedescription.cc tstream.cc voice.cc warn.cc wordwrap.cc\
template1.cc template2.cc template3.cc template4.cc\
#include "string.hh"
#include "moment.hh"
-/// a voice element wants something printed
+/// Hungarian postfix: req
struct Request {
Voice_element*elt_l_;
virtual Beam_req *beam() { return 0 ; }
virtual Slur_req *slur() { return 0 ; }
virtual Rhythmic_req*rhythmic() { return 0; }
+ virtual Lyric_req* lreq_l() { return 0; }
virtual Melodic_req *melodic() { return 0; }
virtual Mark_req * mark() { return 0; }
+ virtual Staff_command_req* command() { return 0;}
};
/**
+ a voice element wants something printed.
see lilygut page
*/
};
+///Put a text above or below (?) this staff.
+struct Text_req : virtual Request {
+ int dir_i_;
+ Text_def *tdef_p_;
+ /****************/
+ Text_req* text() { return this; }
+ virtual void print() const;
+ Request *clone()const;
+
+ Text_req(int d, Text_def*);
+ ~Text_req();
+ Text_req(Text_req const&);
+};
+
+
+struct Lyric_req : public Rhythmic_req, Text_req {
+
+ Lyric_req(Text_def* t_p);
+ void print() const;
+ Lyric_req* lreq_l() { return this; }
+ Request* clone() const;
+};
+
+
struct Melodic_req :virtual Request
{
/// 0 is c
slurs and brackets, so this also a request */
-///Put a text above or below (?) this staff.
-struct Text_req : Request {
- int dir;
- Text_def *spec;
- /****************/
- Text_req*text() { return this; }
- virtual void print() const;
- Request *clone()const;
- Text_req(int d, Text_def*);
- ~Text_req();
- Text_req(Text_req const&);
-};
-
/// designate this spot with a name.
struct Mark_req : Request {
String mark_str_;
Request *clone() const;
};
+struct Staff_command_req : Request {
+ Input_command * com_p_;
+ Staff_command_req* command() { return this;}
+ Staff_command_req(Staff_command_req const&);
+ ~Staff_command_req();
+ Staff_command_req(Input_command*);
+ Request*clone()const;
+ void print()const;
+};
#if 0
struct Glissando_req : Span_req {
};
-
+struct Stemdir_req : Request {
+ int which;
+};
+struct Group_change_req : Request {
+};
#endif
#endif
#define TEXTDEF_HH
#include "string.hh"
+#include "proto.hh"
+
+struct Text_def {
+ int align_i_;
+ String text_str_;
+ String style_str_;
-struct Text_def {
- int align;
- String text;
- String style;
/*****************/
Text_def();
- void print()const;
- Atom create(Paperdef*)const;
+ virtual void print() const;
+ virtual Atom create_atom(Paperdef*) const;
};
+
#endif // TEXTDEF_HH