[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Trying to vary white mensural ligatures
From: |
Michael J. O'Donnell |
Subject: |
Trying to vary white mensural ligatures |
Date: |
Tue, 03 Mar 2009 22:54:48 -0600 |
User-agent: |
Thunderbird 2.0.0.19 (X11/20090105) |
I am trying to set the hand enscribed Bodleian MS Canon Misc 213
manuscript (don't ask why :-P ).
The notation is pretty much white mensural notation, but there are some
variations that I'm tackling one at a time.
I'm stuck on a form of ligature that uses the descending diagonal neume
to indicate two notes, and has a rising stem on the left.
\[ d\longa c\breve \] % gives the right diagonal neume, but no stem
\[ d1 c1 \] % gives the stem, but separate
diamond-shaped note heads
I have read the section on white mensural notation, the definitions of
ligature objects, and every mention of ligatures and mensural notation
in the Scheme files. On the possibility that there was an invisible
stem, as the manuals says there is for whole notes, I tried overriding
transparency and color of the Stem object, to no avail.
I'm not sure what note durations are intended in the manuscript, but if
I can get the right look, I'll eventually find an example that clarifies
the meaning of the notation, and I can program the overrides to
associate the right look with the right notations for note durations.
I'll append my whole source file, which has a bunch of other stuff that
I'm experimenting with. I enclosed the part in question between
commented lines of stars.
% *********************************************
If you produce output, the two versions of the ligature in question are
shown as the 2d-3d and 4th-5th notes at the end of the first line. (I
think that I shouldn't attach PDF in a mailing list, right?)
In case you're interested, this is Folio 1, containing a setting of "Et
in terra pax hominibus" by Binchois.
Thanks for any hints.
Mike O'Donnell
\version "2.10.33"
% \include "gregorian-init.ly"
#(set-default-paper-size "11x17")
#(set-global-staff-size 35) % unit is pt
% Cclefsign = \markup{ \musicglyph #"clefs.C" }
TenorClef = {
% The shape of the staff sign is good,
% but it needs to be void, instead of filled
\set Staff.clefGlyph = #"clefs.medicaea.do"
\set Staff.clefPosition = #2
\set Staff.middleCPosition = #2
}
% This method of setting the clef with markup appears not to work.
% It seems that the clef sign must be a single glyph.
%{
\override Clef #'stencil = #ly:text-interface::print
\override Clef #'text = \Cclefsign
\set Staff.clefPosition = #2
\set Staff.middleCPosition = #2
%}
filledBreveNotehead = \markup{
\combine
\musicglyph #"noteheads.sM1mensural"
\translate #'(0.1 . 0) \musicglyph #"noteheads.smedicaea.punctum"
}
filledLongaNotehead = \markup{
\combine
\musicglyph #"noteheads.sM2mensural"
\translate #'(0.1 . 0) \musicglyph #"noteheads.smedicaea.punctum"
}
filledMaximaNotehead = \markup{
\combine
\musicglyph #"noteheads.sM3mensural"
\combine
\musicglyph #"noteheads.s2la"
\translate #'(0.7 . 0) \musicglyph #"noteheads.s2la"
}
% At present, I am not using the triangle notehead.
%{
opentrianglenotehead = \markup{
\hcenter-in #0.8 \rotate #90
\combine
\fontsize #-2 \musicglyph #"noteheads.s0do"
\combine
\translate #'(0.125 . -0.025)
\fontsize #-3 \musicglyph #"noteheads.s0do"
\translate #'(0.25 . -0.05)
\fontsize #-4 \musicglyph #"noteheads.s0do"
}
%}
% Switch to filled notation.
FilledNotes = {
% Use filled diamonds for all notes no longer than whole note
\override NoteHead #'glyph-name =
#(lambda (grob)
(cond
((<= 0 (ly:grob-property grob 'duration-log))
"2petrucci")
(#t
(note-head::calc-glyph-name grob))
)
)
\override NoteHead #'stencil =
#(lambda (grob)
(if (> 0 (ly:grob-property grob 'duration-log))
(ly:text-interface::print grob)
(ly:note-head::print grob)
)
)
\override NoteHead #'text =
#(lambda (grob)
(cond
((= -1 (ly:grob-property grob 'duration-log))
filledBreveNotehead)
((= -2 (ly:grob-property grob 'duration-log))
filledLongaNotehead)
((= -3 (ly:grob-property grob 'duration-log))
filledMaximaNotehead)
(#t '())
)
)
% \override MensuralLigature #'thickness = 10
}
% Switch to void notation
VoidNotes = {
% Use void diamonds for all notes no longer than whole note
\override NoteHead #'glyph-name =
#(lambda (grob)
(if (<= 0 (ly:grob-property grob 'duration-log))
"0petrucci"
(note-head::calc-glyph-name grob)
)
)
\revert NoteHead #'stencil
}
\layout {
% line-width = #300 % What units?
indent = #0
\context {
\Score
\override SpacingSpanner
#'common-shortest-duration = #(ly:make-moment 8 1)
% \override SpacingSpanner
% #'spacing-increment = #0 % ??? No effect
% \override SpacingSpanner
% #'packed-spacing = ##t % ??? No effect
\override TimeSignature
#'font-size = #-6
}
\context {
\Voice
\remove Ligature_bracket_engraver
\consists Mensural_ligature_engraver
}
\context {
\MensuralStaff
\override Rest
#'style = #'mensural
\override BarLine
#'transparent = ##f
\override Custos
#'extra-offset = #'(1.25 . 0.0 )
\override Custos
#'X-offset = #-3.5
}
}
\score {
<<
\new MensuralVoice = "Cantus" {
%{ At present, I'm not using the triangular noteheads.
% For all notes semibreve or smaller (all except breve, longa, maxima),
% use the text-interface printer to allow a marked up note head.
\override NoteHead #'stencil =
#(lambda (grob)
(if (<= 0 (ly:grob-property grob 'duration-log))
(ly:text-interface::print grob)
(ly:note-head::print grob)
)
)
% For all notes semibreve or smaller, the note head is an isosceles
% right triangle, with the right angle to the left. I cooked this
% notehead up by overlaying and rotating three shape note triangles.
\override NoteHead #'text =
#(lambda (grob)
(if (<= 0 (ly:grob-property grob 'duration-log))
opentrianglenotehead
'()
)
)
% For notes with triangular heads, adjust the stem attachment to the
% top vertex.
\override NoteHead #'stem-attachment =
#(lambda (grob)
(if (<= 0 (ly:grob-property grob 'duration-log))
'(5/6 . 1)
'(1 . 1)
)
)
%}
% Start flags on the stem with quarter notes, instead of with eight notes,
% since the note heads do not become solid.
\override Stem #'duration-log =
#(lambda (grob)
(let ((old-dl (stem::calc-duration-log grob)))
(if (<= 2 old-dl)
(+ 1 old-dl)
old-dl
)
)
)
\override Score.BarNumber #'transparent = ##t {
\override Stem #'flag-style = #'mensural
\override BreathingSign #'text = #(make-musicglyph-markup
"scripts.caesura")
% \override BarLine #'transparent = ##f
\cadenzaOn
\TenorClef
\once \override MensuralStaff.TimeSignature #'extra-offset =
#'(0.0 . -0.5)
\time 3/2
\stemUp
\VoidNotes
f\breve % Et
g1 a1 g2 e2 f1 % in terra
g2 d'2.
\once \override Stem #'duration-log = #3
c'4 c'2. b4 b4 a4 % pax
\[ c'1 d'1. \] c'2 c'1. b2 b2 a2 c'1 % hominibus
r1 r1
bes1 a2 f2 g4 f4 g2 a1 % bone
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -1.0)
r1
f\breve \[ g1 b1 \] a1 g2 c'2 a2 f2 a2 c'1 b2 % volun
g2. f4 f1 % tatis
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -2.0)
r1
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -2.0)
r1
\once \override MensuralStaff.TimeSignature #'extra-offset =
#'(0.0 . -1.5)
\time 3/4
%
********************************************************************************
d\breve f\breve e1
\[ d1 c1 \] % laudamus duplicate to compare ligatures
\[ d\longa c\breve \] d2 e2 % laudamus (need variant slanted
ligature)
%
********************************************************************************
\bar ""
\break
\[ f1 e1 \] f2 d2 f\breve % te (need variant slanted ligature)
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -1.0)
r\breve
g\breve f1 a2 b2 c'1. b2 \[ g1 f1 \] % benedicimus (need variant
slanted ligature)
b1 a1. g2 g2 f2 a\breve % te
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -1.0)
r\breve
f\breve d1 f2 g2 a1. g2 % Adoramus
g1 f\breve \[ e1 d1 c\breve \] % te (not quite right)
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -2.0)
r\breve
% This section still needs filled ligatures
\FilledNotes
f\longa g\breve \[ a\breve c'\breve b\breve \]
\VoidNotes
% End of filled section
a\breve g1 % glorificamus (concluded)
\[ f1 e1 \] f2 d2 f\longa % te (need variant slanted ligature)
\bar "|"
\once \override MensuralStaff.TimeSignature #'extra-offset =
#'(0.0 . 1.5)
\time 3/2
c'2 d'2. c'4 c'2 b2 a2 c'1 % Gracias
r1
\[ c'1 d'1 \] c'2 b2 \[ a1 g1 \] % agimus (need variant slanted
ligature)
f1 \[ g1 a1 \] % tibi
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -1.0)
r1
c'1 d'1 % propter
\bar ""
\break
c'2 a2 \[ b1 c'1 \] % magnam
r1 r1
bes1 g2 b1 a2 \[ g1 f1. \] % gloriam
d2 f1 e2 c2 \[ d1 c1 \] % tuam (need variant slanted ligature)
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -3.0)
r1
f2 f2 f2 % domine
g2. f4 f1 e2 f1 %deus
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -2.0)
r1
b1 a2 % rex
c'1 b2 g2 f2 f1 % coelestis
a1 b1 % deus
c'1. b2 c'1 % pater
r1
d'1. c'2 c'1. b2 b2 a2 c'1 % omnipotens
r1 r1
\once \override MensuralStaff.TimeSignature #'extra-offset =
#'(0.0 . 1.5)
\time 3/4
c'\breve b1 \[ g1 f1 \] % domine (need variant slanted ligature)
g1 f2 b1 a2 g2 f2 a1 % fili
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -1.0)
r1
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -1.0)
r1
\bar ""
\break
f\breve g1 b1 a2 f2 g1 % unigenite
a1 b1. a2 \[ a1 g1. \] f2 % Jesu (need variant slanted ligature)
f1. d2 e4 d4 e2 f1 % Christe
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -2.0)
r1
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -2.0)
r1
d\breve c1. d2 f2 e2 f2 g2 % domine
e2 f1 % deus
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -2.0)
r1
g1. f2 f1. e2 e1 f2 % agnus
g1 f2 \[ d1 c1 \] % dei (need variant slanted ligature)
\once \override MensuralStaff.Rest #'extra-offset = #'(0.0 . -3.0)
r1
\FilledNotes
c\breve d\breve f\breve % filius
\VoidNotes
e2 f2 g1 bes2 a2 f1. e2 e2 d2 f\longa % patris
\bar "||"
d1 % bogus note to test spacing trick, with the padding override below
\once \override Score.SeparationItem #'padding = #10
% need space after double bar, and custos referring to next Cantus line
\bar ""
\break
}
}
>>
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Trying to vary white mensural ligatures,
Michael J. O'Donnell <=