From b687e89b313ec664b41c6eede998c4738d6c84ab Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrgen=20Reuter?= Date: Thu, 16 Sep 2004 22:13:14 +0000 Subject: [PATCH] * Documentation/user/notation.itely (Ancient flags): Removed documentation on adjust-if-on-staffline (this property was removed by Han-Wen). * Documentation/user/notation.itely (Ancient notation): Minor cleanups and fixes. Renamed "Vaticana style contexts" -> "Gregorian Chant contexts". Added section "Mensural contexts". Added section "Ancient articulations". * ly/engraver-init.ly: Added "MensuralVoice" and "MensuralStaff". --- ChangeLog | 13 +++ Documentation/user/notation.itely | 155 ++++++++++++++++++++++++------ ly/engraver-init.ly | 57 +++++++++++ 3 files changed, 193 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4d8eade2e3..a758aa2992 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2004-09-16 Juergen Reuter + + * Documentation/user/notation.itely (Ancient flags): Removed + documentation on adjust-if-on-staffline (this property was removed + by Han-Wen). + + * Documentation/user/notation.itely (Ancient notation): Minor + cleanups and fixes. Renamed "Vaticana style contexts" -> + "Gregorian Chant contexts". Added section "Mensural contexts". + Added section "Ancient articulations". + + * ly/engraver-init.ly: Added "MensuralVoice" and "MensuralStaff". + 2004-09-16 Jan Nieuwenhuizen * buildscripts/guile-gnome.sh: Add missing bit. diff --git a/Documentation/user/notation.itely b/Documentation/user/notation.itely index ef766dd7ee..d1c0efa885 100644 --- a/Documentation/user/notation.itely +++ b/Documentation/user/notation.itely @@ -5578,12 +5578,11 @@ Many graphical objects provide a @code{style} property, see @item @ref{Ancient accidentals}, @item -@ref{Ancient -rests}, +@ref{Ancient rests}, @item @ref{Ancient clefs}, @item -@ref{Ancient flags} +@ref{Ancient flags}, @item @ref{Ancient time signatures}. @end itemize @@ -5593,10 +5592,19 @@ the affected graphical objects can be accommodated for a specific notation flavor without need for introducing any new notational concept. +In addition to the standard articulation signs described in section +@ref{Articulations}, specific articulation signs for ancient notation +are provided. + +@itemize @bullet +@item +@ref{Ancient articulations} +@end itemize + Other aspects of ancient notation can not that easily be expressed as -in terms of just changing a style property of a graphical object. -Therefore, some notational concepts are introduced specifically for -ancient notation, +in terms of just changing a style property of a graphical object or +adding articulation signs. Some notational concepts are introduced +specifically for ancient notation, @itemize @bullet @item @@ -5604,11 +5612,32 @@ ancient notation, @item @ref{Divisiones}, @item -@ref{Ligatures}, +@ref{Ligatures}. +@end itemize + +If this all is too much of documentation for you, and you just want to +dive into typesetting without worrying too much about the details on +how to customize a context, you may have a look at the predefined +contexts. Use them to set up predefined style-specific voice and +staff contexts, and directly go ahead with the note entry, + +@itemize @bullet +@item +@ref{Gregorian Chant contexts}, +@item +@ref{Mensural contexts}. +@end itemize + +There is limited support for figured bass notation which came +up during the baroque period. + +@itemize @bullet @item -@ref{Figured bass}. +@ref{Figured bass} @end itemize +Here are all suptopics at a glance: + @menu * Ancient note heads:: * Ancient accidentals:: @@ -5616,19 +5645,15 @@ ancient notation, * Ancient clefs:: * Ancient flags:: * Ancient time signatures:: +* Ancient articulations:: * Custodes:: * Divisiones:: * Ligatures:: -* Vaticana style contexts:: +* Gregorian Chant contexts:: +* Mensural contexts:: * Figured bass:: @end menu -If this all is too much of documentation for you, and you just want to -dive into typesetting without worrying too much about the details on -how to customize a context, you may have a look at the predefined -contexts (see @ref{Vaticana style contexts}). Use them to set up -predefined style-specific voice and staff contexts, and directly go -ahead with the note entry. @node Ancient note heads @subsection Ancient note heads @@ -5983,21 +6008,7 @@ c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32 @end lilypond Note that the innermost flare of each mensural flag always is -vertically aligned with a staff line. If you do not like this -behavior, you can set the @code{adjust-if-on-staffline} property of -grob @internalsref{Stem} to @code{##f}. Then, the vertical position -of the end of each flare is different between notes on staff lines and -notes between staff lines - -@lilypond[quote,fragment,raggedright] -\override Stem #'flag-style = #'mensural -\override Stem #'thickness = #1.0 -\override Stem #'adjust-if-on-staffline = ##f -\override NoteHead #'style = #'mensural -\autoBeamOff -c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8 -c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32 -@end lilypond +vertically aligned with a staff line. There is no particular flag style for neo-mensural notation. Hence, when typesetting the incipit of a transcribed piece of mensural @@ -6117,6 +6128,52 @@ This sets @code{breveTP} to 3/2 times 2 = 3 times a whole note. The @code{old6/8alt} symbol (an alternate symbol for 6/8) is not addressable with @code{\time}. Use a @code{\markup} instead +@node Ancient articulations +@subsection Ancient articulations + +@cindex articulations + +In addition to the standard articulation signs described in section +@ref{Articulations}, articulation signs for ancient notation are +provided. These are specifically designed for use with notation in +Editio Vaticana style. + +@lilypond[quote,raggedright,verbatim,noindent] +\include "gregorian-init.ly" +\score { + \context VaticanaVoice { + \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 \] + } + \paper { + \context { + \VaticanaVoice + % Prepare TextSpanner for \episem{Initium|Finis} use. + \override TextSpanner #'style = #'line + \override TextSpanner #'edge-height = #'(0 . 0) + \override TextSpanner #'padding = #0.5 + \override TextSpanner #'enclose-bounds = #1 + \override TextSpanner #'edge-text = #'("" . "") + } + } +} +@end lilypond + +@refbugs + +The line @code{\override Script #'padding = #-0.1} is required to +force the articulation signs being placed vertically tightly to the +correpsonding note heads. + +episem is currently broken due to a bug related with TextSpanner. + + @node Custodes @subsection Custodes @@ -7196,8 +7253,8 @@ respectively. -@node Vaticana style contexts -@subsection Vaticana style contexts +@node Gregorian Chant contexts +@subsection Gregorian Chant contexts @cindex VaticanaVoiceContext @cindex VaticanaStaffContext @@ -7231,6 +7288,40 @@ the following excerpt demonstrates } @end lilypond + +@node Mensural contexts +@subsection Mensural contexts + +@cindex MensuralVoiceContext +@cindex MensuralStaffContext + +The predefined @code{MensuralVoiceContext} and +@code{MensuralStaffContext} can be used to engrave a piece in mensural +style. These contexts initialize all relevant context properties and +grob properties to proper values, so you can immediately go ahead +entering the chant, as the following excerpt demonstrates + +@lilypond[quote,raggedright,verbatim,noindent] +\score { + << + \context MensuralVoice = "discantus" \transpose c c' { + \override Score.BarNumber #'transparent = ##t { + c'1\melisma bes a g\melismaEnd + f\breve + \[ f1\melisma a c'\breve d'\melismaEnd \] + c'\longa + c'\breve\melisma a1 g1\melismaEnd + fis\longa^\signumcongruentiae + } + } + \lyricsto "discantus" \new Lyrics { + San -- ctus, San -- ctus, San -- ctus + } + >> +} +@end lilypond + + @node Figured bass @subsection Figured bass diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 7263ce3375..1bb15e28b7 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -382,6 +382,7 @@ AncientRemoveEmptyStaffContext = \context { \RemoveEmptyStaffContext \accepts "VaticanaVoice" \accepts "GregorianTranscriptionVoice" + \accepts "MensuralVoice" } \context { @@ -421,6 +422,7 @@ AncientRemoveEmptyStaffContext = \context { \accepts "TabStaff" \accepts "VaticanaStaff" \accepts "GregorianTranscriptionStaff" + \accepts "MensuralStaff" \accepts "StaffGroup" \accepts "RhythmicStaff" \accepts "DrumStaff" @@ -756,3 +758,58 @@ EasyNotation = \context { % TODO: why \context override? % Instead, we make the grob transparent. \override BarLine #'transparent = ##t } + +\context { + \Voice + \name "MensuralVoice" + \alias "Voice" + \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style." + + \remove "Slur_engraver" + \remove "Ligature_bracket_engraver" + \consists "Mensural_ligature_engraver" + + % Set default head for notes outside of \[ \]. + \override NoteHead #'style = #'mensural + + % There are no beams in mensural notation. + autoBeaming = ##f +} + +\context { + \Staff + \name "MensuralStaff" + \alias "Staff" + \denies "Voice" + \accepts "MensuralVoice" + \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style." + + \consists "Custos_engraver" + + % We can not remove Bar_engraver; otherwise clefs and custodes will + % not show up any more among other line breaking issues. + % Instead, we make the grob transparent. + \override BarLine #'transparent = ##t + + \override StaffSymbol #'thickness = #0.6 + + % FIXME: unit on StaffSymbol's width should be \linewidth. + % \override StaffSymbol #'width = #60.0 + + % Choose vaticana do clef on 3rd line as default. + clefGlyph = #"clefs-petrucci-g" + middleCPosition = #-6 + clefPosition = #-2 + clefOctavation = #0 + + % Select mensural style font. + \override TimeSignature #'style = #'mensural + \override KeySignature #'style = #'mensural + \override Accidental #'style = #'mensural + \override Custos #'style = #'mensural + \override Custos #'neutral-position = #3 + \override Custos #'neutral-direction = #-1 + + % Score.timing = ##f + % Score.barAlways = ##t +} -- 2.39.5