lilypond-user
[Top][All Lists]
Advanced

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

RE: Placement of dots


From: Joseph N. Srednicki
Subject: RE: Placement of dots
Date: Fri, 01 Apr 2016 19:45:47 -0400

Thomas:

Thanks for taking the time to respond. I appreciate it. 

After I sent the message, I realized that the snippet that I quoted was not the 
right way to approach the problem. 

In my opinion, the solutions that you provided make the dotted notes easier to 
read instead of letting another voice move the dot significantly.

Thanks again.

Joe Srednicki

-----Original Message-----
From: Thomas Morley [mailto:address@hidden 
Sent: Friday, April 1, 2016 6:32 PM
To: Joseph N. Srednicki <address@hidden>
Cc: lilypond-user <address@hidden>
Subject: Re: Placement of dots

2016-04-01 22:22 GMT+02:00 Joseph N. Srednicki <address@hidden>:
> Please see the following example.
>
> Note: There have been some recent issues of the mail programs lopping 
> thing off such a final brace when pasting examples. I re-pasted the 
> following example and recompiled it before sending this message. So, I 
> am hoping that it comes through without anything missing.
>
> In the middle voice in the second measure of the example below, the 
> two g notes in the middle voice move the dots to the right of the g.
>
> Instead, I would like to move the dots next to the notes to which they 
> apply instead of the position following the intervening g notes.
>
> I looked at Snippet http://lsr.di.unimi.it/LSR/Item?id=674.
>
> According to this snippet, the command \override 
> Staff.NoteCollision.prefer-dotted-right = ##t is supposed to move the 
> dots to the position to the immediate right of the notes to which they 
> apply; no notes are supposed to intervene between a note and the dot 
> to which it applies.
>
> Therefore, in my example, the notes should appear to the left of the g 
> notes in the second measure.
>
> However, I tried placing the \override 
> Staff.NoteCollision.prefer-dotted-right = ##t in a variety of 
> locations, but to no avail.
>
> For example, I tried using a \context {\Staff ... statement in a 
> layout block. I also tried putting the statement in the global 
> variable. In yet another try, I placed the \override before a 
> particular dotted
>
> Can someone please tell me how what I am misunderstanding or doing 
> correctly?
>
> Ideally, I would like to make this change globally for the entire score.
>
> Thanks in advance to anyone who can help with a suggestion or correction.
>
> Joe Srednicki
>
> =====================
>
> \version "2.19.35"
> \language "english"
>
> \layout {
>   \context {
>     \Voice
>     \consists "Melody_engraver"
>     \override Stem #'neutral-direction = #'()
>   }
> }
>
> global = {
>   \key c \major
>   \numericTimeSignature
>   \time 3/4
> }
>
> rightOne = \relative c'' {
>   \global
>   \new Voice = "soprano" \voiceOne
>   \partial 4 g ( | % pickup
>   c4.) b8 [c8. d16] | % 1
> }
>
> rightTwo = \relative c' {
>   \global
>  <c e>8._\ff <d f>16 | % pickup
>   \stemUp \override NoteColumn.force-hshift = 0.9 g2 g4 \revert 
> NoteColumn.force-hshift | % 1 }
>
> leftOne = \relative c' {
>   \global
>    \skip 4 | % pickup
>   \change Staff = "right" \stemDown e4. d8 [e8. f16] | % 1 }
>
> leftTwo = \relative c' {
>   \global
>   % Music follows here.
> }
>
> pedal = \relative c {
>   \global
>  \partial 4
>   c4 | % pickup
>   c4 c c | % 1
>  }
>
> \score {
>   <<
>     \new PianoStaff \with {
>       instrumentName = "Org."
>       shortInstrumentName = "Org."
>     } <<
>       \new Staff = "right" << \rightOne \\ \rightTwo >>
>       \new Staff = "left" { \clef bass << \leftOne \\ \leftTwo >> }
>     >>
>     \new Staff = "pedal" { \clef bass \pedal }
>   >>
>   \layout { }
> }


I don't have a good solution for you.
In the code I used 'extra-offset (last-resort) at first occurence - needs to be 
done in every voice.
Second time I used `\i-really-hope-someone-comes-up-with-something-better'.
The name says it all ...

\versio "2.19.38"

i-really-hope-someone-comes-up-with-something-better = \once \override 
Staff.DotColumn.positioning-done =
  #(lambda (grob)
     (ly:grob-set-property! grob 'X-offset 1.3)
     (ly:grob-set-property!
       (ly:grob-array-ref (ly:grob-object grob 'dots) 1)
       'Y-offset -0.5))

\layout {
  \context {
    \Voice
    \consists "Melody_engraver"
    \override Stem #'neutral-direction = #'()
  }
}

global = {
  \key c \major
  \numericTimeSignature
  \time 3/4
}

rightOne = \relative c'' {
  \global
  \new Voice = "soprano" \voiceOne
  \partial 4 g ( | % pickup
  \tweak Dots.extra-offset #'(-1.3 . 0)
  c4.) b8[
  \i-really-hope-someone-comes-up-with-something-better
  c8. d16] | % 1
}

rightTwo = \relative c' {
  \global
 <c e>8._\ff <d f>16 | % pickup
  \stemUp \override NoteColumn.force-hshift = 0.9 g2 g4
  \revert NoteColumn.force-hshift | % 1
}

leftOne = \relative c' {
  \global
   \skip 4 | % pickup
  \change Staff = "right"
  \stemDown
  \tweak Dots.extra-offset #'(-1.3 . -1) e4. d8[ e8. f16] | % 1 }

leftTwo = \relative c' {
  \global
  % Music follows here.
}

pedal = \relative c {
  \global
 \partial 4
  c4 | % pickup
  c4 c c | % 1
 }

\score {
  <<
    \new PianoStaff \with {
      instrumentName = "Org."
      shortInstrumentName = "Org."
    } <<
      \new Staff = "right" << \rightOne \\ \rightTwo >>
      \new Staff = "left" { \clef bass << \leftOne \\ \leftTwo >> }
    >>
    \new Staff = "pedal" { \clef bass \pedal }
  >>
  \layout { }
}


Cheers,
  Harm




reply via email to

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