lilypond-user
[Top][All Lists]
Advanced

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

Re: timing false in one staff only? [also with picture]


From: madMuze
Subject: Re: timing false in one staff only? [also with picture]
Date: Sun, 27 Mar 2011 12:35:23 -0700 (PDT)

Glad that project is not on my desk! However, having little to do while we
patiently salivate for version 2.14:

http://old.nabble.com/file/p31251873/test.png test.png 
\version "2.12.2"
% because of the timing abuse, bars happen everywhere, 
% so here is a handy way to insert only as needed.
barSt = #(define-music-function (parser location bType) (string?)
        #{
                \once \set Timing.whichBar = $bType
        #}
)
pitchTop = \relative c' { \clef bass \key c \major
        \time 3/8 \partial 8 <cs, as'>8 \barSt "|" 
        \time 5/16 ds8[ gs b16] \barSt "|" 
        r16 < b c>8[ < b c>8] \barSt "|" 
        \time 6/16 r16 b[( gs-.]) r ds8 \barSt "|"              
        \time 3/8 << { \voiceOne as'8 <as d>8 } 
                \new Voice { \voiceTwo cs,8 <cs as'>4 } >> \barSt "||"
}
pitchBottom = \relative c' { \clef treble \key c \major \override Voice.Stem
#'stencil = ##f
% 48 thirty-second notes on this line, grouped as 17+2+21+8
        \set Score.proportionalNotationDuration = #(ly:make-moment 1 52)
        \times 17/96 { b4 as cs d ds fs f e g gs a c } b4*1/4
        \once \override Staff.BarLine #'Y-offset = #3 % adjust for staff 
separation
        \once \override Staff.BarLine #'bar-size = #10 % adjust for staff
separation
        \once \override Score.BarLine #'extra-offset = #'(-1 . 0) \barSt 
"dashed"
        \newSpacingSection \set Score.proportionalNotationDuration =
#(ly:make-moment 1 26)
        \times 21/96 { b4 c a gs g e f fs ds d cs as } b4
}
\score {
        <<
        \override Score.SpacingSpanner #'uniform-stretching = ##t 
        \override Score.SpacingSpanner #'strict-note-spacing = ##t
        \set Score.defaultBarType = ""
        \override Score.TupletBracket #'stencil = ##f
        \override Score.TupletNumber #'stencil = ##f
        \new Staff {
                \new Voice { \pitchTop }
        }
        \new Staff \with { \remove Time_signature_engraver } {
                \new Voice { \pitchBottom }
        }
        >>
        \layout {
                \context { \Score \remove Timing_translator }
                \context { \Staff \consists Timing_translator }
        }
}

Too much trial-and-error tweaking, perhaps (especially for that one needy
barline), and the music line spacing is distorted, and I've no idea if the
other staves would make this house of cards collapse. Other than that, it's
simply splendid.

Your hope of rhythmically decoupling some staves in a system is obviously
better, but I'm not sure LilyPond has a way of understanding what that
means. And, they're not entirely decoupled; the analysis information relates
spatially to the music. So, yes, setting multiple scores with parallel line
breaks, then explicitly stating staff positions (notation reference 4.4.3)
is perhaps easier. For that, I use:
vPlan = #(define-music-function (parser location sysOff stfOffs) (number?
list?)
        #{
                \overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details
                        #(list (cons 'Y-offset $sysOff) (cons 
'alignment-offsets $stfOffs))
        #}
)
with
\vPlan #16 #'(0 -10 -20 -30) 
for instance, at the start of each system, usually in a separate layout
voice with breaks and marks info.  Positive numbers in the list move a staff
above the reference staff. You might consider using draw-line in a markup
for the system delimiters (can they really not be lengthened?).

It seems like such a simple question; I wouldn't be surprised if I'm missing
an obvious solution…
d


-- 
View this message in context: 
http://old.nabble.com/timing-false-in-one-staff-only--tp31246377p31251873.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.




reply via email to

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