From aa30b0bf89024418c88d324d009e693e1d6a3948 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 27 Mar 2002 00:57:25 +0000 Subject: [PATCH] lilypond-1.3.137 --- mf/feta-bolletjes.mf | 122 +++++++++++++++++++++++++++++++++++++++---- mf/feta-klef.mf | 44 ++++++++++++++-- mf/feta-puntje.mf | 6 +++ scm/clef.scm | 1 + scm/output-lib.scm | 2 +- 5 files changed, 160 insertions(+), 15 deletions(-) diff --git a/mf/feta-bolletjes.mf b/mf/feta-bolletjes.mf index eccb52238c..9b0b1150c8 100644 --- a/mf/feta-bolletjes.mf +++ b/mf/feta-bolletjes.mf @@ -440,18 +440,120 @@ fet_beginchar("Quart diamondhead", "2diamond", "diamondhead") fill black; fet_endchar; -fet_beginchar("Crossed notehead", "2cross", "crossedhead") - set_char_box(0, black_notehead_width#, noteheight#/2, noteheight#/2); - pickup pencircle scaled 1.5 stafflinethickness; - lft x1 = 0; - bot y1 = -d; - top y2 = h; - rt x2 = w; +save triangle; path triangle; +triangle = (-sqrt3/4,-1/2) -- (0,1) -- (sqrt3/4,-1/2) -- cycle; + +fet_beginchar("Whole trianglehead", "0triangle", "wholetrianglehead") + set_char_box(0, 2(noteheight#+stafflinethickness#)/sqrt3*7/8, + (noteheight#+stafflinethickness#)/2,(noteheight#+stafflinethickness#)/2); + fill triangle scaled (7h/6) shifted (w/2,-h/6); + unfill triangle scaled 0.72h shifted (w/2,-h/6); +fet_endchar; +fet_beginchar("Half trianglehead", "1triangle", "halftrianglehead") + thick := 1.2stafflinethickness; + set_char_box(0, 2noteheight#/sqrt3*7/8,noteheight#/2,noteheight#/2); + fill triangle scaled (7h/6) shifted (w/2,-h/6); + unfill triangle scaled 0.7h shifted (w/2,-h/6); +fet_endchar; +fet_beginchar("Quart trianglehead", "2triangle", "trianglehead") + thick := 1.2stafflinethickness; + set_char_box(0, 2noteheight#/sqrt3*7/8,noteheight#/2,noteheight#/2); + fill triangle scaled (7h/6) shifted (w/2,-h/6); +fet_endchar; + - draw z1 .. z2; - draw (z1 .. z2) yscaled -1; -fet_endchar +slw := staff_space; +slw# := staff_space#; +slt := 1.25stafflinethickness; +slt# := 1.25stafflinethickness#; +slxt = 1.5slt; +slxt# := 1.5slt#; +slh := 1.5staff_space; +slh# := 1.5staff_space#; + +fet_beginchar("Whole slashhead","0slash","wholeslashhead") + wid := slw#+2slxt#+staff_space#; + set_char_box(0,wid-stafflinethickness#,slh#/2,slh#/2); + define_pixels (wid); + pickup penrazor scaled slxt; + draw (-b+slxt/2-stafflinethickness/2,-d) -- (-b+slxt/2+slw-stafflinethickness/2,h); + draw (w-slxt/2-slw+stafflinethickness/2,-d) -- (w-slxt/2+stafflinethickness/2,h); + pickup penrazor scaled slt rotated 90; + draw (-b+slxt-stafflinethickness/2,-d+slt/2) -- (w-slw+stafflinethickness/2,-d+slt/2); + draw (-b+slw-stafflinethickness/2,h-slt/2) -- (w-slxt+stafflinethickness/2,h-slt/2); +fet_endchar; + +fet_beginchar("Half slashhead","1slash","halfslashhead") + wid := slw#+2slxt#+0.6staff_space#; + set_char_box(0,wid-stafflinethickness#,slh#/2,slh#/2); + define_pixels (wid); + pickup penrazor scaled slxt; + draw (b+slxt/2-stafflinethickness/2,-d) -- (b+slxt/2+slw-stafflinethickness/2,h); + draw (w-slxt/2-slw+stafflinethickness/2,-d) -- (w-slxt/2+stafflinethickness/2,h); + pickup penrazor scaled slt rotated 90; + draw (b+slxt-stafflinethickness/2,-d+slt/2) -- (w-slw+stafflinethickness/2,-d+slt/2); + draw (b+slw-stafflinethickness/2,h-slt/2) -- (w-slxt+stafflinethickness/2,h-slt/2); +fet_endchar; +fet_beginchar("Quart slashhead","2slash","quartslashhead") + wid := slw#+slxt#; + set_char_box(0,slw#+slxt#-stafflinethickness#,slh#/2,slh#/2); + define_pixels (wid); + pickup penrazor scaled slxt; + draw (b+slxt/2-stafflinethickness/2,-d) -- (b+slxt/2+slw-stafflinethickness/2,h); +fet_endchar; + +% thick is the distance between the two parallel lines in the cross (distance between centres of lines) +def draw_cross(expr thick) = + pent := 1.2stafflinethickness; + pickup pencircle scaled pent; + % alfa is the slant of the lines (i.e. 1 means 45 degrees) + alfa := (2h-pent)/(w-pent); + % llen is the length of the little outer lines + % llen = thick / sin(2atan(alfa)) + llen := thick/(ypart(dir(2angle(1,alfa)))); + xa := llen/sqrt(1+alfa**2); + ya := xa*alfa; + xl := w/2-xa-pent/2; + yl := h-ya-pent/2; + save crz; path crz; + crz = (xa,0) -- (xa+xl,yl) -- (xl,yl+ya) -- (0,ya); + draw crz shifted(w/2,0); + draw crz xscaled -1 shifted(w/2,0); + draw crz yscaled -1 shifted(w/2,0); + draw crz scaled -1 shifted(w/2,0); +enddef; + +fet_beginchar("Whole Crossed notehead", "0cross", "wholecrossedhead") + wid# := black_notehead_width#+4stafflinethickness#; + hei# := noteheight#+stafflinethickness#; + set_char_box(0, wid#,hei#/2,hei#/2); + draw_cross(3.75stafflinethickness); +fet_endchar; + +fet_beginchar("Half Crossed notehead", "1cross", "halfcrossedhead") + wid# := black_notehead_width#+2stafflinethickness#; + hei# := noteheight#+stafflinethickness#/2; + set_char_box(0, wid#,hei#/2,hei#/2); + draw_cross(3stafflinethickness); +fet_endchar; + +fet_beginchar("Crossed notehead", "2cross", "crossedhead") + wid# := black_notehead_width#; + hei# := noteheight#; + set_char_box(0, wid#,hei#/2,hei#/2); + draw_cross(stafflinethickness/4); +fet_endchar; + +fet_beginchar("X-Circled notehead", "2xcircle", "xcircledhead") + set_char_box(0, noteheight#+stafflinethickness#, + noteheight#/2+stafflinethickness#/2,noteheight#/2+stafflinethickness#/2); + pickup pencircle scaled 1.2stafflinethickness; + draw fullcircle scaled 2h shifted (h,0); + pos := h/sqrt2; + draw (-pos+h,-pos) -- (pos+h,pos); + draw (-pos+h,pos) -- (pos+h,-pos); +fet_endchar; fet_endgroup("noteheads"); define_pixels(black_notehead_width); diff --git a/mf/feta-klef.mf b/mf/feta-klef.mf index 847045bb44..8e46d41427 100644 --- a/mf/feta-klef.mf +++ b/mf/feta-klef.mf @@ -1054,10 +1054,11 @@ def draw_percussion_clef(expr reduction) = save reduced_il; reduced_il# = staff_space# * reduction; define_pixels(reduced_il); - set_char_box(.5reduced_il#,1.25reduced_il#,reduced_il#,reduced_il#); - pickup pencircle scaled 3.33 stafflinethickness; - draw (b,h) -- (b,-d); - draw (w,h) -- (w,-d); + set_char_box(-.67reduced_il#,2.0reduced_il#,reduced_il#,reduced_il#); + razt := 0.45reduced_il; + pickup penrazor scaled razt; + draw (-b+razt/2,h) -- (-b+razt/2,-d); + draw (w-razt/2,h) -- (w-razt/2,-d); enddef; fet_beginchar("percussion clef", "percussion", "percussionclef") @@ -1068,4 +1069,39 @@ fet_beginchar("percussion clef", "percussion_change", "cpercussionclef") draw_percussion_clef(.8); fet_endchar; +def draw_tab_clef(expr reduction) = + save reduced_il; + reduced_il# = staff_space# * reduction; + define_pixels(reduced_il); + set_char_box(-.5reduced_il#,1.8reduced_il#,2.25reduced_il#,2.25reduced_il#); + bs := -d+0.65reduced_il; + cx := 0.5(-b+w); + xp := 0.32 reduced_il; + yp := 0.25reduced_il; + pickup pensquare xscaled xp yscaled yp; + + draw (-b,h) -- (w,h); + draw (cx,h) -- (cx,h-1.2reduced_il); + + pickup penrazor scaled yp rotated 90; + draw (-0.85b+0.15w,-0.25reduced_il) -- (-0.15b+0.85w,-0.25reduced_il); + pickup penrazor scaled xp; + draw (-b,-0.6reduced_il-yp/2) -- (cx,0.6reduced_il+yp/2) -- (w,-0.6reduced_il-yp/2); + + + pickup pensquare xscaled xp yscaled yp; + draw (-b,-d+1.2reduced_il) -- (-b,-d); + pickup pencircle xscaled xp yscaled yp; + draw (-b,-d) --- (cx,-d) .. (w,0.5(bs-d)) .. (cx,bs) --- (-b,bs) --- (cx,bs) + .. (0.3cx+0.7w,0.5(bs-d+1.2reduced_il)) .. (cx,-d+1.2reduced_il) --- (-b,-d+1.2reduced_il) +enddef; + +fet_beginchar("tab clef", "tab", "tabclef") + draw_tab_clef(1.0); +fet_endchar; + +fet_beginchar("tab clef", "tab_change", "ctabclef") + draw_tab_clef(.8); +fet_endchar; + fet_endgroup("clefs"); diff --git a/mf/feta-puntje.mf b/mf/feta-puntje.mf index 62a1076013..67199364fb 100644 --- a/mf/feta-puntje.mf +++ b/mf/feta-puntje.mf @@ -17,5 +17,11 @@ fet_beginchar("repeat dots", "repeatcolon", "repeatcolon") set_char_box(0, dot_diam#, staff_space#/2, staff_space#/2); fet_endchar; +fet_beginchar("even repeat dots", "evenrepeatcolon", "evenrepeatcolon") + pickup pencircle scaled dot_diam; + draw (dot_diam/2, staff_space); + addto currentpicture also currentpicture yscaled -1; + set_char_box(0, dot_diam#, staff_space#, staff_space#); +fet_endchar; fet_endgroup("dots"); diff --git a/scm/clef.scm b/scm/clef.scm index d9eecfb6b9..1a80cc09fd 100644 --- a/scm/clef.scm +++ b/scm/clef.scm @@ -20,6 +20,7 @@ ("F" . ( "clefs-F" 2 0)) ("subbass" . ("clefs-F" 4 0)) ("percussion" . ("clefs-percussion" 0 0)) + ("tab" . ("clefs-tab" 0 0)) ;; should move mensural stuff to separate file? ("vaticana_do1" . ("clefs-vaticana_do" -1 0)) diff --git a/scm/output-lib.scm b/scm/output-lib.scm index b2668b4004..941eb94ee7 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -63,7 +63,7 @@ ;; silly, use alist? (define (find-notehead-symbol duration style) (case style - ((cross) "2cross") + ((xcircle) "2xcircle") ((harmonic) "0mensural") ((baroque) (string-append (number->string duration) -- 2.39.5