Re: FYI: Status of Ancient Notation Implementation

2006-10-12 Thread Ralph Little
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

2006-10-11 Thread Juergen Reuter

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

2006-10-11 Thread Han-Wen Nienhuys

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

2006-10-11 Thread Graham Percival

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

2006-10-09 Thread Juergen Reuter

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

2006-10-09 Thread Han-Wen Nienhuys

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

2006-10-09 Thread Juergen Reuter

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

2006-10-08 Thread Juergen Reuter

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

2006-10-07 Thread Juergen Reuter

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