lilypond-user
[Top][All Lists]
Advanced

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

Re: GrandStaff vertical distance


From: Thomas Morley
Subject: Re: GrandStaff vertical distance
Date: Thu, 18 Oct 2018 11:32:13 +0200

Am Mi., 17. Okt. 2018 um 21:40 Uhr schrieb David Wright
<address@hidden>:
>
> On Wed 17 Oct 2018 at 15:43:40 (+0200), Thomas Morley wrote:
>
> > I'd like to propose the code below. Attached as well.
> >
> > It stores the info in a string, which is converted to a nested list
> > suitable for 'systemStartDelimiterHierarchy'. It can be nested in
> > arbitrary depth.
> >
> > I used the following signs:
> > [] indicating start/end of SystemStartBracket
> > {} indicating start/end of SystemStartBrace
> > <> indicating start/end of SystemStartSquare
> > () indicating start/end of SystemStartBar
> > Other elements should be of string-length 1
> >
> > I'm not that happy with the ones for SystemStartSquare and
> > SystemStartBar. Though I looked for signs mirroring each others and
> > not hard to type.
>
> Would ## work for SystemStartSquare and || for SystemStartBar?
> I think they're on most computer keyboards.

Your suggestion will not work with my current coding. I likely should
have been more verbose in comments/explanations:
As coded one needs _different_ signs for start and end of a SystemStartGrob.
I used matching pairs like <> or [], etc, in order to give the user a
better oversight what is done.
Also, my jEdit-editor and most others are able to highlight those
matching parens/brackets.

Otoh, if you look into 'ref-list' in
'string->raw-system-start-hierarchy-list' you'll notice several ending
signs which _all_ will evaluate to #t.
Actually "{-}" will have the same outcome as "{-]" or "{->}". For
nested expression the code will sort out the correct nesting later.

As an experiment, replace the original 'ref-lst' with
           '((#\{ . SystemStartBrace)
             (#\[ . SystemStartBracket)
             (#\| . SystemStartBar)
             (#\# . SystemStartSquare)
             (#\) . #t))

")" is now the general ending-sign,  "#"/"|" the starting-signs for
SystemStartSquare/Bar. So you could do:

<<
  \new Staff R1
  \new StaffGroup
    \with {
      \setSystemStartDelimiterHierarchy
       "1{2{3 4 5)|#6 7)8) 9 1)"

      \override SystemStartBar.color = #red
      \offset X-offset -1 SystemStartBar
      \override SystemStartSquare.collapse-height = 1
    }
    <<
      $@(make-list 10 #{ \new Staff R1 #})
    >>
  \new Staff R1
>>

Though, even for the example above I made some mistakes while typing
the "1{2{3 4 5)|#6 7)8) 9 1)"

Ok, make that "several mistakes"


So, using the original 'ref-list' has the advantage that matching
parens/brackets/etc-pairs are less confusing for the user and most
editors will highlight them.

My remaining concern is how obvious and intuitive
"("  SystemStartBar
"<" SystemStartSquare
would be.

Cheers,
  Harm



reply via email to

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