[Top][All Lists]
[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