c''-\rtoe c''-\turn c''-\open c''-\flageolet
c''-\reverseturn c''-\trill c''-\prall c''-\mordent
c''-\prallprall c''-\prallmordent c''-\upprall c''-\downprall
- c''-\thumb c''-\segno c''-\coda
+ c''-\upmordent c''-\downmordent c''-\pralldown c''-\prallup
+ c''-\lineprall c''-\thumb c''-\segno c''-\coda
}
\context Lyrics \lyrics {
accent__ marcato__ staccatissimo__ fermata
rtoe__ turn__ open__ flageolet
reverseturn__ trill__ prall__ mordent
prallprall__ prallmordent__ uprall__ downprall
- thumb__ segno__ coda
+ upmordent__ downmordent__ pralldown__ prallup__
+ lineprall__ thumb__ segno__ coda
}
>
\paper {
\property Staff.KeySignature \override #'style = #'vaticana
\property Staff.Accidentals \override #'style = #'vaticana
\property Staff.Custos \override #'style = #'vaticana
- \property Voice.NoteHead \override #'style = #'mensural
+ \property Voice.NoteHead \override #'style = #'vaticana_punctum
\key es \major
\clef "vaticana_fa2"
- cis!2 des! e! fis! ges!
+ c!1 des! e! f! ges!
% \property Staff.clefGlyph = #"clefs-vaticana_do"
% \property Staff.clefPosition = #1
% \property Staff.clefOctavation = #0
\clef "vaticana_do2"
- a b c'
- b as gis fes
+ \property Voice.NoteHead \override #'style = #'vaticana_subbipunctum
+ a! b! ces'
+ \property Voice.NoteHead \override #'style = #'vaticana_virga
+ b! a! ges fes
\clef "vaticana_fa1"
- es dis ces1 \bar "|"
+ \property Voice.NoteHead \override #'style = #'vaticana_quilisma
+ es d
+ \property Voice.NoteHead \override #'style = #'vaticana_rvirga
+ c d
+ \breathe
+ \property Voice.NoteHead \override #'style = #'vaticana_rvirga
+ es f
+ \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+ \property Voice.NoteHead \override #'style = #'vaticana_lpes
+ g as
+ \property Staff.BarLine \override #'bar-size = #2.0 \bar "|"
+ \property Voice.NoteHead \override #'style = #'vaticana_upes
+ bes as
+ \breathe
+ \property Voice.NoteHead \override #'style = #'vaticana_vupes
+ g f
+ \property Voice.NoteHead \override #'style = #'vaticana_plica
+ \property Staff.BarLine \override #'bar-size = #2.0 \bar "|"
+ es d
+ \property Voice.NoteHead \override #'style = #'vaticana_epiphonus
+ \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+ c d
+ \property Voice.NoteHead \override #'style = #'vaticana_cephalicus
+ es f
\property Staff.KeySignature \override #'style = #'medicaea
\property Staff.Accidentals \override #'style = #'medicaea
\property Staff.Custos \override #'style = #'medicaea
- \property Voice.NoteHead \override #'style = #'mensural
+ \property Voice.NoteHead \override #'style = #'medicaea_punctum
\clef "medicaea_fa2"
- ces2 des es fes ges
+ ces! des! e! f! ges!
\clef "medicaea_do2"
- as bes ces'
- bes as ges fes
+ \property Voice.NoteHead \override #'style = #'medicaea_subbipunctum
+ a! b! ces'!
+ \property Voice.NoteHead \override #'style = #'medicaea_virga
+ b! a! ges! fes!
\clef "medicaea_fa1"
- es des ces1 \bar "|"
+ \property Voice.NoteHead \override #'style = #'medicaea_rvirga
+ e! des! ces! \bar "|"
\property Staff.KeySignature \override #'style = #'hufnagel
\property Staff.Accidentals \override #'style = #'hufnagel
\property Staff.Custos \override #'style = #'hufnagel
- \property Voice.NoteHead \override #'style = #'mensural
+ \property Voice.NoteHead \override #'style = #'hufnagel_punctum
\clef "hufnagel_fa2"
- ces!2 des! es! fes! ges!
+ ces! des! es! fes! ges!
\clef "hufnagel_do2"
+ \property Voice.NoteHead \override #'style = #'hufnagel_lpes
as! bes! ces'!
+ \property Voice.NoteHead \override #'style = #'hufnagel_virga
bes! as! ges! fes!
\clef "hufnagel_do_fa"
+ \property Voice.NoteHead \override #'style = #'hufnagel_punctum
es! des! ces!1 \bar "||"
}
>
\property Staff.KeySignature \override #'style = #'mensural
\property Staff.Accidentals \override #'style = #'mensural
\property Staff.Custos \override #'style = #'mensural
- \property Voice.NoteHead \override #'style = #'mensural
+ \property Voice.NoteHead \override #'style = #'neo_mensural
\key a \major
\clef "neo_mensural_c2"
c2 dis es fis ges
\clef "mensural_g"
e d c1 \bar "|"
+ \property Voice.NoteHead \override #'style = #'mensural
\clef "petrucci_f"
c2 d e f g
\property Staff.forceClef = ##t
% \paperTwentysix
linewidth = 17.25\cm
textheight = 26.0\cm
- stafflinethickness = \staffspace / 5.0
+% stafflinethickness = \staffspace / 5.0
indent = 0.0
\translator {
\StaffContext
\consists Custos_engraver
% Custos \override #'style = #'mensural
\remove Time_signature_engraver
+ StaffSymbol \override #'thickness = #2.0
% StaffSymbol \override #'line-count = #4
}
}
}
-
\header {
texidoc="Document trills, pralls and turns"
- title="Marques des agr\'ements et leur signification"
+ title="Marques des agr\\'ements et leur signification"
+ composer="D'Anglebert"
copyright="(1689)"
}
+invisible = \property Voice.NoteHead \override #'transparent = ##t
+visible = \property Voice.NoteHead \revert #'transparent
+
+% Ugly hack to get reasonable position of the pincé and Cheute
+startHorizScript = {
+ \property Voice.scriptHorizontal = ##t
+ \property Voice.Script \override #'padding = #0.3
+ \property Voice.Script \override #'extra-offset = #'(-.6 . 0)
+ % Avoid collision with the dots of dotted notes
+ \property Voice.Dots \override #'extra-extent-X = #'(-0.7 . 0)
+}
+endHorizScript = {
+ \property Voice.scriptHorizontal \unset
+ \property Voice.Dots \revert #'padding
+ \property Voice.Script \revert #'padding
+ \property Voice.Script \revert #'extra-offset
+}
+
+
\score {
<
\property Score.TimeSignature = \turnOff
\context GrandStaff <
\context Staff=upper \notes\relative c'' {
\time 1/4
- c4-\prallprall
+ c4-\prall
\time 3/8
- c4.^"TODO"
+ c4.^\lineprall
c4.-\downprall
c4.-\upprall
\time 5/8
c4-\turn c4.-\upprall
+ d4-\turn b4.-\downprall
+ \time 3/4
+ b4 c^\turn d
+ \time 1/4
+ <\context Voice=upper{\voiceOne d4}
+ \context Voice=lower{\voiceTwo
+ \property Voice.Script \override #'extra-offset = #'(-0.8 . 2.0)
+ b_\turn}>
+ \startHorizScript c^\comma
+ \time 3/8
+ c4.^\comma
+ b8 c4_\comma
+ c8 b4_\comma
+ b8 c4^\comma _\comma \endHorizScript
+ \time 2/2 \slurDown
+ <{c2}{s4 \invisible d1*1/4 ( \visible }> ) e2
+ <{a,2}{s4 \invisible b1*1/4 ( \visible }> ) d2
+ <{a2}{s4 \invisible b1*1/4 ( \visible }> ) d2
+ \time 3/4
+ d2^\prallup e4
}
\context Lyrics=one \lyrics {
"Tremblement"4
"Cadence"
"autre"
"Double"4 "cadence"4.
+ "autre"4 _4.
+ _4 "sans tremblement"2
+ "sur une tierce"4
+ "Pinc\\'e"4
+ "autre"4.
+ "Cheute ou Port de"
+ "en descendant"
+ "Cheute et pinc\\'e"
+ "Coul\\'e Sur 2 notes"1
+ "autre"
+ "autre"
+ "Double cadence"2.
}
\context Lyrics=two \lyrics {
"simple"4
"appuy\'e"4.
+ \skip 1*3
+ \skip 4 \skip 4.
+ "voix et montant"
+ \skip 2.
+ "de suite"1
}
\context Staff=lower \notes\relative c'' {
% autobeamer has som problems here
Articulation_req const* a = dynamic_cast<Articulation_req const*> (r);
return a && gh_equal_p (get_mus_property ("articulation-type"),
- r->get_mus_property ("articulation-type"));
+ r->get_mus_property ("articulation-type"))
+ && get_direction () == a->get_direction ();
}
draw_brevis(brevis_wid#);
fet_endchar;
-def draw_mensural_black_head (expr wid) =
+def draw_neo_mensural_black_head (expr wid) =
save head_width;
head_width# = wid;
set_char_box (0, head_width#, noteheight#/2, noteheight#/2);
filldraw z1 -- z2 -- z3 -- z4 -- cycle;
enddef;
-def draw_mensural_open_head (expr wid)=
- draw_mensural_black_head (wid);
+def draw_neo_mensural_open_head (expr wid)=
+ draw_neo_mensural_black_head (wid);
save diamNW, diamSW;
diamNW = length (z2 - z1) + blot_diameter;
diamSW = length (z4 - z1) + blot_diameter;
unfill z5 -- z6 -- z7 -- z8 --cycle;
enddef;
+fet_beginchar("Neo-mensural open head","0neo_mensural","neomensuralminimhead")
+ draw_neo_mensural_open_head (staff_space#);
+fet_endchar;
+
+fet_beginchar("Neo-mensural open head","1neo_mensural","neomensuralsemiminimhead")
+ draw_neo_mensural_open_head (staff_space#);
+fet_endchar;
+
+fet_beginchar("Neo-mensural black head","2neo_mensural","neofusahead")
+ draw_neo_mensural_black_head (staff_space#);
+fet_endchar;
+
+
+def draw_mensural_head (expr wid, open) =
+ save head_width;
+ head_width# = wid;
+ set_char_box (0, head_width#,
+ noteheight#/2, noteheight#/2);
+
+ define_pixels(head_width, noteheight);
+
+ x2 = head_width/2;
+ y2 = 1.1 noteheight/2;
+ y1 = 0;
+ (x2 - x1) / (y2 - y1) = tand(30);
+ z3 = (2x2 - x1, y1);
+ z4 = z3 + z1 - z2;
+
+ pickup pencircle
+ xscaled 0.18 head_width
+ yscaled 0.36 head_width
+ rotated -30;
+
+ if open:
+ draw z1 -- z2 -- z3 -- z4 -- cycle;
+ else:
+ filldraw z1 -- z2 -- z3 -- z4 -- cycle;
+ fi;
+enddef;
+
+
fet_beginchar("Mensural open head","0mensural","mensuralminimhead")
- draw_mensural_open_head (staff_space#);
+ draw_mensural_head (staff_space#, true);
fet_endchar;
fet_beginchar("Mensural open head","1mensural","mensuralsemiminimhead")
- draw_mensural_open_head (staff_space#);
+ draw_mensural_head (staff_space#, true);
fet_endchar;
fet_beginchar("Mensural black head","2mensural","fusahead")
- draw_mensural_black_head (staff_space#);
+ draw_mensural_head (staff_space#, false);
fet_endchar;
2beta# = ht# * b_h;
a# = beta# * a_b;
wd# = 2a# / a_w;
- set_char_box(0, wd#, 0.5 ht#, 0.5 ht#);
+ set_char_box(0.3wd#, 0.3wd#, 0.5 ht#, 0.5 ht#);
black_notehead_width# := wd#;
save za, alpha, size;
2beta# = ht# * b_h;
a# = beta# * a_b;
wd# = 2a# / a_w;
- set_char_box(0.0, 0.4wd#, 0.5ht#, 0.5ht#);
+ set_char_box(0.25wd#, 0.25wd#, 0.5ht#, 0.5ht#);
black_notehead_width# := wd#;
save convexity;
2beta#=ht#*b_h;
a# = beta#*a_b;
wd# = 2a# / a_w;
- set_char_box(0, wd#, 0.5 ht#, 0.5 ht#);
+ set_char_box(0.1wd#, 0.4wd#, 0.5 ht#, 0.5 ht#);
black_notehead_width# := wd#;
define_pixels(ht, wd);
2beta# = ht# * b_h;
a# = beta# * a_b;
wd# = 2a# / a_w;
- set_char_box(0, wd#, 0.5 ht#, 0.5 ht#);
+ set_char_box(wd#/2, wd#/2, 0.5 ht#, 0.5 ht#);
black_notehead_width# := wd#;
save za, alpha, size;
2beta# = ht# * b_h;
a# = beta# * a_b;
wd# = 2a# / a_w;
- set_char_box(wd#/2, wd#/2, 0.7 ht#, 0.7 ht#);
+ set_char_box(wd#, wd#, 0.7 ht#, 0.7 ht#);
black_notehead_width# := wd#;
- save za, zb, zc, alpha, size;
- pair za, zb, zc;
+ save za, alpha, size;
+ pair za;
define_pixels(ht, wd);
alpha = 35;
size = 0.7ht;
labels(4);
fet_endchar;
+% Hmm, changed 1.5 to 1.4 to avoid problems with "random" placement of
+% the dots because of quantization effects for almost integer values. /MB
+
+
+%
+% Hmm. Should not meddle with darkness of font. Check out the
+% correct value for radius. Maybe we'd better change padding --hwn
+%
fet_beginchar("staccato dot", "staccato", "staccato")
save radius;
- radius# = 1.5 stafflinethickness#;
+ radius# = 1.4 stafflinethickness#;
define_pixels(radius);
pickup pencircle scaled 2 radius;
draw (0,0);
fet_endchar;
+def draw_comma =
+ save alpha, thick, thin, ht;
+ alpha:=35;
+ thin# = 1.2 stafflinethickness#;
+ thick# = 3 stafflinethickness#;
+ ht# = .6staff_space#;
+ define_pixels(thin, thick,ht);
+ set_char_box(0, .5staff_space#, ht#, ht#);
+
+ penpos1(thick, alpha);
+ penpos2(thick, alpha+90);
+ penpos3(thin, 180-alpha);
+ penpos4(thin, 90-alpha);
+ x3r=0;
+ x1l=x3l;
+ y2r=-y4l=h;
+ z1=z2;
+ z3=z4;
+ penlabels(1,2,3,4);
+ fill z1l{dir (alpha+90)} .. z2r{dir alpha} .. z1r{dir (alpha-90)} ..
+ z3l{dir (270-alpha)} .. z4l{dir (alpha+180)} ..
+ z3r{dir (90-alpha)} .. cycle;
+enddef;
+
+fet_beginchar("Right Comma","rcomma","rcomma");
+ draw_comma;
+fet_endchar;
+
+fet_beginchar("Left Comma","lcomma","lcomma");
+ draw_comma;
+ xy_mirror_char;
+fet_endchar;
+
thick#:=1/24designsize;
define_blacker_pixels(thick);
fet_beginchar("mordent", "mordent", "mordent")
trills := 2;
- set_char_box(trills*twidth#-0.5toverlap#, trills*twidth#-0.5toverlap#, theight#, theight#);
+ set_char_box(trills*twidth#-0.5toverlap#, trills*twidth#-0.5toverlap#, 4/3*theight#, 4/3*theight#);
draw_trill_two;
draw_mordent(0);
fet_endchar;
fet_beginchar("prallmordent", "prallmordent", "prallmordent")
trills := 3;
- set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, theight#, theight#);
+ set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, 4/3*theight#, 4/3*theight#);
draw_trill_three;
draw_mordent(twidth-0.5toverlap);
fet_endchar;
draw_trill_three;
fet_endchar;
+fet_beginchar("upmordent", "upmordent", "upmordent")
+% trills := 4;
+ trills := 3;
+ set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, 4/3*theight#, 4/3*theight#);
+% draw_slur(-2twidth#,-2theight#,0,-1);
+% currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin);
+ draw_slur(0,-2theight#,0,-1);
+% currentpicture := currentpicture shifted (-0.5w+1.3tthin,-tfat*theight+1.5tthin);
+ currentpicture := currentpicture shifted (-0.5w+1.65tthin,-tfat*theight+1.15tthin);
+% draw_trill_four;
+ draw_trill_three;
+ draw_mordent(twidth-0.5toverlap);
+fet_endchar;
+
+fet_beginchar("downmordent", "downmordent", "downmordent")
+ trills := 3;
+ set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, 4/3*theight#, 4/3*theight#);
+% draw_slur(-2twidth#,2theight#,0,1);
+ draw_slur(0,2theight#,0,1);
+% currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin);
+ currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.5tthin);
+ draw_trill_three;
+ draw_mordent(twidth-0.5toverlap);
+fet_endchar;
+
+fet_beginchar("lineprall", "lineprall", "lineprall")
+ trills := 3;
+ set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, theight#, 4*theight#);
+ pickup pencircle scaled tthin;
+ draw (-0.5w+tthin,-tfat*theight+0.5tthin) -- (-0.5w+tthin,h);
+ draw_trill_three;
+fet_endchar;
+
+fet_beginchar("pralldown", "pralldown", "pralldown")
+% trills := 4;
+ trills := 3;
+ set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, theight#, theight#);
+% draw_slur(-2twidth#,-2theight#,0,-1);
+% currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin);
+ draw_slur(0,-2theight#,0,-1);
+% currentpicture := currentpicture shifted (-0.5w+1.3tthin,-tfat*theight+1.5tthin);
+ currentpicture := currentpicture shifted (-0.5w+1.65tthin,-tfat*theight+1.15tthin);
+% draw_trill_four;
+ draw_trill_three;
+ currentpicture := currentpicture xscaled -1;
+fet_endchar;
+
+fet_beginchar("prallup", "prallup", "prallup")
+ trills := 3;
+ set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, theight#, theight#);
+% draw_slur(-2twidth#,2theight#,0,1);
+ draw_slur(0,2theight#,0,1);
+% currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin);
+ currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.5tthin);
+ draw_trill_three;
+ currentpicture := currentpicture xscaled -1;
+fet_endchar;
+
%
%
fet_beginchar("Ed. Vat. Flat" , "vaticana-1", "vaticanaflat");
- set_char_box(0, 0.8 staff_space#, 0.6 staff_space#,
+ set_char_box(0, 0.7 staff_space#, 0.6 staff_space#,
2.0 staff_space#);
define_pixels (stafflinethickness, staff_space);
fet_endchar;
fet_beginchar("Ed. Vat. Natural" , "vaticana0", "vaticananatural");
- set_char_box(0, 0.7 staff_space#, 0.6 staff_space#,
+ set_char_box(0, 0.6 staff_space#, 0.6 staff_space#,
2.0 staff_space#);
define_pixels (stafflinethickness, staff_space);
%
%
fet_beginchar("Mensural Sharp" , "mensural1", "mensuralsharp");
- set_char_box(0, 0.7 staff_space#, 0.5 staff_space#,
+ set_char_box(0.4 staff_space#, 0.6 staff_space#, 0.5 staff_space#,
0.5 staff_space#);
save stemthick;
define_pixels (stemthick, staff_space);
fet_endchar;
fet_beginchar("Mensural Flat" , "mensural-1", "mensuralflat");
- set_char_box(0, 0.7 staff_space#, 0.4 staff_space#,
+ set_char_box(0.1 staff_space#, 0.7 staff_space#, 0.4 staff_space#,
1.8 staff_space#);
save stemthick;
define_pixels (stemthick, staff_space);
fet_endchar;
fet_beginchar("Hufnagel Flat" , "hufnagel-1", "hufnagelflat");
- set_char_box(0, 0.7 staff_space#, 0.4 staff_space#,
+ set_char_box(0.5 staff_space#, 0.7 staff_space#, 0.4 staff_space#,
1.8 staff_space#);
save stemthick;
define_pixels (stemthick, staff_space);
((default) '(1.0 . 0.5))
((cross) '(1.0 . 0.75))
((mensural) '(0.0 . 0.6))
+ ((neo_mensural) '(0.0 . 0.6))
((diamond) '(1.0 . 0.8))
((transparent) '(1.0 . 1.0))
((slash) '(1.0 . 1.0))
("stopped" . ((feta . ("stopped" . "stopped")) #f 0 1 0))
("staccato" . ((feta . ("staccato" . "staccato")) #t -1 0 -100))
("tenuto" . ((feta . ("tenuto" . "tenuto")) #t -1 0 0))
+ ("comma" . ((feta . ("lcomma" . "rcomma")) #t 0 1 0))
("upbow" . ((feta . ("upbow" . "upbow")) #f 0 1 0))
("downbow" . ((feta . ("downbow" . "downbow")) #f 0 1 0))
("lheel" . ((feta . ("upedalheel" . "upedalheel")) #f 0 -1 0))
("prallmordent" . ((feta . ("prallmordent" . "prallmordent")) #f 0 1 0))
("upprall" . ((feta . ("upprall" . "upprall")) #f 0 1 0))
("downprall" . ((feta . ("downprall" . "downprall")) #f 0 1 0))
+ ("upmordent" . ((feta . ("upmordent" . "upmordent")) #f 0 1 0))
+ ("downmordent" . ((feta . ("downmordent" . "downmordent")) #f 0 1 0))
+ ("lineprall" . ((feta . ("lineprall" . "lineprall")) #f 0 1 0))
+ ("pralldown" . ((feta . ("pralldown" . "pralldown")) #f 0 1 0))
+ ("prallup" . ((feta . ("prallup" . "prallup")) #f 0 1 0))
("segno" . ((feta . ("segno" . "segno")) #f 0 1 0))
("coda" . ((feta . ("coda" . "coda")) #f 0 1 0)))
default-script-alist)