From: Han-Wen Nienhuys Date: Wed, 12 Feb 1997 20:25:34 +0000 (+0100) Subject: release: 0.0.31 X-Git-Tag: release/0.0.31 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=093995e3f2ee60100348ea1e9f05d69aa457aeba;p=lilypond.git release: 0.0.31 --- diff --git a/.dstreamrc b/.dstreamrc index 088fbcc81a..5c98922777 100644 --- a/.dstreamrc +++ b/.dstreamrc @@ -22,15 +22,15 @@ Lexer 1 parse_duration 1 parse_pitchmod 1 Col_configuration 1 -Request 1 +Request 0 Note_req 1 -Rhythmic_req 1 +Rhythmic_req 0 Rest_req 1 delete_identifiers 1 Command 1 Staff_commands 1 Stem 1 -Staff 1 +Staff 0 Score 1 Voice 1 Voice_element 1 @@ -39,7 +39,7 @@ Commands_at 1 Input_command 1 Time_description 1 Melodic_req 1 -Stem_req 1 +Stem_req 0 Group_change_req 1 Script_req 1 Colinfo 1 diff --git a/Documentation/Makefile b/Documentation/Makefile index f8b08366bc..c025773895 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -3,7 +3,7 @@ PODS=README.pod CodingStyle.pod lilygut.pod lilyinput.pod error.pod\ TXTS=$(PODS:.pod=.txt) MANS=$(PODS:.pod=.1) HTMLS=$(PODS:.pod=.html) -DISTFILES=$(PODS) Makefile lelie_logo.png #lelieblond.gif +DISTFILES=$(PODS) Makefile lelie_logo.png make_website #lelieblond.gif default: @@ -23,5 +23,8 @@ clean: pod2man --center="LilyPond documentation" --section="0"\ --release="LilyPond $(MAJVER).$(MINVER).$(PATCHLEVEL)" $< > $@ -html: - pod2html \ No newline at end of file +html: $(pod) + pod2html + +htmldist: html + make_website diff --git a/Documentation/make_website b/Documentation/make_website new file mode 100755 index 0000000000..d241527ff1 --- /dev/null +++ b/Documentation/make_website @@ -0,0 +1,33 @@ +#!/usr/bin/perl -w +sub + set_hrefs +{ + while () { + s#href=([A-Za-z.]+)#href=$base/$1#g; + print HTMLOUT $_; + } +} + +local $base="lilypond/"; +local @examples=("wohltemperirt"); + +system 'make html'; + +print "resetting refs.\n"; + +foreach $a (<*.html>) +{ + rename $a, "$a~"; + open HTMLIN, "$a~"; + open HTMLOUT, ">$a"; + set_hrefs; +} + +foreach $a (@examples) { + $texfile="test"; + system "cd ..; lilypond input/$a; tex $texfile; dvips $texfile;"; + system "mv ../$texfile.ps $a.ps"; + system "gs -q -sDEVICE=ppmraw -sOutputFile=- -r200 -dNOPAUSE $a.ps -c quit |pnmscale 0.5| ppmtogif > $a.gif" +} + +system "tar cfz website.tgz *.html *.gif *.png *.ps " diff --git a/NEWS b/NEWS index 0646a2661d..1899d8f4c7 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,11 @@ +pl 31 + +Examples + - Coriolan example (JN) + - standchen updated +Bugfix + - calcideal assertion bugfix + pl 30 Features @@ -13,7 +21,7 @@ Internal - split register source files - hardcoded dimensions compile time - Lookup::tex_hairpin -Bugs +Bugfix - non G-clef clefs - script junking (2x) - empty files diff --git a/Sources.make b/Sources.make index e7e7a22782..dad8bf2734 100644 --- a/Sources.make +++ b/Sources.make @@ -12,7 +12,7 @@ hdr= bar.hh beam.hh boxes.hh break.hh clef.hh clefitem.hh\ localkeyitem.hh localkeyreg.hh lookup.hh \ lyriccolumn.hh lyricitem.hh lyricstaff.hh lyricwalker.hh\ main.hh meter.hh misc.hh\ - molecule.hh moment.hh notehead.hh notename.hh offset.hh paper.hh\ + molecule.hh moment.hh notehead.hh notename.hh offset.hh paperdef.hh\ parseconstruct.hh pcol.hh proto.hh pscore.hh pstaff.hh qlp.hh\ qlpsolve.hh register.hh request.hh rest.hh \ sccol.hh score.hh\ @@ -40,7 +40,7 @@ mycc=bar.cc beam.cc boxes.cc break.cc calcideal.cc clef.cc\ lyriccolumn.cc lyricitem.cc lyricstaff.cc lyricwalker.cc\ main.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\ + paperdef.cc pcol.cc pscore.cc pstaff.cc qlp.cc qlpsolve.cc\ register.cc request.cc rest.cc sccol.cc score.cc\ scoreline.cc scores.cc script.cc scriptdef.cc scriptreg.cc \ slur.cc\ @@ -60,7 +60,7 @@ mycc=bar.cc beam.cc boxes.cc break.cc calcideal.cc clef.cc\ stablecc=request.cc bar.cc boxes.cc break.cc clef.cc getcommands.cc grouping.cc\ item.cc keyword.cc leastsquares.cc \ linepstaff.cc linespace.cc lookup.cc molecule.cc meter.cc\ - paper.cc parser.cc lexer.cc pstaff.cc qlp.cc qlpsolve.cc\ + paperdef.cc parser.cc lexer.cc pstaff.cc qlp.cc qlpsolve.cc\ template1.cc template2.cc template3.cc template4.cc\ template5.cc template6.cc version.cc tstream.cc tex.cc\ voice.cc wordwrap.cc spanner.cc diff --git a/TODO b/TODO index 44068657a7..ab8df44987 100644 --- a/TODO +++ b/TODO @@ -26,6 +26,8 @@ INPUTLANGUAGE SMALLISH PROJECTS + * read from mmap directly: study yy_scan_buffer + * binsearch for notenames * stafftypes: voice names/ instrument names. @@ -65,6 +67,8 @@ DOC * all errors + * a decent webpage + FUTURE * warning: beam(): Beam too narrow: beam gen not per stem @@ -121,4 +125,4 @@ IDEAS * PostScript output (esp. Beams, Slurs, etc) - * caching breakpoints \ No newline at end of file + * caching breakpoints diff --git a/Variables.make b/Variables.make index 38280146fd..6d2ad10580 100644 --- a/Variables.make +++ b/Variables.make @@ -3,9 +3,9 @@ # version info MAJVER=0 MINVER=0 -PATCHLEVEL=30 +PATCHLEVEL=31 + -include Site.make #### #### USER CONFIGURABLE @@ -107,4 +107,6 @@ SUBDIRS=Documentation $(OBJECTDIR) $(CCDIR) $(HEADERDIR) $(INITDIR) $(DEPDIR) \ depfile=deps/$(subst .o,.dep,$(notdir $@)) DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(OBJECTDIR)/$(notdir $@)" -STRIPDEBUG=strip --strip-debug \ No newline at end of file +STRIPDEBUG=true # replace to do stripping of certain objects + +include Site.make \ No newline at end of file diff --git a/hdr/break.hh b/hdr/break.hh index 7d17470228..886e2d788b 100644 --- a/hdr/break.hh +++ b/hdr/break.hh @@ -10,6 +10,8 @@ #include "proto.hh" #include "colhpos.hh" +/** Class representation of an algorithm which decides where to put + the column, and where to break lines. */ struct Break_algorithm { PScore &pscore_; Real linelength; diff --git a/hdr/complexwalker.hh b/hdr/complexwalker.hh index 2ada9fe642..a4ba27b03b 100644 --- a/hdr/complexwalker.hh +++ b/hdr/complexwalker.hh @@ -17,6 +17,10 @@ #include "register.hh" #include "localkeyreg.hh" + +/** + A staff walker which uses registers to what to print + */ struct Complex_walker: Staff_walker { Local_key local_key_; Key key_; diff --git a/hdr/directionalspanner.hh b/hdr/directionalspanner.hh index 8868bbfd6d..1578edf574 100644 --- a/hdr/directionalspanner.hh +++ b/hdr/directionalspanner.hh @@ -9,6 +9,7 @@ #include "spanner.hh" +/// a spanner which can be pointing "up" or "down" struct Directional_spanner : Spanner{ /// -1 below heads, +1 above heads. diff --git a/hdr/inputcommand.hh b/hdr/inputcommand.hh index d937f9ab8a..8437454d9a 100644 --- a/hdr/inputcommand.hh +++ b/hdr/inputcommand.hh @@ -10,7 +10,7 @@ #include "scalar.hh" #include "varray.hh" #include "moment.hh" - +/// command without time assoced struct Input_command { /// analogous to argv[] Array args; diff --git a/hdr/inputcommands.hh b/hdr/inputcommands.hh index d40885407a..94d94c4202 100644 --- a/hdr/inputcommands.hh +++ b/hdr/inputcommands.hh @@ -7,7 +7,6 @@ #ifndef INPUTCOMMANDS_HH #define INPUTCOMMANDS_HH -//#include "pcursor.hh" #include "proto.hh" #include "plist.hh" #include "real.hh" diff --git a/hdr/inputstaff.hh b/hdr/inputstaff.hh index c1252ad01d..cc9f823885 100644 --- a/hdr/inputstaff.hh +++ b/hdr/inputstaff.hh @@ -14,7 +14,7 @@ struct Input_staff { - /// defined where? + const char * defined_ch_c_l_; String type; IPointerList commands_; diff --git a/hdr/item.hh b/hdr/item.hh index e934f279f7..a5a9442dc9 100644 --- a/hdr/item.hh +++ b/hdr/item.hh @@ -16,7 +16,6 @@ spacing calculation. */ - struct Item : Staff_elem { /// indirection to the column it is in PCol * pcol_l_; diff --git a/hdr/key.hh b/hdr/key.hh index fa41082fd8..7a755244a8 100644 --- a/hdr/key.hh +++ b/hdr/key.hh @@ -1,5 +1,5 @@ /* - key.hh -- part of LilyPond + key.hh -- declare Key (c) 1996,97 Han-Wen Nienhuys */ @@ -10,6 +10,7 @@ #include "varray.hh" #include "scalar.hh" +/// administration of current key class Key { Array accidentals; @@ -24,6 +25,7 @@ public: int acc(int i) { return accidentals[i]; } }; +/// administration of accidentals struct Local_key { void reset(Key); diff --git a/hdr/keyitem.hh b/hdr/keyitem.hh index 1d1d2e37f0..b882c9551a 100644 --- a/hdr/keyitem.hh +++ b/hdr/keyitem.hh @@ -12,7 +12,7 @@ struct Clef; -/// An item which places accidentals at the start of the line +/// An item which places accidentals at the start of the line struct Keyitem : Item { const char * name() const; Array pitch; diff --git a/hdr/lookup.hh b/hdr/lookup.hh index 540bf664f7..28bd8677ea 100644 --- a/hdr/lookup.hh +++ b/hdr/lookup.hh @@ -8,6 +8,7 @@ #include "fproto.hh" #include "scalar.hh" +/// intuitive interface to symbol table struct Lookup { Symtables *symtables_; String texsetting; diff --git a/hdr/notehead.hh b/hdr/notehead.hh index b3b7d3ad23..febbe4d955 100644 --- a/hdr/notehead.hh +++ b/hdr/notehead.hh @@ -19,7 +19,7 @@ takes care of: struct Notehead : Item { const char * name() const; - const char* defined_ch_c_l_m; //sorry, trying to find error in martien.ly + int position; /// -1 = lowest, 0 = inside, 1 = top int extremal; diff --git a/hdr/paper.hh b/hdr/paper.hh deleted file mode 100644 index da9ebd12ed..0000000000 --- a/hdr/paper.hh +++ /dev/null @@ -1,41 +0,0 @@ -#include "proto.hh" -#include "real.hh" -#include "string.hh" -#include "moment.hh" - - -/** symbols, dimensions and constants - - This struct takes care of all kinds of symbols, dimensions and - constants. Most of them are related to the point-size of the fonts, - so therefore, the lookup table for symbols is also in here. - - see TODO - */ -struct Paperdef { - Lookup *lookup_p_; - String outfile; - - Real linewidth; - - /// how much space does a whole note take (ideally?) - Real whole_width; - - /// ideal = geometric_ ^ log2(duration) - Real geometric_; - - /* *************** */ - void reinit(); - Paperdef(Lookup*); - void set(Lookup*); - ~Paperdef(); - Paperdef(Paperdef const&); - Real interline()const; - Real internote()const; - Real rule_thickness()const; - Real standard_height()const; - Real note_width() const; - void print() const; - Real duration_to_dist(Moment); -}; - diff --git a/hdr/paperdef.hh b/hdr/paperdef.hh new file mode 100644 index 0000000000..03abf6abdc --- /dev/null +++ b/hdr/paperdef.hh @@ -0,0 +1,54 @@ +/* + paperdef.hh -- declare + + source file of the LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + + +#ifndef PAPERDEF_HH +#define PAPERDEF_HH +#include "proto.hh" +#include "real.hh" +#include "string.hh" +#include "moment.hh" + + +/** symbols, dimensions and constants + + This struct takes care of all kinds of symbols, dimensions and + constants. Most of them are related to the point-size of the fonts, + so therefore, the lookup table for symbols is also in here. + + see TODO + */ +struct Paperdef { + Lookup *lookup_p_; + String outfile; + + Real linewidth; + + /// how much space does a whole note take (ideally?) + Real whole_width; + + /// ideal = geometric_ ^ log2(duration) + Real geometric_; + + /* *************** */ + void reinit(); + Paperdef(Lookup*); + void set(Lookup*); + ~Paperdef(); + Paperdef(Paperdef const&); + Real interline()const; + Real internote()const; + Real rule_thickness()const; + Real standard_height()const; + Real note_width() const; + void print() const; + Real duration_to_dist(Moment); +}; + +#endif // PAPERDEF_HH + diff --git a/hdr/qlp.hh b/hdr/qlp.hh index 6e82aa9c40..7bc667b956 100644 --- a/hdr/qlp.hh +++ b/hdr/qlp.hh @@ -1,3 +1,11 @@ +/* + qlp.hh -- declare Ineq_constrained_qp, Mixed_qp + + source file of the LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + #ifndef QLP_HH #define QLP_HH @@ -18,8 +26,8 @@ public: /** use a KKT method to assert optimality of sol */ - void assert_solution(Vector sol) const; - /// solve the problem using a projected gradient method + void assert_solution(Vector sol) const; + /// solve the problem using a projected gradient method Vector solve(Vector start) const; /** return the number of variables in the problem */ @@ -61,8 +69,6 @@ public: x^T QUAD x /2 + b^T x */ - - class Mixed_qp :public Ineq_constrained_qp { Array eq_cons; Array eq_consrhs; diff --git a/hdr/qlpsolve.hh b/hdr/qlpsolve.hh index aefcc767e7..811556c362 100644 --- a/hdr/qlpsolve.hh +++ b/hdr/qlpsolve.hh @@ -1,3 +1,14 @@ +/* + qlpsolve.hh -- declare Active_constraints, Inactive_iter + + source file of the LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + + +#ifndef QLPSOLVE_HH +#define QLPSOLVE_HH #include "qlp.hh" #include "matrix.hh" @@ -76,3 +87,5 @@ public: Real rhs() const { return ac->rhs(constraint_id()); } bool ok() const { return j < ac->inactive.size(); } }; + +#endif // QLPSOLVE_HH diff --git a/hdr/request.hh b/hdr/request.hh index d07bbd3469..b533a3fbb5 100644 --- a/hdr/request.hh +++ b/hdr/request.hh @@ -124,7 +124,7 @@ struct Lyric_req : public Rhythmic_req, Text_req { REQUESTMETHODS(Lyric_req, lreq_l); }; - +/// request which has some kind of pitch struct Melodic_req :virtual Request { /// 0 is c @@ -244,21 +244,15 @@ struct Staff_command_req : Request { #if 0 -///Put a lyric above or below (?) this staff. -struct Lyric_req : Request { - String text; -}; - - ///Draw a (Guitar) chord above or below this ``note'' -struct Chord : Request { - // don't know how this looks. -}; /** Why a request? Because everything else is done in requests. */ +struct Chord : Request { + // don't know how this looks. +}; /// for absolute dynamics @@ -268,13 +262,13 @@ enum Loudness { ///Start / stop a slur or a bracket. -struct Bracket_req : Span_req { - int nplet; // print a number over the beam. -}; /** Start/stop a bracket at this note. if #nplet# is set, the staff will try to put an appropriate number over the bracket */ +struct Bracket_req : Span_req { + int nplet; // print a number over the beam. +}; struct Subtle_req { Moment subtime; diff --git a/hdr/sourcefile.hh b/hdr/sourcefile.hh index 38a420248b..f92631dbe0 100644 --- a/hdr/sourcefile.hh +++ b/hdr/sourcefile.hh @@ -1,11 +1,12 @@ // -// sourcefile.hh -- part of LilyPond +// sourcefile.hh -- declare Source_file // // copyright 1997 Jan Nieuwenhuizen #ifndef SOURCE_FILE_HH #define SOURCE_FILE_HH +/// class for reading and mapping a file. class Source_file { public: diff --git a/init/symbol.ini b/init/symbol.ini index eab55e899f..7de1e0f521 100644 --- a/init/symbol.ini +++ b/init/symbol.ini @@ -1,7 +1,7 @@ -include "init/dutch.ini" -include "init/script.ini" -include "init/table_sixteen.ini" +include "dutch.ini" # do not include init/ path +include "script.ini" +include "table_sixteen.ini" diff --git a/input/Makefile b/input/Makefile index 182b105fb0..c9888dd680 100644 --- a/input/Makefile +++ b/input/Makefile @@ -4,6 +4,7 @@ DISTFILES=Makefile kortjakje.ly pavane.ly maartje.ly\ cadenza.ly scales.ly standchen.ly twinkle.ly\ wohltemperirt.ly error.ly\ martien.ly mlalt.ly mlvio1.ly mlvio2.ly mlcello.ly\ + coriolan-alto.ly\ standchen.tex pavane.tex scsii-menuetto.tex scsii-menuetto.ly\ martien.tex diff --git a/input/coriolan-alto.ly b/input/coriolan-alto.ly new file mode 100644 index 0000000000..959c4d79a3 --- /dev/null +++ b/input/coriolan-alto.ly @@ -0,0 +1,85 @@ +% Ludwig van Beethoven (1770-1792) +% +% Opus 62 +% Ouverture zu Collins Trauerspiel "Coriolan" +% +% a 5 bar fragment of the alto part +% +% Copyright (c) 1997 Jan Nieuwenhuizen +% +% when lily can handle this, i-ll type the other 304 bars +% (maybe even sooner :-) +% + +alto = music { + $ + \duration{ 8 } + + % these are chords (i.e. non-divisi) + % that-s why i-d rather type chords, + % but how to type slurs? +%30 + { + \music{ + [ c c-. ] c2.( | +%31 + [ ) c c-. ] c2.( | +%32 + [ ) c c-. ] c4. c-. c4( | +%33 + [ ) c c-. ] c4. c-. c4 + } +%30:2 + \music{ + \octave{ ` } + \textstyle "italic" + % this should be a dynamic, rather than text + [ c c_"cresc. \ \ - \ \ \ \ - \ \ \ \ - \ \ \ \ + - \ \ \ \ - \ \ \ \ - \ \ \ \ - \ \ \ \ + - \ \ \ \ - \ \ \ \ - \ \ \ \ - \ \ \ \ + - \ \ \ \ - \ \ \ \ -" ] c2.( | + \textstyle "roman" +%31:2 + [ ) c c-. ] c2.( | +%32:2 + [ ) c c-. ] c4. c-. c4( | +%33:2 + [ ) c c-. ] c4. c-. c4 | + \octave{ } + } + } +%34 + % these are two voices (i.e. divisi) + % the c4 and c2, however are really 16th... + % e.g.: c16*4 and c16*8 or + % [ c4 c2 ]*16 ? + % we-ll say "simile" for now... + % + { \multivoice + \music{ \stem{ 1 }[ c16^"div." c16 c16 c16 ] c4 c2 } + \music { + \octave{ ` } + \textstyle "italic" + \stem{ -1 } [ as16_"\ff" as16 as16 as16 ] as4_"simile" as2 + \textstyle "roman" + } + } + $ +} + +score { + staff { melodic music { alto } + commands { + clef "alto" + key $c es as$ % c ??? + } + } + commands { + meter 4*4 + skip 5:0 + } + paper { + unitspace 14mm + geometric 1.4 + } +} diff --git a/input/error.ly b/input/error.ly index 82e5d190c6..9cc6311697 100644 --- a/input/error.ly +++ b/input/error.ly @@ -1,5 +1,8 @@ mwa = music { $ +% [ a8 a8 a8 a8 a8 ] % assertion fail +% [ a8 a8 a8 ] % assertion fail +% [ a8 ] % assertion fail a ) b ] c % warning & % ok; error a b ) ] % ok; error diff --git a/input/standchen.ly b/input/standchen.ly index d10b99a27b..279cd513be 100644 --- a/input/standchen.ly +++ b/input/standchen.ly @@ -12,9 +12,9 @@ % comments with # note missing stuff % heu, make that %#% % -%% Still looks fairly on the "ugh" side the beauty scale, mainly because of -%% LilyPond's naive idealspacing calc. -%% +% thanks to \music "2" group changing, all notes +% (except for grace notes) are printed +% %#%% %#%\title{St\"andchen} @@ -37,167 +37,159 @@ %%1 melodie = music { $ \duration{ 8 } -% r_"\pp" { [ d `a-| } f-| { d `a-| } f-| { d `a-| ] } - r { [ d `a-|_"\pp" } f-| { d `a-| } f-| { d `a-| ] } + r_"\pp" { [ d `a-| } f-| { d `a-| } f-| { d `a-| ] } | %%2 - r { [ d `bes-| } f-| { d `bes-| } f-| { d `bes-| ] } + r { [ d `bes-| } f-| { d `bes-| } f-| { d `bes-| ] } | %%3 \textstyle "italic" r_"simile" { [ d `bes } e { d `bes } e { d `bes ] } - \textstyle "roman" + \textstyle "roman" | %%4 - r { [ `a cis } e { `a cis } e { `a cis ] } + r { [ `a cis } e { `a cis } e { `a cis ] } | %#%:| %%5 - \plet{ 2/3 } [ a()bes a ] \plet{ 1/1 } 'd4. a + \plet{ 2/3 } [ a()bes a ] \plet{ 1/1 } 'd4. a | %%6 - \plet{ 2/3 } [ g()a g ] \plet{ 1/1 } 'd4 a r + \plet{ 2/3 } [ g()a g ] \plet{ 1/1 } 'd4 a r | %#%\tighten %#%\newline %%7 - a4.^> g \plet{ 2/3 } [ g( f )e ] \plet{ 1/1 } + a4.^> g \plet{ 2/3 } [ g( f )e ] \plet{ 1/1 } | %%8 - f2 r4 + f2 r4 | %%9 -%#% { 'a4.( 'cis4.\stemdown_p } { ) 'g 'e_{dolce} } -%#% { 'g( 'e } 'f ) 'e - 'a4.( )'g \plet{ 2/3 } { 'g 'e } { 'f } { 'e } \plet{ 1/1 } + { \music{ 'a4.( )'g \plet{ 2/3 } [ 'g( 'f )'e ] \plet{ 1/1 } } + \music{ 'cis4. 'e_"dolce" \plet{ 2/3 } 'e \plet{ 1/1 } } } | %%10 - { 'f2. 'd2. } + { 'f2. 'd2. } | %%11 - \plet { 2/3 } [ a_"\pp"( )bes a ] \plet { 1/1 } 'f4. a + \plet { 2/3 } [ a_"\pp"( )bes a ] \plet { 1/1 } 'f4. a | %%12 - \plet { 2/3 } [ g( ) a g ] \plet { 1/1 } 'e4. 'd + \plet { 2/3 } [ g( ) a g ] \plet { 1/1 } 'e4. 'd | %%13 - 'c4. bes \plet { 2/3 } [ bes( ) a g ] \plet { 1/1 } + 'c4. bes \plet { 2/3 } [ bes( ) a g ] \plet { 1/1 } | %%14 -%#% a2 r { 'd(^ f_p(v } - a2 r { 'd f_"\p" } -%%15 -%#% { ) e4. ) 'c4.\stemup_{dolce} } { bes g } - { e4. 'c4._"dolce" } { bes g } - \plet { 2/3 } { [ bes g } a g ] \plet { 1/1 } + a2 r + { \music{ 'd( | )'c4. g \plet { 2/3 } [ bes a g ] \plet { 1/1 } } + \music{ f_"\p"( | )e4._"dolce" bes \plet { 2/3 } [ g ] \plet { 1/1 } } } | %%16 - { a2. f2. } + { a2. f2. } | %%17 \textstyle "italic" [ a8._"cresc." 'cis16 ] 'f4. 'e - \textstyle "roman" + \textstyle "roman" | %%18 - [ 'd8. a16 ] f4. d + [ 'd8. a16 ] f4. d | %%19 %#% 'c\grace\stemup - \plet { 2/3 } [ bes_"\pp"( ) a bes ] \plet { 1/1 } 'd4. bes + \plet { 2/3 } [ bes_"\pp"( ) a bes ] \plet { 1/1 } 'd4. bes | %%20 - a2. + a2. | %%21 %#% a\grace - \plet { 2/3 } [ g( )fis g ] \plet { 1/1 } bes4.^> g + \plet { 2/3 } [ g( )fis g ] \plet { 1/1 } bes4.^> g | %%22 -%#% =f2. - f2. +%#% =f2. | + f2. | %%23 - [ a8._"\mf" 'cis16 ] 'f4. 'e + [ a8._"\mf" 'cis16 ] 'f4. 'e | %%24 - [ 'd8. a16 ] fis4. d + [ 'd8. a16 ] fis4. d | %%25 %#% 'cis\grace\stemup - \plet { 2/3 } [ b_"\mf"( ) ais b ] \plet { 1/1 } 'd4. b + \plet { 2/3 } [ b_"\mf"( ) ais b ] \plet { 1/1 } 'd4. b | %%26 - { a2. fis2. } + { a2. fis2. } | %#%\tighten\newline %%27 - \plet { 2/3 } [ 'e_"\f"( )'dis 'e ] \plet { 1/1 } 'g4. 'cis + \plet { 2/3 } [ 'e_"\f"( )'dis 'e ] \plet { 1/1 } 'g4. 'cis | %%28 - { 'd2. fis2. } + { 'd2. fis2. } | %#%\volta1 %%29 -%#% { bes2(^++++ g2_{mf} } - { bes2 g2_"\mf" } -%#% [v { 'd8.( bes8. } { bes16 ) )++ g16 } ] - { [ 'd8. bes8. } { bes16 g16 ] } + { \music { bes2( [ 'd8.( ))g16 ] } \music{ g2_"\mf" [ bes8. bes16 ] } } | %%30 - { a4. fis4. } -%#% [ { [ a_. f_.( } { a_. f_. } { a_. ) f_. } ] - { [ a_. f_. } { a_. f_. } { a_. f_. ] } + { \music{ a4. [ a-. a-. a-. ] } \music{ fis4. [ f-.( f-. )f-. ] } } | %%31 - { a4. g4. } -%#% [ { a cis_.( } { a e_. } { a )- g_. } ] - { [ a cis_. } { a e_. } { a g_. ] } + { \music{ a4. [ a-. a-. a-. ] } \music{ g4. [ cis-.( e-. )g-. ] } } | %%32 - { a2 fis2_"\pp" } { a4 fis4 } + { a2 fis2_"\pp" } { a4 fis4 } | %%33 -%#% { b2(^ g2 } [v { 'd8.( b8. } { b16 ) ) g16 } ] - { b2 g2 } { [ 'd8. b8. } { b16 g16 ] } +%#% { b2(^ g2 } [v { 'd8.( b8. } { b16 ) ) g16 } ] | + { \music{ b2( [ 'd8.( ) )g16 ] } \music{ g2 [ b8. b16 ] } } | %%34 -%#% { a4. fis4. } [ { a_. fis_.( } { a_. fis_. } { a_. ) fis_. } ] - { a4. fis4. } { [ a_. fis_. } { a_. fis_. } { a_. fis_. ] } +%#% { a4. fis4. } [ { a-. fis-.( } { a-. fis-. } { a-. ) fis-. } ] | +% { a4. fis4. } { [ a-. fis-. } { a-. fis-. } { a-. fis-. ] } | + { \music{ a4. [ a-. a-. a-. ] } \music{ fis4. [ fis-.( fis-. )fis-. ] } } | %%35 -%#% { a4. g4. } [ { a cis_.( } { a e_. } { a )- g_. } ] - { a4. g4. } { [ a cis_. } { a e_. } { a g_. ] } +%#% { a4. g4. } [ { a cis-.( } { a e-. } { a )- g-. } ] | +% { a4. g4. } { [ a cis-. } { a e-. } { a g-. ] } | + { \music{ a4. [ a-. a-. a-. ] } \music{ g4. [ cis-.( e-. )g-. ] } } | %%36 - { a2. fis2. } + { a2. fis2. } | %#%\volta2 %#%:| %%37 - [ a8. a16 ] [ 'cis8. 'cis16 ] [ 'e8. 'e16 ] + [ a8. a16 ] [ 'cis8. 'cis16 ] [ 'e8. 'e16 ] | %%38 - 'd4( )'cis4 r4 + 'd4( )'cis4 r4 | %%39 -%#% > a4. [ 'cis 'e8. >! 'd16 ] - a4. [ 'cis 'e8. 'd16 ] +%#% > a4. [ 'cis 'e8. >! 'd16 ] | + a4. [ 'cis 'e8. 'd16 ] | %%40 - 'cis2 r4 + 'cis2 r4 | %%41 -%#% { > 'fis4. 'cis4._f } 'e [ 'e( ) 'd >! 'cis ] \plet { 1/1 } - { 'fis4. 'cis4._"\f" } 'e \plet { 2/3 } [ 'e( )'d 'cis ] \plet { 1/1 } +%#% { > 'fis4. 'cis4._f } 'e [ 'e( ) 'd >! 'cis ] \plet { 1/1 } | + { 'fis4. 'cis4._"\f" } 'e \plet { 2/3 } [ 'e( )'d 'cis ] \plet { 1/1 } | %%42 - [ b8. 'cis16 ] 'd4^> b r + [ b8. 'cis16 ] 'd4^> b r | %%43 -%#% [^ { b8._{ }_{ }_{ }_{ }_{ }_f g2. } 'cis16 ] 'd4^> b r - [ b8._"\f" 'cis16 ] 'd4^> b r +%#% [^ { b8._{ }_{ }_{ }_{ }_{ }_f g2. } 'cis16 ] 'd4^> b r | + [ b8._"\f" 'cis16 ] 'd4^> b r | %%44 -%#% [^ { > b8. fis2 } 'cis16 ] 'd4^> b >! r - [ b8. 'cis16 ] 'd4^> b r +%#% [^ { > b8. fis2 } 'cis16 ] 'd4^> b >! r | + [ b8. 'cis16 ] 'd4^> b r | %%45 %#% 'cis\grace\stemup - \plet { 2/3 } [ b_"\p"( )ais b ] \plet { 1/1 } 'd4. b + \plet { 2/3 } [ b_"\p"( )ais b ] \plet { 1/1 } 'd4. b | %%46 -%#% { =a2. fis2. } - { a2. fis2. } +%#% { =a2. fis2. } | + { a2. fis2. } | %%47 - \plet { 2/3 } [ 'e_"\f"( )'dis 'e ] \plet { 1/1 } 'g4.^> 'cis + \plet { 2/3 } [ 'e_"\f"( )'dis 'e ] \plet { 1/1 } 'g4.^> 'cis | %%48 %#% { fis2.(v ='d2.\stemup(^ } - { fis2. 'd2. } +% { fis2. 'd2. } | %%49 %#% { ) 'd4 ) =f2._> } { r4 s4_{decr} } 'd4\stemup \textstyle "italic" - 'd4 r4_"decresc." 'd4 - \textstyle "roman" + { \multivoice \music{ \stem{ 1 } fis2.( | \stem{ -1 } )f2. } \music { \stem{ 1 } 'd2.( | \stem{ 1 } )'d4 r4_"decresc." 'd4 } } + \textstyle "roman" | %%50 - { bes2. e2. } + { bes2. e2. } | %%51 - { a2. cis2. } + { a2. cis2. } | %%52 - { fis2 d2 } { a4 f4_"\pp" } + { fis2 d2 } { a4 f4_"\pp" } | %%53 -%#% { bes2 g2 } [ { 'd8.^>( bes8. } { ) bes16 g16 } ] - { bes2 g2 } { [ 'd8.^> bes8. } { bes16 g16 ] } +%#% { bes2 g2 } [ { 'd8.^>( bes8. } { ) bes16 g16 } ] | + { bes2 g2 } { [ 'd8.^> bes8. } { bes16 g16 ] } | %%54 -%#% { a4. fis4. } [ { a_. fis_.( } { a_. fis_. } { a_. ) fis_. } ] - { a4. fis4. } { [ a_. fis_. } { a_. fis_. } { a_. fis_. ] } +%#% { a4. fis4. } [ { a-. fis-.( } { a-. fis-. } { a-. ) fis-. } ] | +% { a4. fis4. } { [ a-. fis-. } { a-. fis-. } { a-. fis-. ] } | + { \music{ a4. [ a-. a-. a-. ] } \music{ fis4. [ fis-.( fis-. )fis-.] } } | %%55 -%#% { a4. g4. } [ { a cis_.( } { a e_. } { a )- g_. } ] - { a4. g4. } { [ a cis_. } { a e_. } { a g_. ] } +%#% { a4. g4. } [ { a cis-.( } { a e-. } { a )- g-. } ] | +% { a4. g4. } { [ a cis-. } { a e-. } { a g-. ] } | + { \music{ a4. [ a-. a-. a-. ] } \music{ g4. [ cis-.( e-. )g-. ] } } | %%56 \textstyle "italic" { a2. fis2._"dim." } - \textstyle "roman" + \textstyle "roman" | %%57 - { a2. fis2. } + { a2. fis2. } | %%58 - { a2.^\fermata fis2. } + { a2.^\fermata fis2. } | %#%\tighten $ } @@ -217,146 +209,126 @@ begeleiding = music { $ %#%\stemlength2 \duration{ 8 } %#% { =`f `d2 } `a d `a { d r4 } `a -% i-d rather type: -% { \music{ [ `f `a d `a d `a ] } \music{ `d2 r4 } } -% output little better... -% { `d2 \music{ [ `f `a d `a } } { \music{ d `a ] } r4 } - [ `f `a d `a d `a ] + { \multivoice \music{ \stem{1}[ `f `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } | %%6 -%#% { `d ``bes2 } `e `g `e { `g r4 } `e - [ `d `e `g `e `g `e ] -%%7 -%#% { `cis ``a2 } `e `g `e { `g r4 } `e - [ `cis `e `g `e `g `e ] + { \multivoice \music{\stem{1} [ `d `e `g `e `g `e ] } \music { \stem{ -1 } ``bes2 r4 } } | +%%7 +% this (one note missing) fails with assertion: +% lilypond: src/beam.cc:144: void Beam::set_grouping(struct Rhythmic_grouping, +% struct Rhythmic_grouping): Assertion `cur.children.size() == stems.size()' failed. + +%% seems fixed now, HWN +% { \multivoice \music{ \stem{1}[ `cis `e `g `e `g ] } \music { \stem{ -1 } ``a2 r4 } } | + { \multivoice \music{\stem{1} [ `cis `e `g `e `g e ] } \music { \stem{ -1 } ``a2 r4 } } | %%8 -%#% { `d `d2 } `a d `a { d r4 } `a - [ `d `a d `a d `a ] + { \multivoice \music{ \stem{1}[ `d `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } | %%9 -%#% `a e f e f e - [ `a e f e f e ] + [ `a e f e f e ] | %%10 -%#% `d `a d `a d `a - [ `d `a d `a d `a ] + [ `d `a d `a d `a ] | %%11 -%#% [^ { `f `d2 } `a d `a { d r4 } `a ] - [ `f `a d `a d `a ] - + { \multivoice \music{ \stem{1} [ `f `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } | %%12 == 6 -%#% { `d ``bes2 } `e `g `e { `g r4 } `e - [ `d `e `g `e `g `e ] + { \multivoice \music{ \stem{1}[ `d `e `g `e `g `e ] } \music { \stem{ -1 } ``bes2 r4 } } | %13 -%#% { `e ``bes2 } `e `g `e { `g r4 } `e - [ `e `e `g `e `g `e ] + { \multivoice \music{ \stem{1}[ `e `e `g `e `g `e ] } \music { \stem{ -1 } ``bes2 r4 } } | %%14 -%#% { `a `f2 } c f c { f r4 } c - [ `a c f c f c ] + { \multivoice \music{ \stem{1}[ `a c f c f c ] } \music { \stem{ -1 } `f2 r4 } } | %%15 - [ `c `g `bes `g `bes `g ] + [ `c `g `bes `g `bes `g ] | %%16 - [ ``f `c `f `c `f `c ] + [ ``f `c `f `c `f `c ] | %%17 -%#% [^ { ``a ``a2 } `e `g `e { `g r4 } `e ] - [ ``a `e `g `e `g `e ] + { \multivoice \music{ \stem{1}[ ``a `e `g `e `g `e ] } \music { \stem{ -1 } ``a2 r4 } } | %%18 -%#% [^ { `d `d2 } `a d `a { d r4 } `a ] - [ `d `a d `a d `a ] + { \multivoice \music{ \stem{1}[ `d `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } | %%19 -%#% s8 % skip space of `grace note -%#% [^ { ``bes ``bes2 } `f `bes `f { `bes r4 } `f ] - [ ``bes `f `bes `f `bes `f ] + { \multivoice \music{ \stem{1}[ ``bes `f `bes `f `bes `f ] } \music { \stem{ -1 } ``bes2 r4 } } | %%20 -%#% [^ { ``f ``f2 } `c `f `c { `f r4 } `c ] - [ ``f `c `f `c `f `c ] + { \multivoice \music{ \stem{1}[ ``f `c `f `c `f `c ] } \music { \stem{ -1 } ``f2 r4 } } | %%21 -%#% s8 % skip space of `grace note -%#% [ { `e `c } `g c `g c `g ] - { [ `e `c } `g c `g c `g ] +%#% s8 % skip space of grace note + { [ `e `c } `g c `g c `g ] | %%22 - [ `f `a c `a `f `c ] + [ `f `a c `a `f `c ] | %%23 -%#% [^ { ``a ``a2 } `e `g `e { `g r4 } `e ] - [ ``a `e `g `e `g `e ] + { \multivoice \music{ \stem{1}[ ``a `e `g `e `g `e ] } \music { \stem{ -1 } ``a2 r4 } } | %%24 -%#% [^ { `d `d2 } `fis `a `fis { `a r4 } `fis] - [ `d `fis `a `fis `a `fis ] + { \multivoice \music{ \stem{1}[ `d `fis `a `fis `a `fis ] } \music { \stem{ -1 } `d2 r4 } } | %%25 -%#% s8 % skip space of `grace note -%#% [^ { ``g ``g2 } `d `b `d { `b r4 } `d] - [ ``g `d `b `d `b `d ] +%#% s8 % skip space of grace note + { \multivoice \music{ \stem{1}[ ``g `d `b `d `b `d ] } \music { \stem{ -1 } ``g2 r4 } } | %%26 -%#% [^ { `d `d2 } `a d `a { d r4 } `a] - [ `d `a d `a d `a ] + { \multivoice \music{ \stem{1}[ `d `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } | %%27 - { [ `cis ``a } `e `a `e `a `e ] + { [ `cis ``a } `e `a `e `a `e ] | %%28 - [ `d `a d `a d `a ] + [ `d `a d `a d `a ] | %%29 -%#% [ `d `g @ `bes `g `bes `g ] - [ `d `g `bes `g `bes `g ] +%#% [ `d `g @ `bes `g `bes `g ] | + [ `d `g `bes `g `bes `g ] | %#%\volta1 %%30 - [ `d `fis `a `fis `a `fis ] + [ `d `fis `a `fis `a `fis ] | %%31 - [ `a `e `a `e `a `e ] + [ `a `e `a `e `a `e ] | %%32 - [ `d `fis `a `fis `a `fis ] + [ `d `fis `a `fis `a `fis ] | %%33 - [ `d `g `b `g `b `g ] + [ `d `g `b `g `b `g ] | %%34 - [ `d `fis `a `fis `a `fis ] + [ `d `fis `a `fis `a `fis ] | %%35 - [ `a `e `a `e `a `e ] + [ `a `e `a `e `a `e ] | %%36 - [ `d `fis `a `fis `a `fis ] + [ `d `fis `a `fis `a `fis ] | %#%\volta2 %#%:| %%37 - [ `a `e `g `e ``bes^> `e ] + [ `a `e `g `e ``bes^> `e ] | %%38 - [ `a { e cis `a } { e cis `a } { e cis `a } { e cis `a } { e cis `a ] } + [ `a { e cis `a } { e cis `a } { e cis `a } { e cis `a } { e cis `a ] } | %%39 - [ `a `e `g `e ``bes^> `e ] + [ `a `e `g `e ``bes^> `e ] | %%40 - [ `a { e cis `a } { e cis `a } { e cis `a } { e cis `a } { e cis `a ] } + [ `a { e cis `a } { e cis `a } { e cis `a } { e cis `a } { e cis `a ] } | %%41 - [ `ais `e `gis `e `gis `e ] + [ `ais `e `gis `e `gis `e ] | %%42 - { [ `d ``b } `fis `b `fis `b `fis ] + { [ `d ``b } `fis `b `fis `b `fis ] | %%43 - { [ `e ``b } `g `b `g `b `g ] + { [ `e ``b } `g `b `g `b `g ] | %%44 - { [ `d ``b } `fis `b `fis `b `fis ] + { [ `d ``b } `fis `b `fis `b `fis ] | %%45 -%#% s8 % skip space of `grace note -%#% [^{ ``g ``g2 } `d `b `d { `b r4 } `d] - [ ``g `d `b `d `b `d ] +%#% s8 % skip space of grace note + { \multivoice \music{ [ ``g `d `b `d `b `d ] } \music { \stem{ -1 } ``g2 r4 } } | %%46 -%#% [^ { `d `d2 } `a d `a { d r4 } `a ] - [ `d `a d `a d `a ] + { \multivoice \music{ [ `d `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } | %%47 - { [ `cis ``a } `e `a `e `a `e ] + { [ `cis ``a } `e `a `e `a `e ] | %%48 - [ `d `fis `a `fis `a `fis ] + [ `d `fis `a `fis `a `fis ] | %%49 - [ `d `a d `a d `a ] + [ `d `a d `a d `a ] | %%50 - [ ``g `e `g `e `g `e ] + [ ``g `e `g `e `g `e ] | %%51 - [ `a `e `g `e `g `e ] + [ `a `e `g `e `g `e ] | %%52 - [ ``d `d `fis `d `fis `d ] + [ ``d `d `fis `d `fis `d ] | %%53 - [ `d `g `bes `g `bes `g ] + [ `d `g `bes `g `bes `g ] | %%54 - [ `d `fis `a `fis `a `fis ] + [ `d `fis `a `fis `a `fis ] | %%55 - [ `a `e `g `e `g `e ] + [ `a `e `g `e `g `e ] | %%56 - [ ``d ``a `d ``a `d ``a ] + [ ``d ``a `d ``a `d ``a ] | %%57 [ ``d ``a `d ``a `d ``a ] %%58 - { `d2.^\fermata ``d2. } + { `d2.^\fermata ``d2. } | $ } @@ -450,7 +422,7 @@ tekst2 = music { _ _ _ _ _ _ -% 17 ok tot hier +% 17 Sie-8. ver-16 stehn4. des8 Bus-8. ens16 Seh-4. nen,8 \plet{ 2/3 } Ken- nen8 \plet{ 1/1 } Lieb-4. es-8 diff --git a/input/wohltemperirt.ly b/input/wohltemperirt.ly index aa8120ade8..53187772f9 100644 --- a/input/wohltemperirt.ly +++ b/input/wohltemperirt.ly @@ -2,7 +2,7 @@ % % a 7 bar fragment % -% Public Domain -- by HWN +% Public Domain -- typed by by HWN % dux = music { $ @@ -31,7 +31,7 @@ comes = music { $ $} bassdux = music { $ - r1 r1 r1 r1 r1 r1 + r1 r r r r r \octave { } r8 [c16 B] [c8 G] [As c16 B] [c8 d] | [G c16 B] [c8 d] [F16 G] As4 [G16 F] | $ @@ -65,4 +65,5 @@ score { paper { %unitspace 2.5cm %geometric 1.4 } -} \ No newline at end of file +} + diff --git a/src/bar.cc b/src/bar.cc index 4b3a0716eb..4f26d25310 100644 --- a/src/bar.cc +++ b/src/bar.cc @@ -1,7 +1,7 @@ #include "bar.hh" #include "string.hh" #include "molecule.hh" -#include "paper.hh" +#include "paperdef.hh" #include "lookup.hh" NAME_METHOD(Bar); diff --git a/src/beam.cc b/src/beam.cc index f31a15d017..44d51e0af9 100644 --- a/src/beam.cc +++ b/src/beam.cc @@ -9,7 +9,7 @@ #include "leastsquares.hh" #include "pcol.hh" #include "stem.hh" -#include "paper.hh" +#include "paperdef.hh" #include "lookup.hh" #include "grouping.hh" diff --git a/src/break.cc b/src/break.cc index 70ff864e9d..576bf4c67a 100644 --- a/src/break.cc +++ b/src/break.cc @@ -2,7 +2,7 @@ do calculations for breaking problem */ #include "break.hh" -#include "paper.hh" +#include "paperdef.hh" #include "linespace.hh" #include "debug.hh" #include "scoreline.hh" diff --git a/src/calcideal.cc b/src/calcideal.cc index 7ec06433e9..79db657588 100644 --- a/src/calcideal.cc +++ b/src/calcideal.cc @@ -1,9 +1,8 @@ #include "idealspacing.hh" #include "score.hh" #include "pscore.hh" -#include "paper.hh" +#include "paperdef.hh" #include "sccol.hh" -//#include "debug.hh" #include "dimen.hh" @@ -31,7 +30,8 @@ Score::calc_idealspacing() while (j->when() < d + i->when()) j++; - assert( j->when()== d+i->when()); + Moment delta_desired = j->when() - (d+i->when()); + dist += paper_p_->duration_to_dist(delta_desired); pscore_p_->connect(i->pcol_l_, j->pcol_l_, dist, strength); } diff --git a/src/clefitem.cc b/src/clefitem.cc index 0e0054acd3..30703026da 100644 --- a/src/clefitem.cc +++ b/src/clefitem.cc @@ -1,7 +1,7 @@ #include "clefitem.hh" #include "string.hh" #include "molecule.hh" -#include "paper.hh" +#include "paperdef.hh" #include "lookup.hh" #include "clef.hh" diff --git a/src/complexprint.cc b/src/complexprint.cc index ec38b575e1..6abe7659d2 100644 --- a/src/complexprint.cc +++ b/src/complexprint.cc @@ -2,7 +2,7 @@ #include "request.hh" #include "pscore.hh" -#include "paper.hh" +#include "paperdef.hh" #include "complexstaff.hh" #include "sccol.hh" #include "debug.hh" diff --git a/src/headreg.cc b/src/headreg.cc index ecb24074fd..94ad2291e1 100644 --- a/src/headreg.cc +++ b/src/headreg.cc @@ -6,7 +6,7 @@ #include "rest.hh" #include "notehead.hh" #include "headreg.hh" -#include "paper.hh" +#include "paperdef.hh" #include "complexwalker.hh" diff --git a/src/inputscore.cc b/src/inputscore.cc index cb9086b1a3..764c8e8509 100644 --- a/src/inputscore.cc +++ b/src/inputscore.cc @@ -3,7 +3,7 @@ #include "inputscore.hh" #include "inputstaff.hh" #include "score.hh" -#include "paper.hh" +#include "paperdef.hh" #include "staff.hh" void diff --git a/src/keyitem.cc b/src/keyitem.cc index 85bf74c620..22cf0e6d01 100644 --- a/src/keyitem.cc +++ b/src/keyitem.cc @@ -2,7 +2,7 @@ #include "key.hh" #include "debug.hh" #include "molecule.hh" -#include "paper.hh" +#include "paperdef.hh" #include "lookup.hh" #include "clef.hh" diff --git a/src/localkeyitem.cc b/src/localkeyitem.cc index 6fa9b1dfe3..fb288b76a7 100644 --- a/src/localkeyitem.cc +++ b/src/localkeyitem.cc @@ -2,7 +2,7 @@ #include "molecule.hh" #include "scalar.hh" #include "lookup.hh" -#include "paper.hh" +#include "paperdef.hh" #include "request.hh" #include "notehead.hh" diff --git a/src/lyricitem.cc b/src/lyricitem.cc index 81b61552c5..5b290d3634 100644 --- a/src/lyricitem.cc +++ b/src/lyricitem.cc @@ -1,5 +1,5 @@ #include "request.hh" -#include "paper.hh" +#include "paperdef.hh" #include "lyricitem.hh" #include "stem.hh" #include "molecule.hh" diff --git a/src/meter.cc b/src/meter.cc index bd3f763c00..8c4af23818 100644 --- a/src/meter.cc +++ b/src/meter.cc @@ -1,7 +1,7 @@ #include "scalar.hh" #include "molecule.hh" #include "meter.hh" -#include "paper.hh" +#include "paperdef.hh" #include "lookup.hh" NAME_METHOD(Meter); Meter::Meter(Arraya) diff --git a/src/note.cc b/src/note.cc index 5c9daee9fd..796090f04d 100644 --- a/src/note.cc +++ b/src/note.cc @@ -289,7 +289,6 @@ Request* get_script_req(int d , Script_def*def) { Script_req* script_req_p = new Script_req(d, def); -// script_req_p->defined_ch_c_l_m = req_defined_ch_c_l; // all terminal symbols, rather set directly here: script_req_p->defined_ch_c_l_m = lexer->here_ch_c_l(); return script_req_p; diff --git a/src/notehead.cc b/src/notehead.cc index d96b4d0599..2eabd2ff73 100644 --- a/src/notehead.cc +++ b/src/notehead.cc @@ -2,7 +2,7 @@ #include "notehead.hh" #include "dimen.hh" #include "debug.hh" -#include "paper.hh" +#include "paperdef.hh" #include "lookup.hh" #include "molecule.hh" #include "request.hh" @@ -17,7 +17,6 @@ Notehead::Notehead(int ss) balltype = 0; dots = 0; extremal = 0; - defined_ch_c_l_m = 0; } void @@ -25,8 +24,6 @@ Notehead::set_rhythmic(Rhythmic_req*r_req_l) { balltype = r_req_l->balltype; dots = r_req_l->dots; - if ( r_req_l->defined_ch_c_l_m ) - defined_ch_c_l_m = r_req_l->defined_ch_c_l_m; } void diff --git a/src/paper.cc b/src/paper.cc deleted file mode 100644 index ec5fde415d..0000000000 --- a/src/paper.cc +++ /dev/null @@ -1,86 +0,0 @@ -#include -#include "misc.hh" -#include "paper.hh" -#include "debug.hh" -#include "lookup.hh" -#include "dimen.hh" - - - -// golden ratio -const Real PHI = (1+sqrt(5))/2; - -// see Roelofs, p. 57 -Real -Paperdef::duration_to_dist(Moment d) -{ - return whole_width * pow(geometric_, log_2(d)); -} - -Real -Paperdef::rule_thickness()const -{ - return 0.4 PT; -} - -Paperdef::Paperdef(Lookup *l) -{ - lookup_p_ = l; - linewidth = 15 *CM_TO_PT; // in cm for now - whole_width = 8 * note_width(); - geometric_ = sqrt(2); -} - -Paperdef::~Paperdef() -{ - delete lookup_p_; -} -Paperdef::Paperdef(Paperdef const&s) -{ - lookup_p_ = new Lookup(*s.lookup_p_); - geometric_ = s.geometric_; - whole_width = s.whole_width; - outfile = s.outfile; - linewidth = s.linewidth; -} - -void -Paperdef::set(Lookup*l) -{ - assert(l != lookup_p_); - delete lookup_p_; - lookup_p_ = l; -} - -Real -Paperdef::interline() const -{ - return lookup_p_->ball(4).dim.y.length(); -} - -Real -Paperdef::internote() const -{ - return lookup_p_->internote(); -} -Real -Paperdef::note_width()const -{ - return lookup_p_->ball(4).dim.x.length( ); -} -Real -Paperdef::standard_height() const -{ - return 20 PT; -} - -void -Paperdef::print() const -{ -#ifndef NPRINT - mtor << "Paper {width: " << print_dimen(linewidth); - mtor << "whole: " << print_dimen(whole_width); - mtor << "out: " < +#include "misc.hh" +#include "paperdef.hh" +#include "debug.hh" +#include "lookup.hh" +#include "dimen.hh" + + + +// golden ratio +const Real PHI = (1+sqrt(5))/2; + +// see Roelofs, p. 57 +Real +Paperdef::duration_to_dist(Moment d) +{ + if (!d) + return 0; + + return whole_width * pow(geometric_, log_2(d)); +} + +Real +Paperdef::rule_thickness()const +{ + return 0.4 PT; +} + +Paperdef::Paperdef(Lookup *l) +{ + lookup_p_ = l; + linewidth = 15 *CM_TO_PT; // in cm for now + whole_width = 8 * note_width(); + geometric_ = sqrt(2); +} + +Paperdef::~Paperdef() +{ + delete lookup_p_; +} +Paperdef::Paperdef(Paperdef const&s) +{ + lookup_p_ = new Lookup(*s.lookup_p_); + geometric_ = s.geometric_; + whole_width = s.whole_width; + outfile = s.outfile; + linewidth = s.linewidth; +} + +void +Paperdef::set(Lookup*l) +{ + assert(l != lookup_p_); + delete lookup_p_; + lookup_p_ = l; +} + +Real +Paperdef::interline() const +{ + return lookup_p_->ball(4).dim.y.length(); +} + +Real +Paperdef::internote() const +{ + return lookup_p_->internote(); +} +Real +Paperdef::note_width()const +{ + return lookup_p_->ball(4).dim.x.length( ); +} +Real +Paperdef::standard_height() const +{ + return 20 PT; +} + +void +Paperdef::print() const +{ +#ifndef NPRINT + mtor << "Paper {width: " << print_dimen(linewidth); + mtor << "whole: " << print_dimen(whole_width); + mtor << "out: " <process(); } -// remove empty cols. +/** + Remove empty cols, preprocess other columns. + */ void Score::clean_cols() -{ +{ for (iter_top(staffs_,i); i.ok(); i++) i->clean_cols(); - + for (iter_top(cols_,c); c.ok(); ) { if (!c->pcol_l_->used()) { delete c.get(); @@ -55,7 +57,8 @@ Score::clean_cols() } } } -/* + +/** this sux. We should have Score_column create the appropriate PCol. Unfortunately, PCols don't know about their position. */ diff --git a/src/scoreline.cc b/src/scoreline.cc index ed28c5b543..505d7e79cf 100644 --- a/src/scoreline.cc +++ b/src/scoreline.cc @@ -3,7 +3,7 @@ #include "dimen.hh" #include "spanner.hh" #include "symbol.hh" -#include "paper.hh" +#include "paperdef.hh" #include "pcol.hh" #include "pscore.hh" diff --git a/src/script.cc b/src/script.cc index 4b1ae191d0..6316baad54 100644 --- a/src/script.cc +++ b/src/script.cc @@ -1,5 +1,5 @@ #include "request.hh" -#include "paper.hh" +#include "paperdef.hh" #include "script.hh" #include "stem.hh" #include "molecule.hh" diff --git a/src/slur.cc b/src/slur.cc index 856ca99035..386b178a20 100644 --- a/src/slur.cc +++ b/src/slur.cc @@ -6,7 +6,7 @@ #include "slur.hh" #include "scalar.hh" #include "lookup.hh" -#include "paper.hh" +#include "paperdef.hh" #include "notehead.hh" #include "pcol.hh" #include "molecule.hh" diff --git a/src/staff.cc b/src/staff.cc index be98be9fc2..2e650b008f 100644 --- a/src/staff.cc +++ b/src/staff.cc @@ -149,6 +149,7 @@ Staff::setup_staffcols() s_l->add(j); now += j->duration; } + get_col(now, false); } OK(); set_time_descriptions(); diff --git a/src/staffline.cc b/src/staffline.cc index a7fcbbeb01..7b79f09212 100644 --- a/src/staffline.cc +++ b/src/staffline.cc @@ -3,7 +3,7 @@ #include "dimen.hh" #include "spanner.hh" #include "symbol.hh" -#include "paper.hh" +#include "paperdef.hh" #include "molecule.hh" #include "pcol.hh" #include "pscore.hh" diff --git a/src/staffsym.cc b/src/staffsym.cc index 2e2d9f3066..49f559f2e8 100644 --- a/src/staffsym.cc +++ b/src/staffsym.cc @@ -7,7 +7,7 @@ */ #include "staffsym.hh" #include "lookup.hh" -#include "paper.hh" +#include "paperdef.hh" #include "debug.hh" NAME_METHOD(Staff_symbol); diff --git a/src/stem.cc b/src/stem.cc index dc63e9e7eb..2a1f99e21a 100644 --- a/src/stem.cc +++ b/src/stem.cc @@ -1,7 +1,7 @@ #include "stem.hh" #include "dimen.hh" #include "debug.hh" -#include "paper.hh" +#include "paperdef.hh" #include "notehead.hh" #include "lookup.hh" #include "molecule.hh" diff --git a/src/textdef.cc b/src/textdef.cc index 5dd44d91a1..09fb2257a1 100644 --- a/src/textdef.cc +++ b/src/textdef.cc @@ -1,6 +1,6 @@ #include "debug.hh" #include "lookup.hh" -#include "paper.hh" +#include "paperdef.hh" #include "molecule.hh" #include "textdef.hh" diff --git a/src/textitem.cc b/src/textitem.cc index 13790d740e..c9ead7ce03 100644 --- a/src/textitem.cc +++ b/src/textitem.cc @@ -1,5 +1,5 @@ #include "request.hh" -#include "paper.hh" +#include "paperdef.hh" #include "textitem.hh" #include "stem.hh" #include "molecule.hh" diff --git a/src/textspanner.cc b/src/textspanner.cc index b6d90cbef4..8cd1b8ac3f 100644 --- a/src/textspanner.cc +++ b/src/textspanner.cc @@ -3,7 +3,7 @@ #include "textspanner.hh" #include "textdef.hh" #include "debug.hh" -#include "paper.hh" +#include "paperdef.hh" NAME_METHOD(Text_spanner);