From dbe4511cdb1b09161dbff0c65b92766c1852df8f Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:28:26 +0000 Subject: [PATCH] lilypond-0.0.24 --- Sources.make | 16 ++++++++------ hdr/request.hh | 57 +++++++++++++++++++++++++++++++++++++------------- hdr/textdef.hh | 15 +++++++------ 3 files changed, 61 insertions(+), 27 deletions(-) diff --git a/Sources.make b/Sources.make index afadfff786..573861e9b7 100644 --- a/Sources.make +++ b/Sources.make @@ -6,14 +6,16 @@ hdr= accidental.hh bar.hh beam.hh boxes.hh break.hh clef.hh clefitem.hh\ 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\ @@ -21,15 +23,17 @@ 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\ diff --git a/hdr/request.hh b/hdr/request.hh index 12382d0bf7..c401fcdd9d 100644 --- a/hdr/request.hh +++ b/hdr/request.hh @@ -6,7 +6,7 @@ #include "string.hh" #include "moment.hh" -/// a voice element wants something printed +/// Hungarian postfix: req struct Request { Voice_element*elt_l_; @@ -31,11 +31,14 @@ struct Request { 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 */ @@ -60,6 +63,30 @@ struct Rhythmic_req : virtual Request { }; +///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 @@ -167,19 +194,6 @@ struct Script_req : Request { 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_; @@ -190,6 +204,15 @@ struct Mark_req : Request { 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 @@ -285,6 +308,10 @@ struct Spacing_req { struct Glissando_req : Span_req { }; - +struct Stemdir_req : Request { + int which; +}; +struct Group_change_req : Request { +}; #endif #endif diff --git a/hdr/textdef.hh b/hdr/textdef.hh index 2befb6bb4d..6682221761 100644 --- a/hdr/textdef.hh +++ b/hdr/textdef.hh @@ -8,17 +8,20 @@ #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 -- 2.39.5