Urs Liska <u...@openlilylib.org> 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
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to