[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: System delimiters for middle of stave
From: |
Alex Voice |
Subject: |
Re: System delimiters for middle of stave |
Date: |
25 Jul 2023 20:10:32 +0100 |
Dear Valentin and Jean,
Thank you for your help. I now understand what you meant (my brain is getting there slowly) about the replicateDelims method 'taking a copy' of the existing bracket stencil at the beginning of the line and translating it to the restarted system; hence if the system is stopped at the beginning the line, it cannot do this, there being nothing to copy!
So, using both the replicateDelims and inline methods that you proposed on SE (https://music.stackexchange.com/questions/127631/how-can-i-insert-an-additional-systemstartbrace-into-a-pianostaff-in-lilypond), I have achieved almost all of what I had hoped for. Except ... with the inline method there is a curious horizontal spacing issue where the restarted system leaves an odd gap between it and the previous noteColumn, and more mysteriously also affects the spacing for the noteColumn before that too. The following illustrates this:
% --------------
\version "2.25.3"
\include "inline.ily"
beforeInline = {
\undo \omit Staff.TimeSignature
\once\override Staff.Clef.full-size-change = ##t
\once\override Staff.Clef.extra-offset = #'(0.75 . 0)
\once \omit Staff.BarLine
\undo \omit Staff.Clef
\set Staff.forceClef = ##t
}
afterInline = {
\set Staff.forceClef = ##t
\once \omit Staff.BarLine
}
sopmusic = \relative c’ {
\omit Staff.Clef
\omit Staff.TimeSignature
\stopStaff
s1
s2.*2
\beforeInline
\inline
\afterInline
\startStaff
\time 4/4
c4 c c c
g'1
}
altomusic = \relative c’ {
\omit Staff.Clef
\omit Staff.TimeSignature
\stopStaff
s1
s2.*2
\beforeInline
\inline
\afterInline
\startStaff
\time 4/4
g'4 g g g
e1
}
organUp = \relative c’ {
c8 e g c e, g c e
\time 3/4
g8 e c g e c
e8 g c g e16 f g c
\time 4/4
e8 c g e c g' e d
c1
}
organDown = \relative c
{
\clef bass
c8 e g c e, g c e
\time 3/4
g8 e c g e c
e8 g c g e g
\time 4/4
e'8 c g e c g' e d
c1
}
\score {
<<
\new Staff = "flute" \organUp
\new ChoirStaff
<<
\new Staff = "soprano" \sopmusic
\new Staff = "alto" \altomusic
>>
\new PianoStaff = "organ"
<<
\new Staff \organUp
\new Staff \organDown
>>
>>
\layout {
\context {
\Staff
\consists #inline-staff-engraver
}
}
}
% ———————
Do you think it would be possible to close up the gaps here, or recommend a work-around? I am very grateful for your help already and realise that my use-case here is far outside what either of you had envisaged originally!
With many thanks,
Alex
On Jul 25, 2023, at 12:40 AM, Valentin Petzel <valentin@petzel.at> wrote:
Hello Alex,
exactly what Jean said!
Regarding 3: No, it would still be possible to get around that issue. In the
linked SE post I’ve given an answer that uses a different approach that
essentially redraws those delimiters where specified. This would work in the
occasion. Alternatively one may try to get the stencil from on of the actually
existing siblings of that delimiter (as long as it has any).
Cheers,
Valentin
inline.ily
Description: Binary data
example using inline.pdf
Description: Adobe PDF document