+2006-10-22 Jürgen Reuter <reuter@ipd.uka.de>
+
+ * Documentation/user/examples.itely (Transcription of mensural
+ music): Added more comments in .ly source. Suggest to remove
+ Forbid_line_break_engraver to allow line breaking at all bars.
+
+ * Documentation/user/instrument-notation.itely (Ancient
+ articulations): Updated @refbugs regarding episem.
+
+ * Documentation/user/instrument-notation.itely (Gregorian square
+ neumes ligatures): Added \augmentum dots. Updated @refbugs
+ regarding \augmentum.
+
+ * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
+
+ * input/test/ligature-vaticana.ly: Added \augmentum dots. Updated
+ comment.
+
+ * lily/vaticana-ligature-engraver.cc: Added TODO comment for
+ \augmentum dots.
+
+ * ly/gregorian-init.ly: Added \augmentum macro.
+
2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
* lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
\layout {
\context {
\Score
+
+ % no bars in staves
\override BarLine #'transparent = ##t
+
+ % incipit should not start with a start delimiter
\remove "System_start_delimiter_engraver"
}
\context {
\Voice
+
+ % no slurs
\override Slur #'transparent = ##t
+
+ % Comment in the below "\remove" command to allow line
+ % breaking also at those barlines where a note overlaps
+ % into the next bar. The command is commented out in this
+ % short example score, but especially for large scores, you
+ % will typically yield better line breaking and thus improve
+ % overall spacing if you comment in the following command.
+ %\remove "Forbid_line_break_engraver"
}
}
}
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.
+The episem line is not displayed in many cases. If it is displayed,
+the right end of the episem line is often too far to the right.
@node Custodes
@subsection Custodes
@c even more Gregorian ligatures, and add a link to this document
@c here.
+Augmentum dots, also called @emph{morae}, are added with the music
+function @code{\augmentum}. Note that @code{\augmentum} is
+implemented as a unary music function rather than as head prefix. It
+applies to the immediately following music expression only. That is,
+@code{\augmentum \virga c} will have no visible effect. Instead, say
+@code{\virga \augmentum c} or @code{\augmentum @{\virga c@}}. Also
+note that you can say @code{\augmentum @{a g@}} as a shortcut for
+@code{\augmentum a \augmentum g}.
+
+@lilypond[quote,ragged-right,verbatim]
+\include "gregorian-init.ly"
+\score {
+ \new VaticanaVoice {
+ \[ \augmentum a \flexa \augmentum g \]
+ \augmentum g
+ }
+}
+@end lilypond
+
@refcommands
The following head prefixes are supported
@code{\flexa} infix commands for a rising and falling line of melody,
respectively.
+@funindex \augmentum
+Use the unary music function @code{\augmentum} to add augmentum dots.
+
+@refbugs
+
+When an @code{\augmentum} dot appears at the end of the last staff
+within a ligature, it is sometimes vertically placed wrong. As a
+workaround, add an additional skip note (e.g. @code{s8}) as last note
+of the staff.
+@code{\augmentum} should be implemented as a head prefix rather than a
+unary music function, such that @code{\augmentum} can be intermixed
+with head prefixes in arbitrary order.
@node Gregorian Chant contexts
@subsection Gregorian Chant contexts
%{
-TODO: augmentum. Syntax: either as bracket (\augmentumInitium,
-\augmentumFinis), or as head prefix with subsequently collecting all
-dots and putting them behind the ligature in a vertical row.
-Counterexample to the second approach: Graduale Triplex, tempus per
-annum, hebdomada septima, alleluia (page 280).
-
FIXME: horizontal spacing (ragged right mode).
FIXME: padding/minimum-distance is fragile.
a\circulus
a\semicirculus
a\accentus
-
- %{ %% TODO: augmentum:
- a\augmentum
- \[ \augmentumInitium b \flexa a \augmentumFinis \]
- %}
-
\[ a \episemInitium \pes b \flexa a \episemFinis \]
}
}
\header { texidoc = "@cindex Ancient Vaticana
Vaticana ligature uses four staff lines, special clef, and
-calligraphic notes. "
+calligraphic notes. Augmentum dots are collected behind
+ligatures. "
}
\include "gregorian-init.ly"
c \pes d \quilisma e \pes f \virga g
a \flexa f \pes g \inclinatum f \inclinatum e\melismaEnd \]
\[ d\melisma \quilisma e f \flexa e \pes f\melismaEnd \]
- \[ e\melisma \flexa d\melismaEnd \]
+ \[ \augmentum e\melisma \flexa \augmentum d\melismaEnd \]
}
verba = \new Lyrics = "verba" \lyricmode {
* negative impact, since dotted notes appear within a ligature
* usually always at the end of the ligature, such that the bug never
* should apply for valid ligatures.
+ *
+ * TODO: Graduale Triplex, tempus per annum, hebdomada septima,
+ * alleluia (page 280) shows a counter-example for collecting dots
+ * always in a single column behind the ligature. Maybe only the last
+ * two dots in a ligature should be collected and all other dots put
+ * behind or on top of the head?
*/
class Vaticana_ligature_engraver : public Gregorian_ligature_engraver
{
%{
Shortcuts common for all styles of gregorian chant notation.
- $Id: gregorian-init.ly,v 1.47 2006/10/09 21:12:26 reuter Exp $
+ $Id: gregorian-init.ly,v 1.48 2006/10/22 20:19:31 reuter Exp $
%}
\version "2.7.39"
circulus = #(make-articulation "circulus")
episemInitium = \startTextSpan
episemFinis = \stopTextSpan
-augmentum = {
- %%% TODO: A ligature head postfix that indicates that an
- %%% augmentum dot should be appended to the right end of
- %%% the surrounding ligature. [Not yet implemented.]
-}
+
+%
+% \augmentum increases the dot-count value of all note heads to which
+% it is applied by one.
+%
+augmentum =
+#(define-music-function (parser location expr) (ly:music?)
+ (shift-duration-log expr 0 1))
%
% Declare shortcut music functions for Liber Hymnarius neumes
%%% causes tons of "programming error: adding reverse spring,
%%% setting to unit" messages.
%%%
+ %\override SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 4)
%\override SpacingSpanner #'shortest-duration-space = #0
%\override SpacingSpanner #'average-spacing-wishes = ##f
%\override SpacingSpanner #'spacing-increment = #0.0