Hi Leo, thanks for your kind words. I'm focusing my limited time on LilyPond infrastructure, so I can't help you here, but I hope someone else from the development community can. I took the liberty of including them on this reply.
On Mon, May 4, 2020 at 6:37 AM Chen Leo <[email protected]> wrote: > > Hi Han-Wen, > > I am a new lilypond user and I have been using lilypond for a few months now. > I want to say that I love the experience (especially the way lilypond > automatically handles all the collisions and alignment problems with great > accuracy). I want to thank the development team for creating such amazing > software. > > One personal suggestion would be that I think lilypond can benefit from > implementing more contemporary notations e.g. more symbols and noteheads (I > was happy to hear that lilypond is considering adopting the SMuFL font > format). For most of the notation problems I have encountered, I was able to > solve by copying and modifying different snippets, thanks to the great > lilypond community. However, there’s one specific problem that I can’t seem > to find a solution to, even with the help of several lilypond users. > > The problem is to put large time signatures on top of (or in between) staves, > it is commonly used in a lot of contemporary scores which often feature > constant changes in time structures. In these situations, using this layout > will make the score look a lot clearer and save much horizontal space. > > I found > http://lsr.di.unimi.it/LSR/Snippet?id=272 > which seems like a perfect solution initially. However, soon I was able to > find several problems with this snippet. (I will give examples for all of the > problems in the attached file) > 1a. Time signatures get aligned to cue clefs instead of the bar line whenever > a clef change is made at the end of the bar. > 1b. Time signatures appear twice when one staff has a grace note as the first > note in a bar while other staves do not. > 1c. Space is not allotted for the cautionary time signatures before line > breaks so they always cross the left margin. > 1d. shift-right-at-line-begin has a fixed X-offset value of 3.5 units, this > means that if the user decides to change the clef font size or to use an > alternative font the X-offset value won’t automatically change according to > the width of the clef symbol. > > I tried another approach afterward, which is to use > \override TimeSignature.break-align-symbol = #'staff-bar > This successfully solves problems 1 3 and 4 yet it also starts to cause more > problems since other staves are now aware of the time signature’s horizontal > space. The problems are: > 2a. Parts of hairpins and spanners are missing below the time signatures > after a line break. > 2b. Lilypond pushes everything to the left when \textLengthOn commands are > used on text script objects below the time signature. > 2c. Same as problem 1b from the original snippet. > 2d. Bar numbers are raised to the same height as the time signatures' dummy > staff while it should display on the top music staff. This problem can be > solved by removing "Bar_number_engraver" from the Score context and consists > of it only in the actual top staff’s context. Though this can cause some > problems if the user chooses to hide staves that don’t have a part in a > section of music and the top staff also happens to be one of the hidden > staves. > > After a long discussion, a kind lilypond user named Kevin Barry was able to > provide me with a solution that he thinks is somewhat “hacky” while it solves > problem 2a and 2c quite well. He wrote a custom engraver that replaces all > TimeSignature objects with TextScript objects except at the end of lines so > that space can be allotted for the cautionary time signatures (I’ve also > included his approach in the attached file). Problem 2b and 2d remain > unsolvable. Because the only solution to problem 2b is to set TextScript’s > extra-spacing-width property to #'(+inf.0 . -inf.0) while that means bars are > no longer sensitive to the TextScript objects’ width, it causes collisions > when time signatures exceed the barline. I wasn’t able to solve problem 2d as > well. > > Eventually, I decided to contact someone from the development team and I > found you. > I hope that this can be improved and made into a snippet (or even better if > this gets implemented into lilypond in future versions) as using large time > signatures is really quite common in contemporary ensemble pieces. > > Here are some examples of how this layout can look like in different scores. > > Most scores have the time signatures vertically centered. e.g. > Pierre Boulez - Répons > https://www.youtube.com/watch?v=9aa8ogiwEV4 > Tristan Murail - La Barque Mystique > https://www.youtube.com/watch?v=Te-R0eETD0c > > While some scores do not. e.g. > Tōru Takemitsu - Rain Coming > https://www.youtube.com/watch?v=YnaztoAdgWk > Toshio Hosokawa – Vertical Song I > https://www.youtube.com/watch?v=Ji0gxsRp71M > > I hope that both options can be considered. > > Any help will be greatly appreciated! > > Best wishes, > Leo
