From eae199162c181b55aba0a55a7af3685381a61b3b Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrgen=20Reuter?= Date: Tue, 21 Sep 2004 18:31:36 +0000 Subject: [PATCH] * Documentation/user/notation.itely (ancient flags): documented flags-related known bugs * lily/include/ligature-engraver.hh: added comment about why and how of (non-)use of abstract virtual methods * ly/engraver-init.ly (VaticanaVoice, GregorianTranscriptionVoice): bugfix (workaround): TextSpanner: unset dash-fraction property in order to get solid lines * ly/engraver-init.ly (MensuralStaff): fixed bad comment --- ChangeLog | 14 ++++++++++++++ Documentation/user/notation.itely | 10 ++++++++++ lily/include/ligature-engraver.hh | 15 +++++++++++++++ ly/engraver-init.ly | 12 +++++++++++- 4 files changed, 50 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5c078f5577..b8f8b3caf4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2004-09-21 Juergen Reuter + + * Documentation/user/notation.itely (ancient flags): documented + flags-related known bugs + + * lily/include/ligature-engraver.hh: added comment about why and + how of (non-)use of abstract virtual methods + + * ly/engraver-init.ly (VaticanaVoice, + GregorianTranscriptionVoice): bugfix (workaround): TextSpanner: + unset dash-fraction property in order to get solid lines + + * ly/engraver-init.ly (MensuralStaff): fixed bad comment + 2004-09-21 Mats Bengtsson * scripts/convert-ly.py (ly): Corrected replacement of \scriptBoth diff --git a/Documentation/user/notation.itely b/Documentation/user/notation.itely index 89e6154123..9e3e231e76 100644 --- a/Documentation/user/notation.itely +++ b/Documentation/user/notation.itely @@ -6016,6 +6016,16 @@ when typesetting the incipit of a transcribed piece of mensural music, the default flag style should be used. There are no flags in Gregorian Chant notation. +@refbugs + +The attachment of ancient flags to stems is slightly off due to a +change in early 2.3.x. + +Vertically aligning each flag with a staff line assumes that stems +always end either exactly on or exactly in the middle between two +staff lines. This may not always be true when using advanced layout +features of classical notation (which however are typically out of +scope for mensural notation). @node Ancient time signatures @subsection Ancient time signatures diff --git a/lily/include/ligature-engraver.hh b/lily/include/ligature-engraver.hh index a63920598f..51fbf31633 100644 --- a/lily/include/ligature-engraver.hh +++ b/lily/include/ligature-engraver.hh @@ -11,6 +11,21 @@ #include "engraver.hh" +/* + * FIXME: Spanner *create_ligature_spanner () and virtual void + * typeset_ligature (...) are abstract methods, such that we would + * like to declare them abstract: + * + * virtual Spanner *create_ligature_spanner () = 0; + * virtual void typeset_ligature (...) = 0; + * + * Unfortunately, clone_const_helper() (as expanded from the + * TRANSLATOR_DECLARATIONS macro) requires this class to be + * instantiatable, such that it may not have any abstract virtual + * functions. As a workaround, the actually abstract methods are + * implemented, but produce a programming_error whenever called. --jr + */ + class Ligature_engraver : public Engraver { protected: diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index fa8da27512..0f288016fc 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -675,6 +675,11 @@ EasyNotation = \context { % TODO: why \context override? autoBeaming = ##f % Prepare TextSpanner for \episem{Initium|Finis} use. + % + % N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will + % always produce dashed lines, regardless of the style property. + % + \override TextSpanner #'dash-fraction = #'() \override TextSpanner #'style = #'line \override TextSpanner #'edge-height = #'(0 . 0) \override TextSpanner #'padding = #0.5 @@ -740,6 +745,11 @@ EasyNotation = \context { % TODO: why \context override? autoBeaming = ##f % Prepare TextSpanner for \episem{Initium|Finis} use. + % + % N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will + % always produce dashed lines, regardless of the style property. + % + \override TextSpanner #'dash-fraction = #'() \override TextSpanner #'style = #'line \override TextSpanner #'edge-height = #'(0 . 0) \override TextSpanner #'padding = #0.5 @@ -796,7 +806,7 @@ EasyNotation = \context { % TODO: why \context override? % FIXME: unit on StaffSymbol's width should be \linewidth. % \override StaffSymbol #'width = #60.0 - % Choose vaticana do clef on 3rd line as default. + % Choose petrucci g clef on 2nd line as default. clefGlyph = #"clefs-petrucci-g" middleCPosition = #-6 clefPosition = #-2 -- 2.39.2