Jay Anderson <horndud...@gmail.com> writes: > I don't consider this a hack. Using parallel spacer rests is a very > common construct. If it seems ugly then you can always move it to a > function to hide it away. > > > \version "2.16.0" > > endHairpin = > #(define-music-function (parser location mus) (ly:music?) > #{ > << > { $mus } > { > <>-\tweak #'minimum-length #5 \> > #(skip-of-length #{\scaleDurations #'(9 . 10) $mus #}) > <>\pp > } > >> > #}) > > \score > { > \new Staff > { > c'1 \endHairpin c'1 > } > } > > > This function can be made more general (pass in dynamic, hairpin > length, etc.). However, it does show that you can simplify and hide > these constructs when desired. The syntax is very adequate for this.
There is a bit of confusion in this statement: the _parser_ may be adequate in that it allows you to create \endHairpin, a new piece of user-accessible syntax, to deal with the problem in a nicer way. It's a bit like saying "the car is not broken since you can just open the hood, wrap the towing rope that is part of the car's equipment around the crankshaft and pull to start it, without the need for any non-included tools". You get practice with that after a while, but it is sort of inconvenient. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user