lilypond-user
[Top][All Lists]
Advanced

[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

Attachment: inline.ily
Description: Binary data

Attachment: example using inline.pdf
Description: Adobe PDF document


reply via email to

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