Re: FYI: Status of Ancient Notation Implementation
Attached patch should fix this one and theoretically even *speed up* glyph name lookup, since it removes obsolete scheme code. Instead of trying to fix the scheme code, I added a new longa note head to the feta font. It looks exactly like a brevis head, but with a stem like quarter note. Maximae are not handled by this patch, but I actually have not ever seen a Maxima in modern font, so this is a generally open issue to be handled separately. May I apply this patch? Hi, Many thanks for this! Regards, Ralph ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: FYI: Status of Ancient Notation Implementation
On Sun, 8 Oct 2006, Juergen Reuter wrote: * The longa notes bug (cp. http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00022.html) has been tracked down to a general problem in output-lib.scm (see http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00050.html for details). However, to fix it properly, note-head::calc-glyph-name should be completely rewritten (i.e. add test for empty style value in case statement and handle it identically as default style; also replace case statement by completely different way of dispatch to gain speed, e.g. with a hashtable or alist or...), which goes beyond my scheme skills. Any help from scheme/guile gurus is appreciated! Attached patch should fix this one and theoretically even *speed up* glyph name lookup, since it removes obsolete scheme code. Instead of trying to fix the scheme code, I added a new longa note head to the feta font. It looks exactly like a brevis head, but with a stem like quarter note. Maximae are not handled by this patch, but I actually have not ever seen a Maxima in modern font, so this is a generally open issue to be handled separately. May I apply this patch? Greetings, JuergenIndex: ChangeLog === RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v retrieving revision 1.5397 diff -u -r1.5397 ChangeLog --- ChangeLog 11 Oct 2006 19:54:32 - 1.5397 +++ ChangeLog 11 Oct 2006 20:12:37 - @@ -7,6 +7,10 @@ * mf/parmesan-heads.mf: Fix typo in comment. + * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by + adding longa head to feta font and removing obsolete default + mapping scheme code. + 2006-10-10 Han-Wen Nienhuys [EMAIL PROTECTED] * scm/output-lib.scm (fingering::calc-text): use origin Index: mf/feta-bolletjes.mf === RCS file: /cvsroot/lilypond/lilypond/mf/feta-bolletjes.mf,v retrieving revision 1.79 diff -u -r1.79 feta-bolletjes.mf --- mf/feta-bolletjes.mf4 Oct 2006 16:00:19 - 1.79 +++ mf/feta-bolletjes.mf11 Oct 2006 20:12:37 - @@ -148,6 +148,77 @@ % % dimensions aren't entirely right. % +def draw_longa (expr up) = + save stemthick, fudge; + + stemthick# = 2 stafflinethickness#; + define_whole_blacker_pixels (stemthick); + + fudge = hround (blot_diameter / 2); + + draw_outside_ellipse (1.80, 0, 0.707, 0); + undraw_inside_ellipse (1.30, 125, 0.68, 2 stafflinethickness#); + + pickup pencircle scaled stemthick; + + if up: + bot y1 = -d; + y2 = h; + rt x1 - fudge = 0; + x1 = x2; + + fudge + lft x3 = w; + x4 = x3; + top y4 = h + 3.0 staff_space; + y3 = y1; + else: + bot y1 = -d - 3.0 staff_space; + top y2 = h; + rt x1 - fudge = 0; + x1 = x2; + + fudge + lft x3 = w; + x4 = x3; + y4 = y2; + bot y3 = -d; + fi; + + draw_gridline (z1, z2, stemthick); + draw_gridline (z3, z4, stemthick); +enddef; + + +fet_beginchar (Longa notehead, u-2); + draw_longa (true); + + draw_staff (-2, 2, 0); +fet_endchar; + +fet_beginchar (Longa notehead, d-2); + draw_longa (false); + + draw_staff (-2, 2, 0); +fet_endchar; + + +if test 0: + fet_beginchar (Longa notehead, u-2); + draw_longa (true); + + draw_staff (-2, 2, 0.5); + fet_endchar; + + fet_beginchar (Longa notehead, d-2); + draw_longa (false); + + draw_staff (-2, 2, 0.5); + fet_endchar; +fi; + + +% +% dimensions aren't entirely right. +% def draw_brevis = save stemthick, fudge; Index: scm/output-lib.scm === RCS file: /cvsroot/lilypond/lilypond/scm/output-lib.scm,v retrieving revision 1.115 diff -u -r1.115 output-lib.scm --- scm/output-lib.scm 10 Oct 2006 13:38:32 - 1.115 +++ scm/output-lib.scm 11 Oct 2006 20:12:37 - @@ -119,6 +119,10 @@ (log (min 2 (ly:grob-property grob 'duration-log (case style + ;; default style is directly handled in note-head.cc as a + ;; special case (HW says, mainly for performance reasons). + ;; Therefore, style default does not appear in this case + ;; statement. -- jr ((xcircle) 2xcircle) ((harmonic) 0harmonic) ((baroque) @@ -137,16 +141,6 @@ (string-append (number-string log) (symbol-string style ((neomensural) (string-append (number-string log) (symbol-string style))) - ((default) - ;; The default font in mf/feta-bolletjes.mf defines a brevis, but - ;; neither a longa nor a maxima. Hence let us, for the moment, - ;; take
Re: FYI: Status of Ancient Notation Implementation
Juergen Reuter schreef: font. It looks exactly like a brevis head, but with a stem like quarter note. Maximae are not handled by this patch, but I actually have not ever seen a Maxima in modern font, so this is a generally open issue to be handled separately. May I apply this patch? cool. I've applied it already (after viewing the font glyph) -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen LilyPond Software Design -- Code for Music Notation http://www.lilypond-design.com ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: FYI: Status of Ancient Notation Implementation
Juergen Reuter wrote: Graham, what do you think, should this patch be applied? Without this patch, the reader of the documentation immediately sees that there must be something wrong but is left alone, as the figure does not show what is explained in the text. With the attached patch, the reader will (hopefully) see that episem to some extent works (to the same extent as in the lily 2.7.x series), but there is an explanation in the @refbugs paragraph that states that the episem feature is rather buggy. Yes, please apply. @refbugs is the right place for this info; the main body of the docs should explain things clearly. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: FYI: Status of Ancient Notation Implementation
On Sun, 8 Oct 2006, Juergen Reuter wrote: * Section 7.7.7: The episem articulation does not appear (there should be a horizontal line above the three last noteheads). In 2.7.x, the right ending was badly placed; now the episem is completely invisible. Also, the text scripts are colliding (but that is not really an ancient notation issue); they did not collide in 2.7.x. There are obviously multiple bugs behind this one, which are not easy to fix. In particular, the TextSpanner under certain circumstances produces lines with strange end points. If the line is (should be) quite short, it is not at all displayed. For the moment, I have tuned the figure in Sect. 7.7.7 such that the episem is displayed (still with bad right ending) and added an appropriate comment to the @refbugs paragraph (patch attached). Graham, what do you think, should this patch be applied? Without this patch, the reader of the documentation immediately sees that there must be something wrong but is left alone, as the figure does not show what is explained in the text. With the attached patch, the reader will (hopefully) see that episem to some extent works (to the same extent as in the lily 2.7.x series), but there is an explanation in the @refbugs paragraph that states that the episem feature is rather buggy. Of course, I would like to get this bug fixed, but it looks like I would have to rewrite major parts of TextSpanner and LineSpanner. Greetings, JuergenIndex: ChangeLog === RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v retrieving revision 1.5391 diff -u -r1.5391 ChangeLog --- ChangeLog 9 Oct 2006 14:14:42 - 1.5391 +++ ChangeLog 9 Oct 2006 15:52:03 - @@ -1,3 +1,8 @@ +2006-10-09 Jürgen Reuter [EMAIL PROTECTED] + + * Documentation/user/instrument-notation.itely: Tune Ancient + Articulations figure, such that the episem actually shows. + 2006-10-09 Han-Wen Nienhuys [EMAIL PROTECTED] * ly/generate-documentation.ly: update option name. Index: Documentation/user/instrument-notation.itely === RCS file: /cvsroot/lilypond/lilypond/Documentation/user/instrument-notation.itely,v retrieving revision 1.106 diff -u -r1.106 instrument-notation.itely --- Documentation/user/instrument-notation.itely27 Aug 2006 06:54:06 - 1.106 +++ Documentation/user/instrument-notation.itely9 Oct 2006 15:52:03 - @@ -2911,11 +2911,11 @@ \override TextScript #'font-family = #'typewriter \override TextScript #'font-shape = #'upright \override Script #'padding = #-0.1 -a4\ictus_ictus s1 -a4\circulus_circulus s1 -a4\semicirculus_semicirculus s1 s -a4\accentus_accentus s1 -\[ a4_episem \episemInitium \pes b \flexa a \episemFinis \] +a\ictus_ictus \break +a\circulus_circulus \break +a\semicirculus_semicirculus \break +a\accentus_accentus \break +\[ a_episem \episemInitium \pes b \flexa a b \episemFinis \flexa a \] } } @end lilypond @@ -2925,6 +2925,10 @@ Some articulations are vertically placed too closely to the correpsonding note heads. +The episem line is not displayed if its length is shorter than the +width of roughly 4 note heads. The right end of the episem line is +often too far to the right. + @node Custodes @subsection Custodes ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: FYI: Status of Ancient Notation Implementation
Juergen Reuter schreef: Of course, I would like to get this bug fixed, but it looks like I would have to rewrite major parts of TextSpanner and LineSpanner. LineSpanner and esp. TextSpanner is a complete mess, with text-dynamics, trills, brackets etc. all using the same code in zillions of slightly different ways. The TextSpanner and friends need a wholesale rewrite, IMO. -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen LilyPond Software Design -- Code for Music Notation http://www.lilypond-design.com ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: FYI: Status of Ancient Notation Implementation
On Mon, 9 Oct 2006, Geoff Horton wrote: FWIW, I'm not sure that the horizontal episema is best done with a TextSpanner anyhow. In Solesmes notation, at least, it goes right over the notes, not over the staff. Gepff Right. But I vaguely remember (I may be wrong) that a long time ago, spanner lines/brackets were able to follow into the staff directly over the notes. Anyway, I currently have no time for fixing this bug in a serious way. The question that I addressed to Graham is, should I just ignore this bug for now and do nothing about it at all, or should I try to apply minor tweaks to get it at least partially working in the documentation (with proper explanations in the @refbugs paragraph)? Greetings, Juergen ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: FYI: Status of Ancient Notation Implementation
On Sun, 8 Oct 2006, Juergen Reuter wrote: * Section 7.7.10.1, second figure: Ligature brackets are not at all displayed anymore. Same problem also in the introductionary Section 7.7.10. Should be fixed now in cvs. The adaption to the new stream event code was incomplete. Greetings, Juergen ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
FYI: Status of Ancient Notation Implementation
Hi all, just for the record in expectation of lily 2.10, here is a summary report of known _NEW_ bugs in ancient notation that were newly introduced in the 2.9.x series. I list them here as a collective todo list, for myself remembering them easier, but also for anybody else interested in the status of ancient notation implementation. I would like to see these bugs fixed, such that ancient notation at least does not get worse with each new release of lilypond, but my time is currently extremely limited; nevertheless, I will try having a look at one or another bug in the next couple of weeks/months. Of course, any help is highly appreciated! Mainly looking at the manual at the website (stamped as lily 2.9.21) and also considering the longa notes thread (cp. http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00022.html), I currently see the following bugs that were introduced in 2.9.x: * Section 7.7.7: The episem articulation does not appear (there should be a horizontal line above the three last noteheads). In 2.7.x, the right ending was badly placed; now the episem is completely invisible. Also, the text scripts are colliding (but that is not really an ancient notation issue); they did not collide in 2.7.x. * Section 7.7.9: The text scripts in the figure are unnecessarily widely spaced; the whole thing could be placed more tightly. However, in lily 2.7.x, it was placed too tightly, such that the text scripts were colliding. So I am not sure, if the situation now is to be seen as an improvement or worsening. Anyway, this issue is a general script placing issue rather than an ancient notation specific issue. * Section 7.7.10.1, first figure: In HTML, the figure does not show at all (in PDF, it does; probably some arithmetic problem in spacing calculation that lets the bounding box of the figure horizontally collapse; cp. http://lists.gnu.org/archive/html/lilypond-devel/2006-06/msg00133.html). Actually, I am not sure, if this problem was not already introduced in the 2.7.x series. * Section 7.7.10.1, second figure: Ligature brackets are not at all displayed anymore. Same problem also in the introductionary Section 7.7.10. * Appendix D.5.2: Horizontal padding around divisio maior (the vertical bar-like line) is far too narrow. Note, that the horizontal spacing looked (almost) ok, when Geoff Horton rewrote this template, cp. http://lists.gnu.org/archive/html/lilypond-devel/2006-03/msg00174.html, even though, at that time I already warned about possible problems... * The longa notes bug (cp. http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00022.html) has been tracked down to a general problem in output-lib.scm (see http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00050.html for details). However, to fix it properly, note-head::calc-glyph-name should be completely rewritten (i.e. add test for empty style value in case statement and handle it identically as default style; also replace case statement by completely different way of dispatch to gain speed, e.g. with a hashtable or alist or...), which goes beyond my scheme skills. Any help from scheme/guile gurus is appreciated! Finally, the good news: Meanwhile, I could partially solve the separation-item problems reported in http://lists.gnu.org/archive/html/lilypond-devel/2006-04/msg00313.html, so I hope to eventually correct placement of augmentum dots for vaticana-style ligatures. That's all for now... Greetings, Juergen ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel