[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Ornament patch
From: |
Mats Bengtsson |
Subject: |
Ornament patch |
Date: |
Sun, 05 Aug 2001 17:59:33 +0200 |
Hi,
here's a patch that implements some more baroque ornaments,
as requested by J?r?mie. I'm not sure if you want to include
it only in 1.5.x or also in 1.4.x. Remember that he runs Windows.
Since I didn't get any response on the question on duplicated
articulation scripts, I changed so it only removes duplicates
that have the same direction. Also I included an old patch to
handle weird key signatures, that never got included.
/Mats
Generated by (address unknown),
From = lilypond-1.4.6, To = lilypond-1.4.6.mb1
usage
cd lilypond-source-dir; patch -E -p1 < lilypond-1.4.6.mb1.diff
Patches do not contain automatically generated files
or (urg) empty directories,
i.e., you should rerun autoconf, configure
diff -urN ../lilypond-1.4.6/CHANGES ./CHANGES
--- ../lilypond-1.4.6/CHANGES Tue Jul 24 13:39:37 2001
+++ ./CHANGES Sun Aug 5 17:47:49 2001
@@ -1,3 +1,16 @@
+1.4.6.mb1
+=========
+
+* Allow for duplicated articulation scripts with different direction.
+
+* Added new ornaments: \upmordent, \downmordent, \pralldown, \prallup,
+ \lineprall, \thumb, \comma (to be used with scriptHorizontal = ##t),
+ see also input/test/trill.ly. [WARNING: FONT UPDATE!]
+
+* Bug fix: staccato dot placement.
+
+* Handle keys with double flats/sharps better.
+
1.4.5.jcn1
==========
diff -urN ../lilypond-1.4.6/Documentation/user/refman.itely
./Documentation/user/refman.itely
--- ../lilypond-1.4.6/Documentation/user/refman.itely Wed Jul 11 14:52:55 2001
+++ ./Documentation/user/refman.itely Sat Aug 4 22:48:42 2001
@@ -1226,7 +1226,8 @@
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
@@ -1235,7 +1236,8 @@
rtoe__ turn__ open__ flageolet
reverseturn__ trill__ prall__ mordent
prallprall__ prallmordent__ uprall__ downprall
- thumb__ segno__ coda
+ upmordent__ downmordent__ pralldown__ prallup__
+ lineprall__ thumb__ segno__ coda
}
>
\paper {
diff -urN ../lilypond-1.4.6/VERSION ./VERSION
--- ../lilypond-1.4.6/VERSION Sun Jul 29 16:25:26 2001
+++ ./VERSION Sat Aug 4 22:27:51 2001
@@ -2,7 +2,7 @@
MAJOR_VERSION=1
MINOR_VERSION=4
PATCH_LEVEL=6
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=mb1
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
diff -urN ../lilypond-1.4.6/input/test/trills.ly ./input/test/trills.ly
--- ../lilypond-1.4.6/input/test/trills.ly Thu Jun 28 18:05:31 2001
+++ ./input/test/trills.ly Sun Aug 5 17:29:47 2001
@@ -1,22 +1,62 @@
\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
@@ -24,10 +64,27 @@
"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
@@ -36,7 +93,27 @@
d32 c b c \repeat unfold 4 { d32 c }
b32 c d c \repeat unfold 4 { d32 c }
[c32( b a16 b )c] [b32 c d c \repeat unfold 4 { d32 c }]
+ [d32( c b16 c )d] [c32 b a b \repeat unfold 4 { c32 b }]
+ b4 d16 ( c b ) c d4
+ <\context Voice=upper{\voiceOne d4}
+ \context Voice=lower{\voiceTwo d32 c b a b8}>
+ c16 b c8
+ c16 b c b c8
+ b8 [b () c]
+ c [c () b]
+ b [b () c32 b c16]
+ c2 c16 ( d ) e8 ~ e4
+ a,4 ~ a16 a b c d2
+ a2 b16 ( c ) d8 ~ d4
+ [e16 d e d e d c d] e4
}
>
>
+ \paper{
+ % Avoid that the text crosses bar lines
+ \translator {
+ \LyricsVoiceContext
+ \consists "Bar_engraver"
+ }
+ }
}
diff -urN ../lilypond-1.4.6/lily/musical-request.cc ./lily/musical-request.cc
--- ../lilypond-1.4.6/lily/musical-request.cc Fri May 11 01:57:13 2001
+++ ./lily/musical-request.cc Sat Aug 4 21:09:27 2001
@@ -103,7 +103,8 @@
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 ();
}
diff -urN ../lilypond-1.4.6/ly/engraver.ly ./ly/engraver.ly
--- ../lilypond-1.4.6/ly/engraver.ly Fri May 4 01:31:43 2001
+++ ./ly/engraver.ly Sun Aug 5 17:46:40 2001
@@ -433,6 +433,8 @@
keyAccidentalOrder = #'(
(6 . -1) (2 . -1) (5 . -1 ) (1 . -1) (4 . -1) (0 . -1) (3 . -1)
(3 . 1) (0 . 1) (4 . 1) (1 . 1) (5 . 1) (2 . 1) (6 . 1)
+ (6 . -2) (2 . -2) (5 . -2 ) (1 . -2) (4 . -2) (0 . -2) (3 . -2)
+ (3 . 2) (0 . 2) (4 . 2) (2 . 2) (5 . 2) (2 . 2) (6 . 2)
)
breakAlignOrder = #'(
Instrument_name
diff -urN ../lilypond-1.4.6/ly/script.ly ./ly/script.ly
--- ../lilypond-1.4.6/ly/script.ly Sun Apr 8 01:30:32 2001
+++ ./ly/script.ly Thu Aug 2 00:27:26 2001
@@ -43,5 +43,11 @@
prallmordent = \script "prallmordent"
upprall = \script "upprall"
downprall = \script "downprall"
+upmordent = \script "upmordent"
+downmordent = \script "downmordent"
+lineprall = \script "lineprall"
+pralldown = \script "pralldown"
+prallup = \script "prallup"
segno = \script "segno"
coda = \script "coda"
+comma = \script "comma"
diff -urN ../lilypond-1.4.6/mf/feta-generic.mf ./mf/feta-generic.mf
--- ../lilypond-1.4.6/mf/feta-generic.mf Sun May 6 03:10:10 2001
+++ ./mf/feta-generic.mf Wed Aug 1 23:06:00 2001
@@ -37,14 +37,14 @@
input feta-accordion;
input feta-custodes;
else:
- input feta-bolletjes;
- input feta-banier;
+% input feta-bolletjes;
+& input feta-banier;
% input feta-eindelijk;
% input feta-klef;
% input feta-toevallig;
-% input feta-schrift;
+ input feta-schrift;
% input feta-haak;
- %input feta-timesig;
+% %input feta-timesig;
% input feta-pendaal;
% input feta-accordion;
fi
diff -urN ../lilypond-1.4.6/mf/feta-schrift.mf ./mf/feta-schrift.mf
--- ../lilypond-1.4.6/mf/feta-schrift.mf Sat Mar 24 01:28:01 2001
+++ ./mf/feta-schrift.mf Wed Aug 1 23:50:21 2001
@@ -123,9 +123,11 @@
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
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);
@@ -676,6 +678,39 @@
draw (0,-h) -- (0,h);
draw (-w,0) -- (w,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;
diff -urN ../lilypond-1.4.6/mf/feta-slag.mf ./mf/feta-slag.mf
--- ../lilypond-1.4.6/mf/feta-slag.mf Sat Feb 24 22:06:31 2001
+++ ./mf/feta-slag.mf Wed Aug 1 23:54:40 2001
@@ -93,7 +93,7 @@
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;
@@ -112,7 +112,7 @@
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;
@@ -144,5 +144,63 @@
% currentpicture := currentpicture shifted
(-0.5w+tthin,-tfat*theight+0.75tthin);
currentpicture := currentpicture shifted
(-0.5w+tthin,-tfat*theight+0.5tthin);
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;
diff -urN ../lilypond-1.4.6/scm/script.scm ./scm/script.scm
--- ../lilypond-1.4.6/scm/script.scm Thu Mar 8 00:41:15 2001
+++ ./scm/script.scm Thu Aug 2 00:28:19 2001
@@ -21,6 +21,7 @@
("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))
@@ -38,6 +39,11 @@
("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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Ornament patch,
Mats Bengtsson <=