Re: Changed bracket behaviour
Hi Jean, Thanks a lot, this gives what is wanted. Thanks also for the elaborate explanation you give, is much appreciated! with kind regards, Jogchum Reitsma Op 25-01-2022 om 13:42 schreef Jean Abou Samra: I guess you are trying to do (simplified example): \score { \new ChoirStaff << \new Staff { c'1 } \new Staff { c'1 } >> \new ChoirStaff << \new Staff { c'1 } \new Staff { c'1 } >> } That's not what LilyPond expects. In a \score block, there must be one music expression, hence the warning "spurious expression in \score". Please see https://lilypond.org/doc/v2.22/Documentation/learning/score-is-a-_0028single_0029-compound-musical-expression The problem is that there are several of them here, and you are not telling LilyPond how to group them. They have to be in parallel, not one after the other, so they should be surrounded by << >>. \score { << \new ChoirStaff << \new Staff { c'1 } \new Staff { c'1 } >> \new ChoirStaff << \new Staff { c'1 } \new Staff { c'1 } >> >> } This gives the default grouping, documented at https://lilypond.org/doc/v2.22/Documentation/notation/displaying-staves.html#grouping-staves Namely, a mere bar to group the staves, and no connected bar lines. That is exactly what you want here. To elaborate: \new GrandStaff does not necessarily call for << >> even if that is typically what you want to feed it. The syntax is \new GrandStaff xxx where xxx is any music expression. You could just as well say \new GrandStaff { << { c'1 } { c'1 } >> << { d'1 } { d'1 } >> } even if that does not make a lot of sense musically. Only the first system is rendered. The second solution leads to the same result/error message. While I admit that the Grandstaff-option leads to undesirable spanned barlines, in version 2.19.82 it performed the wanted grouping, without the extra brace seen in 2.23... This change was intended. What's happening in 2.22 and earlier is that GrandStaff does not accept ChoirStaff, so the GrandStaff actually does not receive any music at all and ChoirStaff contexts are inserted inside Score. This has the consequence that the expected brace is not inserted. There are a number of similar cases. They were sorted out in the development series by this change in the LilyPond sources: commit e31b0b75a9a7b6e01ecd9c9a05dc3108a89273be Author: Jean Abou Samra Date: Sat Apr 17 11:48:58 2021 +0200 Derive all StaffGroup-like contexts from StaffGroup Previously, there were many inconsistencies between the context types StaffGroup, ChoirStaff, GrandStaff and PianoStaff. They had differences in their lists of accepted contexts, and setting localAlterations or not. This lets ChoirStaff and GrandStaff inherit from StaffGroup (PianoStaff still inherits from GrandStaff) to keep all of them in sync. StaffGroup gains a bunch of \accepts, so it accepts everything also accepted by Score. This fixes a problem occurring when a TabStaff was included in a ChoirStaff. The latter did not accept it, causing a StaffGroup to be inserted in between, with its own bracket. Closes: #6094 In summary: your score was relying on buggy behavior. Fortunately, it's easy to fix it by using the method that is documented to give the behavior you want. Hope that helps, Jean
Re: Changed bracket behaviour
Le 25/01/2022 à 13:07, Jogchum Reitsma a écrit : Op 24-01-2022 om 21:10 schreef Valentin Petzel: Hello Jogchum, You have a GrandStaff on the top level (I guess for spanned barlines?). This will add a brace by default. This brace cannot get arbitrarily large, so it only spans part of the System. Two solutions: Just get rid of the GrandStaff (if you do not in fact want spanned barlines, which is usually the case with choral music as they make lyrics placement harder), or change the start delimiter to a barline by doing \new StaffGroup \with { systemStartDelimiter = #'SystemStartBar } Instead. ¨ Cheers, Valentin Hi Valentin, Thanks for answering! The first solution I had already tried (in version 2.19.82), looking for a way to subdivide the sixteen voices in S-A-T-B segments. It gave, and still gives the error document.ly:256:3: fout: Schijnbare expressie in \score ("Schijnbare expressie" being Dutch for "apparent epression") I guess you are trying to do (simplified example): \score { \new ChoirStaff << \new Staff { c'1 } \new Staff { c'1 } >> \new ChoirStaff << \new Staff { c'1 } \new Staff { c'1 } >> } That's not what LilyPond expects. In a \score block, there must be one music expression, hence the warning "spurious expression in \score". Please see https://lilypond.org/doc/v2.22/Documentation/learning/score-is-a-_0028single_0029-compound-musical-expression The problem is that there are several of them here, and you are not telling LilyPond how to group them. They have to be in parallel, not one after the other, so they should be surrounded by << >>. \score { << \new ChoirStaff << \new Staff { c'1 } \new Staff { c'1 } >> \new ChoirStaff << \new Staff { c'1 } \new Staff { c'1 } >> >> } This gives the default grouping, documented at https://lilypond.org/doc/v2.22/Documentation/notation/displaying-staves.html#grouping-staves Namely, a mere bar to group the staves, and no connected bar lines. That is exactly what you want here. To elaborate: \new GrandStaff does not necessarily call for << >> even if that is typically what you want to feed it. The syntax is \new GrandStaff xxx where xxx is any music expression. You could just as well say \new GrandStaff { << { c'1 } { c'1 } >> << { d'1 } { d'1 } >> } even if that does not make a lot of sense musically. Only the first system is rendered. The second solution leads to the same result/error message. While I admit that the Grandstaff-option leads to undesirable spanned barlines, in version 2.19.82 it performed the wanted grouping, without the extra brace seen in 2.23... This change was intended. What's happening in 2.22 and earlier is that GrandStaff does not accept ChoirStaff, so the GrandStaff actually does not receive any music at all and ChoirStaff contexts are inserted inside Score. This has the consequence that the expected brace is not inserted. There are a number of similar cases. They were sorted out in the development series by this change in the LilyPond sources: commit e31b0b75a9a7b6e01ecd9c9a05dc3108a89273be Author: Jean Abou Samra Date: Sat Apr 17 11:48:58 2021 +0200 Derive all StaffGroup-like contexts from StaffGroup Previously, there were many inconsistencies between the context types StaffGroup, ChoirStaff, GrandStaff and PianoStaff. They had differences in their lists of accepted contexts, and setting localAlterations or not. This lets ChoirStaff and GrandStaff inherit from StaffGroup (PianoStaff still inherits from GrandStaff) to keep all of them in sync. StaffGroup gains a bunch of \accepts, so it accepts everything also accepted by Score. This fixes a problem occurring when a TabStaff was included in a ChoirStaff. The latter did not accept it, causing a StaffGroup to be inserted in between, with its own bracket. Closes: #6094 In summary: your score was relying on buggy behavior. Fortunately, it's easy to fix it by using the method that is documented to give the behavior you want. Hope that helps, Jean
Re: Changed bracket behaviour
Op 24-01-2022 om 21:10 schreef Valentin Petzel: Hello Jogchum, You have a GrandStaff on the top level (I guess for spanned barlines?). This will add a brace by default. This brace cannot get arbitrarily large, so it only spans part of the System. Two solutions: Just get rid of the GrandStaff (if you do not in fact want spanned barlines, which is usually the case with choral music as they make lyrics placement harder), or change the start delimiter to a barline by doing \new StaffGroup \with { systemStartDelimiter = #'SystemStartBar } Instead. ¨ Cheers, Valentin Hi Valentin, Thanks for answering! The first solution I had already tried (in version 2.19.82), looking for a way to subdivide the sixteen voices in S-A-T-B segments. It gave, and still gives the error document.ly:256:3: fout: Schijnbare expressie in \score ("Schijnbare expressie" being Dutch for "apparent epression") Only the first system is rendered. The second solution leads to the same result/error message. While I admit that the Grandstaff-option leads to undesirable spanned barlines, in version 2.19.82 it performed the wanted grouping, without the extra brace seen in 2.23... cheers, Jogchum
Re: Changed bracket behaviour
Hello Jogchum, You have a GrandStaff on the top level (I guess for spanned barlines?). This will add a brace by default. This brace cannot get arbitrarily large, so it only spans part of the System. Two solutions: Just get rid of the GrandStaff (if you do not in fact want spanned barlines, which is usually the case with choral music as they make lyrics placement harder), or change the start delimiter to a barline by doing \new StaffGroup \with { systemStartDelimiter = #'SystemStartBar } Instead. Cheers, Valentin signature.asc Description: This is a digitally signed message part.