lilypond-user
[Top][All Lists]
Advanced

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

'Can't Change Staff'


From: Will Oram
Subject: 'Can't Change Staff'
Date: Wed, 31 Aug 2005 04:00:33 -0400

I know I'm posting to the list a lot with my questions; I'm trying out a lot of tricky notation snippets that, if successful, will produce free scores that truly show the kickass things lily can do. So...bear with me.

lily 2.7.8, OS X 10.4

I have centred dynamics working properly again (thanks, Trevor), and I intend to be making extensive use of staff changing. Auto-change won't be appropriate, so everything is done manually.

The following code should produce two treble lines: the bottom has g8 followed by empty space, while the top starts on the bottom attached to the g8 notehead, then changes back up. Frankly, I don't get the logic myself, but it ain't my music.

(more after code)

---

\version "2.7.7"

\include "english.ly"

upper = \relative g'' {
    \clef "treble"
    \time 3/8

    \change Staff = "down"
    g16^(
        \change Staff = "up"
        g < eflat' g > g, \times 2/3 { < eflat' g > g, < eflat' g >) }
}

lower = \relative g'' {
    \clef "treble"
    \time 3/8

    g8_. s4
    g8_. s4
}

dynamics = {
    s8\pp s4

    s4.*4
}



\score {
        \context PianoStaff <<
        \context Staff = "up" \upper
        \context Dynamics = "dynamics" \dynamics
        \context Staff = "down" \lower
    >>

    \layout {
        \context {
            \type "Engraver_group"
            \name Dynamics
            \alias Voice
            \consists "Output_property_engraver"

            minimumVerticalExtent = #'(-1 . 1)

            \consists "Script_engraver"
            \consists "Dynamic_engraver"
            \consists "Text_engraver"

            \override TextScript #'font-size = #2
            \override TextScript #'font-shape = #'italic
            \override DynamicText #'extra-offset = #'(0 . 2.5)
            \override Hairpin #'extra-offset = #'(0 . 2.5)

            \consists "Skip_event_swallow_translator"
            \consists "Axis_group_engraver"
        }

        \context {
            \PianoStaff
            \accepts Dynamics
            \override VerticalAlignment #'forced-distance = #7
        }
    }
}

---

When typesetting, this message comes up...

Interpreting music...
warning: Change_iterator::process (): Staff = `up':
3piano.ly:7:8: warning: can't change `Staff' to `down': not changing to same context type:

        \change Staff = "down"

I imagine Dynamics is interfering, since everything else is Staff and there should be no trouble. Nevertheless, I know staff changes must be possible, because it is clearly visible in scores like this: http://www.mutopiaproject.org/cgibin/piece-info.cgi?id=535 . Yet, staring at the source, I can't find what I'm doing wrong for the life of me.

Any thoughts?

All the best --

I don't dare succeed
if change always comes first
----------------------------------------------------------
                       _   |  WILL ORAM
ASCII ribbon campaign ( )  |  spamguy (at) foxchange . com
 - against HTML email  X   |  wro1 (at) cwru . edu
             & vCards / \  |
                           |  AIM spamguy21
----------------------------------------------------------
(ABOVE: Magnetic poetry #5)





reply via email to

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