lilypond-user
[Top][All Lists]
Advanced

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

Re: A weird spacing problem


From: Valentin Villenave
Subject: Re: A weird spacing problem
Date: Wed, 3 Jun 2020 20:20:23 +0200

On 6/3/20, Robert Blackstone <blackstone.robert@gmail.com> wrote:
> Overall there are several instances where I needed "\once \override
> NoteColumn #'force-hshift = #x" , and a few "\once\override
> NoteColumn.X-offset = #x”.

Ouch.  That’s pretty brutal.  May I ask why you felt the need to use
all these?  This alters drastically the layout, and basically amounts
to force your own spacing decisions onto LilyPond’s.

Frankly, I’ve written (and transcribed) very complex piano scores, and
not once have I needed to mess with Lily’s own idea of where the
NoteColumn objects should begin and end; of course \voiceThree and
\voiceFour internally rely on that, but with some fairly sane (and
tame) predefined values.  If you need some non-standard alignments,
I’d recommend using the simplest of tricks like invisible rests and
duration multipliers instead:

%%%%

upperI = \relative {
  fis'8 r fis2 fis2.~ fis8 f d2
}

upperII = \relative {   
  <c' es>8 r s32 <d f!>4*15/16( <c es>
  s4*3/4 <b d> c b)~ 2.
}

lowerI = \relative {
  \oneVoice <e f a>8 r <es fis a>2
  \voiceOne s4*3/4 f a gis s2.
}

lowerII = \relative {
  s2. es <es g>
}

\new PianoStaff <<
  \accidentalStyle PianoStaff.neo-modern
  \new Staff = "up" <<
    \time 3/4
    \new Voice { \voiceOne \upperI }
    \new Voice { \voiceTwo \upperII }
  >>
  \new Staff = "dn" <<
    \clef bass
    \new Voice { \voiceOne \lowerI }
    \new Voice { \voiceTwo \lowerII }
  >>
>>

\layout { \context { \Staff \consists #Merge_rests_engraver } }

%%%%

Cheers,
-- V.



reply via email to

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