lilypond-devel
[Top][All Lists]
Advanced

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

Re: Allow music with layout instructions in output definitions. (issue 5


From: Janek Warchoł
Subject: Re: Allow music with layout instructions in output definitions. (issue 5701049)
Date: Thu, 1 Mar 2012 00:12:23 +0100

On Wed, Feb 29, 2012 at 9:22 AM, David Kastrup <address@hidden> wrote:
> Janek Warchoł <address@hidden> writes:
>
>>> Contextmodifications can be placed in variables, so you can write
>>>
>>> aasettings = \with { ... }
>>>
>>> and later use
>>>
>>> \new Voice = aa \aasettings { ... }
>>>
>>> or
>>>
>>> \new Voice = aa \with \aasettings { ... }
>>
>> sure, i can do this.  Nevertheless, writing these in \layout {} would
>> be more elegant
>
> No.  An arbitrary number of named contexts can occur in the text, and
> some are implicitly named anyway.  So you want to change _all_ contexts
> of a given type in \layout and/or derive a new context type (aaVoice or
> so) and then use \new aaVoice ... in the score.
>
>> and in my opinion easier to maintain: \layout must be placed at the
>> end of \score block, while variables containing context modifications
>> must be defined before they are used, i.e. before \score block.  Thus,
>> style decisions are spread over two places.
>
> A _style_ is something affecting _all_ contexts of a given type, not
> just particular contexts with a particular id.

Hmm.  I'm not sure if i understand what you mean.  Let me give an
example case where i think that named context thingy would be useful:
i have a piece for 3 SATB choirs; the structure is

\score { <<
  \new ChoirStaff = ChoirOne <<
    \new Staff = soprano { }
    \new Staff = alto { }
    \new Staff = tenor { }
    \new Staff = bass { }
  >>
  \new ChoirStaff = ChoirTwo <<
    \new Staff = soprano { }
    \new Staff = alto { }
    \new Staff = tenor { }
    \new Staff = bass { }
  >>
  \new ChoirStaff = ChoirThree <<
    \new Staff = soprano { }
    \new Staff = alto { }
    \new Staff = tenor { }
    \new Staff = bass { }
  >>
>>

i'll print scores separately for each choir, so to save space i can
make two choirStaves smaller in each print.  In other words, first
choir will get a score with regularly sized ChoirOne and smaller
ChoirTwo and ChoirThree, and so on.  I would find it handy if i could
write
\layout {
  \override ChoirTwo.StaffSymbol #'size = -3
  \override ChoirThree.StaffSymbol #'size = -3
}
to achieve this.
Also, in my opinion it would be nice if i could use
\layout {
  \override soprano.StaffSymbol #'thickness = 2
}
to make all soprano staffs thicker.  I could then very easily change
it to make all alto staffs thicker, and so on.
I don't insist that LilyPond should work this way; i'm only saying
that i'd find it intuitive and useful.

> And of course you can to
>
> mylayout = \layout { ... }
>
> at the top and then use it as a layout definition afterwards.

That's nice, i didn't think about it. Thanks!
Janek



reply via email to

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