[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: New snippet: remove staff if another is alive (for wind divisi)
From: |
Thomas Morley |
Subject: |
Re: New snippet: remove staff if another is alive (for wind divisi) |
Date: |
Wed, 8 Aug 2018 12:31:41 +0200 |
2018-08-07 21:42 GMT+02:00 David Kastrup <address@hidden>:
> Thomas Morley <address@hidden> writes:
>
>> 2018-08-07 20:28 GMT+02:00 David Kastrup <address@hidden>:
>>> Thomas Morley <address@hidden> writes:
>>
>>>>> Ok, let me chime in: I've basically developed some of the low-level
>>>>> mechanisms for divisi staves.
>>>>
>>>> You mean that 'make-dead-when stuff?
>>>
>>> Well, that's the internal part of the low end. But it's usually driven
>>> by the remove-layer property. You are not actually using it?
>>
>> Nope.
>> I'll have a closer look at it, though.
>
> Maybe it's a failure. It may well have problems scaling since it
> creates a single hierarchy. I know that one tenet or inspiration for
> that kind of numerical hierarchy was that it was reasonably certain to
> avoid creating strange loops.
I've started trying to understand 'remove-layer by reading the IR,
doc-strings and playing with /input/regression/divisi-staves.ly
Afaik no further documentation exists.
As mentioned earlier in this thread I think divisi-Staffs should be
controled from inside themselves, not from the content for the single
voices.
Thus I changed the regtest like below.
While it works starting with single Staffs, switching to divisi and
back later, from a divisiVoice
It fails the other way round, i.e. single Staffs are never printed.
switchOff = \set Staff.keepAliveInterfaces = #'()
switchOn = \unset Staff.keepAliveInterfaces
violI=\relative d' {
\repeat unfold 44 d4
<d g'>2
\repeat unfold 58 d4
\bar "|."
}
violII=\relative g {
\repeat unfold 44 g4
<g d'>2
\repeat unfold 58 g4
\bar "|."
}
%% start with single Staffs, switch to divisi and back later
tstI = {
\switchOff
\repeat unfold 44 s4
\switchOn
s2
\switchOff
\repeat unfold 58 s4
}
%% start with divisi, switch to single Staffs and back later
tstII = {
\switchOn
\repeat unfold 44 s4
\switchOff
s2
\switchOn
\repeat unfold 58 s4
}
divisiVoiceI =
\new Voice << \tstI \violII \violI >>
divisiVoiceII =
\new Voice << \tstII \violII \violI >>
\score {
\new StaffGroup \with { \consists "Keep_alive_together_engraver" }
<<
\new Staff \with { instrumentName = "Violin I"
shortInstrumentName = "V I"
\RemoveAllEmptyStaves
\override VerticalAxisGroup.remove-layer = 2
}
\violI
\new Staff \with { instrumentName = "Violin II"
shortInstrumentName = "V II"
\RemoveAllEmptyStaves
\override VerticalAxisGroup.remove-layer = 2
}
\violII
\new Staff \with { instrumentName = "Violins"
shortInstrumentName = "V I&II"
\override VerticalAxisGroup.remove-layer = 1
\RemoveAllEmptyStaves
}
%% control divisi:
%\divisiVoiceI
\divisiVoiceII
>>
\layout {
short-indent = 2\cm
indent = 3\cm
}
}
Am I doing something wrong?
Cheers,
Harm
- Re: New snippet: remove staff if another is alive (for wind divisi), (continued)
- Re: New snippet: remove staff if another is alive (for wind divisi), Thomas Morley, 2018/08/05
- Re: New snippet: remove staff if another is alive (for wind divisi), Thomas Morley, 2018/08/06
- Re: New snippet: remove staff if another is alive (for wind divisi), Thomas Morley, 2018/08/06
- Re: New snippet: remove staff if another is alive (for wind divisi), Thomas Morley, 2018/08/07
- Re: New snippet: remove staff if another is alive (for wind divisi), David Kastrup, 2018/08/07
- Re: New snippet: remove staff if another is alive (for wind divisi), Thomas Morley, 2018/08/07
- Re: New snippet: remove staff if another is alive (for wind divisi), David Kastrup, 2018/08/07
- Re: New snippet: remove staff if another is alive (for wind divisi), Thomas Morley, 2018/08/07
- Re: New snippet: remove staff if another is alive (for wind divisi), David Kastrup, 2018/08/07
- Re: New snippet: remove staff if another is alive (for wind divisi), Saul Tobin, 2018/08/07
- Re: New snippet: remove staff if another is alive (for wind divisi),
Thomas Morley <=
- Re: New snippet: remove staff if another is alive (for wind divisi), David Kastrup, 2018/08/08
- Re: New snippet: remove staff if another is alive (for wind divisi), Thomas Morley, 2018/08/08
- Re: New snippet: remove staff if another is alive (for wind divisi), Thomas Morley, 2018/08/08
- Re: New snippet: remove staff if another is alive (for wind divisi), David Kastrup, 2018/08/08
- Re: New snippet: remove staff if another is alive (for wind divisi), Thomas Morley, 2018/08/08
- Re: New snippet: remove staff if another is alive (for wind divisi), David Kastrup, 2018/08/08