Am Mi., 17. Okt. 2018 um 21:40 Uhr schrieb David Wright <lily...@lionunicorn.co.uk>: > > 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 _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user