lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Settings for automatic beam slope


From: Urs Liska
Subject: Re: Settings for automatic beam slope
Date: Fri, 20 Nov 2015 15:31:09 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

Hi Simon,

thank you for that, I think this is really helpful.

I think I see a pattern. This doesn't *completely* explain everything
but quite a lot.
Obviously the decision depends on whethere there are none, one or more
notes outside the staff (outside in this context beginning with the
notehead sitting *on* the outer staff line).

When there are no noteheads outside the staff the beam can be flat or
sloped. I think in many cases a slight slope would look better but
actually all the cases look acceptable to me.

In your example all instances with more than one note outside the staff
have sloped beams.
But all instances with exactly one note outside the staff have flat
beams. And this looks really ugly because that requires a quite
significant shift away from the staff of the beam.

On the other hand, if that single note would be sitting in the middle of
the group one would still want to have a flat beam. But in the cases of
your example (and my original music) it's nearly almost better to slope
such a beam when just one note is sitting outside the staff. It seems
some kind of penalty approach would be best here: If there's exactly one
note on the outermost stafffline or outside the staff then a sloped beam
should be a priority.

Urs

Am 20.11.2015 um 14:08 schrieb Simon Albrecht:
> \version "2.19.31"
> #(ly:set-option 'point-and-click #f)
> \layout {
>   \context {
>     \Staff
>     \omit TimeSignature
>   }
>   \context {
>     \Score
>     timing = ##f
>   }
> }
> gMajorScale = \relative { g a b c d e fis g }
>
> % change clef to test different positions on the staff
> global = { \clef treble }
>
> % take notes away from the end, except for the last note
> Ia = {
>   \bar "|"
>   b16[ d' b' g'  d' g' d'' b'  g' b' g'' d''] \bar "|"
>   b16[ d' b' g'  d' g' d'' b'  g' b' d''] \bar "|"
>   b16[ d' b' g'  d' g' d'' b'  g' d''] \bar "|"
>   b16[ d' b' g'  d' g' d'' b'  d''] \bar "|"
>   b16[ d' b' g'  d' g' d'' d''] \bar "|"
>   b16[ d' b' g'  d' g' d''] \bar "|"
>   b16[ d' b' g'  d' d''] \bar "|"
>   b16[ d' b' g'  d''] \bar "|"
>   b16[ d' b' d''] \bar "|"
>   b16[ d' d''] \bar "|"
>   b16[ d''] \bar "|"
> }
> Ib = \modalInversion b' b' \gMajorScale \Ia
> Ic = \retrograde \Ia
> Id = \retrograde \Ib
>
> % take notes away from the beginning, except for the first note
> IIa= {
>   \bar "|"
>   b16[ d' b' g'  d' g' d'' b'  g' b' g'' d''] \bar "|"
>   b16[ b' g'  d' g' d'' b'  g' b' g'' d''] \bar "|"
>   b16[ g'  d' g' d'' b'  g' b' g'' d''] \bar "|"
>   b16[ d' g' d'' b'  g' b' g'' d''] \bar "|"
>   b16[ g' d'' b'  g' b' g'' d''] \bar "|"
>   b16[ d'' b'  g' b' g'' d''] \bar "|"
>   b16[ b'  g' b' g'' d''] \bar "|"
>   b16[ g' b' g'' d''] \bar "|"
>   b16[ b' g'' d''] \bar "|"
>   b16[ g'' d''] \bar "|"
>   b16[ d''] \bar "|"
> }
> IIb = \modalInversion b' b' \gMajorScale \IIa
> IIc = \retrograde \IIa
> IId = \retrograde \IIb
>
> test =
> #(define-music-function (id) (string?)
>    (let ((mus (ly:parser-lookup (string->symbol id))))
>      #{ \new Staff \with { instrumentName = $id } << \global $mus \\ $mus >> 
> #}))
>
> \bookpart {
>   \test Ia
>   \test Ib
>   \test Ic
>   \test Id
> }
>
> \bookpart {
>   \test IIa
>   \test IIb
>   \test IIc
>   \test IId
> }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]