Urs Liska <[email protected]> writes:
> As some of you will have noticed, Janek yesterday published an article
> on lilypondblog.org announcing that he intends to make a considerable
> effort substantially improving LilyPond's tie formatting - one of the
> fields Lily really can use some updates.
> After having collected countless examples of badly formatted ties and
> having spent countless hours with tweaking ties he decided to give it
> a serious try.
>
> I'm not posting this to praise Janek but to make sure _everybody_ gets
> the chance to see that post. While he already has done very thorough
> research the project is just too big for him alone.
>
> So anybody who is interested in getting better default ties from
> LilyPond _please_ read his post at
> http://lilypondblog.org/2013/07/lilypond-tie-crusade and consider
> joining him. While the most urgent need would be people who analyze
> and improve the C++ code with him he will also be grateful for any
> discussion (of design strategies, engraving goals ...) or even
> examples of badly engraved default ties.
>
> Feedback is welcome on this list, lilypond-devel, the blog post or
> directly by email to Janek.
Well, here is a cross-referenced parade of partly awful ties.
\version "2.17.7"
\header { tagline = ##f title = "Conny rates Jazz" }
\score
{
{ $@(map!
(lambda (p d) #{ \footnote #'(1 . 2)
% This is the simplest way to make a chord name markup? Ugh.
\markup \score { \new ChordNames { < $@p > }
\layout { } } Stem
< $@p >$@d #})
; this $@ produces elements for a sequential music list via map!. Each
; element is constructed from p, a list of pitches making up a chord,
; and from d, which is a list first containing a duration followed by
; _optional_ articulations, so $@d actually can return several tokens of
; _different_ type.
;
; The following form constructs the list of pitch lists for use in p
(map!
(lambda (i)
(map!
(lambda (i)
(ly:make-pitch 2 (+ 1 (* 9 (quotient i 5)) (* i -2)) 0))
(iota 5 i)))
(append! (iota 34) (list 32)))
; The following form constructs an (end-less) list of lists containing
; a duration and maybe articulations.
(apply
circular-list
(map!
(lambda (m) (cons (ly:music-property m 'duration)
(ly:music-property m 'articulations)))
(extract-typed-music
#{ s4.~ s~ s4~ s2~ s2 #}
'skip-event))))
<c' e' g' a' c''>1 \bar "|."
}
\midi { \tempo 4 = 220
\set Staff.midiInstrument = "acoustic grand"
}
\layout { }
}
--
David Kastrup
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user