Real dy = Staff_symbol_referencer::staff_space (me)/2.0;
Real head_wid = 0;
-
- /*
-TODO:
-
- I don't really get the idea of the attachment-angle.
- It seems like that you attach the Stem to the NoteHead at point
- (1,tan(aa)/2), making it still nessesary to have special CENTER-STEMS
- option - and if I would like to attach stem i.e. here:
-
- |
- |
- |
- XXX
- XXXXX
- XXXXX
- XXX
-
- That would be impossible.
- Why haven't you just made ATTACHMENT-COORDINATES as a pair of reals,
- with (0 . 0) meaning CENTER, (1 . 1) upper right, etc...?
-
--Rune
-
-
- */
if (Grob *hed = support_head (me))
{
Real y_attach = Note_head::stem_attachment_coordinate ( hed, Y_AXIS);
y_attach = head_height.linear_combination (y_attach);
- stem_y[Direction (-d)] += d * y_attach;
+ stem_y[Direction (-d)] += d * 2*y_attach;
}
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);
+ wid# := black_notehead_width#;
+ hei# := noteheight#+stafflinethickness#;
+ set_char_box(0, wid#,hei#/2,hei#/2);
+ cthick := 1.2stafflinethickness;
+ cxr := w/2-cthick/2;
+ cyr := h-cthick/2;
+ pickup pencircle scaled cthick;
+ draw fullcircle xscaled 2cxr yscaled 2cyr shifted (w/2,0);
+ xpos := cxr/sqrt2;
+ ypos := cyr/sqrt2;
+ draw (-xpos+w/2,-ypos) -- (xpos+w/2,ypos);
+ draw (-xpos+w/2,ypos) -- (xpos+w/2,-ypos);
fet_endchar;
fet_endgroup("noteheads");
(if (< duration 0) "mensural" "")))
((default) (number->string duration))
(else
- (string-append (number->string duration) (symbol->string style)))))
+ (string-append (number->string (max 0 duration)) (symbol->string style)))))
(define (note-head-style->attachment-coordinates style)
centered, X==1 is at the right, X == -1 is at the left."
(case style
- ((default) '(1.0 . 0.8))
- ((cross) '(1.0 . -1.0))
- ((mensural) '(0.0 . 1.0))
+ ((default) '(1.0 . 0.5))
+ ((cross) '(1.0 . 0.75))
+ ((mensural) '(0.0 . 0.6))
((diamond) '(1.0 . 0.8))
((transparent) '(1.0 . 1.0))
((slash) '(1.0 . 1.0))