Re: Removing the change clef in a first ending (volta 1)
>> This information should probably be added to the NR, together with >> an example. Can you prepare a patch (or even an MR) or formulate >> something that I can then massage accordingly? > > Actually this is already in NR 1.1.3 Clef (not specific to volta, > but actually Lily's default kind of makes sense too in this case) Mhmm, I think it's hard for beginners to see the connection. I still think this deserves either an explicit example in the NR – or an LSR snippet, maybe a sibling to https://lsr.di.unimi.it/LSR/Item?id=1119 Werner
Re: Removing the change clef in a first ending (volta 1)
> > is there a way to get rid of the bass change clef indicator in the > > first ending? > > \once \set Staff.explicitClefVisibility = #end-of-line-invisible > before your \break at the end of volta 1. This information should probably be added to the NR, together with an example. Can you prepare a patch (or even an MR) or formulate something that I can then massage accordingly? Werner
Re: vertical spacing between systems for only part of a score
[Please always use 'reply to all'; I've now CCed the mailing list again.] > >>> Here, I want to make 7 lines spread out to fill the entire last > >>> page, but leave the other pages alone. > > > > Ah, I missed 'last page'. Perhaps all you need is > > > > ``` > > \paper { > > ragged-last-bottom = ##f > > } > > ``` > > the ragged-last-bottom = ##f does work in this case. Good. > I can see other uses for adjustable vertical spacing. Is there any > other way to do it, on a "one system at a time" basis? No, as mentioned in the thread. You should also look up the mentioned issue to get more information. I also recommend to do some searching in the 'lilypond-user' mailing list archive, which collects LilyPond wisdom for more than 20 years... https://lists.gnu.org/archive/html/lilypond-user/ > Any workarounds that you can think of? The issue gives a work-around; there are certainly more available. However, in general, it is a rather uncommon request – you shalt not question LilyPond's vertical spacing decisions :-) To be serious: what is your exact use case? In most cases it looks weird if the vertical spacing suddenly changes. Werner
Re: Stem disappearing
>> I am typesetting a piece and the stem in the first e quarter note >> disappears when I add \slurUp upper notes. Is this a bug? > > This is the default behaviour of LilyPond: unify stems. What you need > to do is to tell LilyPond not to use `\voiceOne` (up) and `\voiceTwo` > (down) but rather `\voiceTwo` (down) and `\voiceFour` (down). I think I've misunderstood what you want to do. See code below: You should use a `\relative` block to enclose everything and `\voiceXXX` inside to select the voice you need. Werner ``` \version "2.24.2" \new PianoStaff << \new Staff << \time 4/4 \key a \major \new Voice \relative c' { \voiceOne e4-1\mf( a8.-3 b16 gis4) r8 \slurUp a-3 } \new Voice \relative c' { \voiceTwo e2 e } >> >> ```
Re: Stem disappearing
> I am typesetting a piece and the stem in the first e quarter note > disappears when I add \slurUp upper notes. Is this a bug? This is the default behaviour of LilyPond: unify stems. What you need to do is to tell LilyPond not to use `\voiceOne` (up) and `\voiceTwo` (down) but rather `\voiceTwo` (down) and `\voiceFour` (down). Werner ``` \version "2.24.2" \new PianoStaff << \new Staff << \time 4/4 \key a \major \new Voice \relative c' { \voiceFour e4-1\mf( a8.-3 b16 gis4) r8 \slurUp a-3 } \new Voice \relative c' { \voiceTwo e2 e } >> >> ```
Re: vertical spacing between systems for only part of a score
>> Here, I want to make 7 lines spread out to fill the entire last >> page, but leave the other pages alone. Ah, I missed 'last page'. Perhaps all you need is ``` \paper { ragged-last-bottom = ##f } ``` Werner
Re: vertical spacing between systems for only part of a score
> I would like to increase the vertical distance between systems for a > specific area in a score. > > I know how to change vertical distance by using the \paper > {system-system etc... route, but that governs the entire score. Here, > I want to make 7 lines spread out to fill the entire last page, but > leave the other pages alone. > > Is there an "override" command i can use, or a way to add padding by > typing it into the appropriate spot in one of the voices? (BTW, i > have a separate "spacing voice" in my score) This has been discussed recently; see https://lists.gnu.org/archive/html/lilypond-user/2024-05/msg00293.html Werner
Re: Moving dynamics onto the staff
> Interestingly, the following does *not* work, [...] It's not clear to me how the end result should look like. > The dynamics context doesn't know that there's a staff above it > and/ot the piano staff forbids the dynamics from encroaching on the > staff above. You want to position the 'f' sign into the staff lines of the upper staff? If yes, then it doesn't fit with the concept of a a `Dynamics` context *between* the staves IMHO. Instead, I would attach the 'f' sign to the upper staff, since it clearly belongs to that staff. Werner
Re: Moving dynamics onto the staff
>> > So why would overriding the dynamic line spanner's >> > outside-staff-priority change where the forte goes? Isn't it >> > DynamicText? If anyone can clear this up for me, I would be very >> > appreciative. >> >> When there are consecutive dynamics like \p \< ... \f \> ... \pp, >> they need to be all vertically aligned. LilyPond achieves that by >> grouping them into a same DynamicLineSpanner, so it's that object >> which is responsible for the vertical placement of dynamics. In >> this case, there's only one dynamic in the DynamicLineSpanner, but >> this still applies. > > Thank you for taking the time to explain that to me. Since version 2.25.13 the NR contains the attached warning box. Werner
Re: Scoop (jazz notation)
> I agree with Tim. It's one of those frequently used jazz-isms that > lilypond doesn't handle very elegantly. What's the procedure for > submitting a feature request like this? You might expand https://gitlab.com/lilypond/lilypond/-/issues/529 with comments – and images of professionally typeset scores! – regarding its usage in jazz music. Werner
Re: strange chord
> I mean… technically, it’s correct… Thanks. > but yuck. :-) > If I were customizing the name, I would probably have it say > Em(addb4). At the very least it should say Emsusb4. As chord names noob I have no opinion to that. I just wanted to ensure that MR !2335 produces correct results, even if they are sometimes bizarre, apparently. Werner
Re: strange chord
> I tried the following > > ``` > \version "2.25.16" > > chord = \chordmode { c4:6-^1 } > > << > \new ChordNames \chord > \chordmode { \chord } > >> > ``` > > and got the attached result. The displayed chord name looks weird > to me, but I'm no expert for Jazz chords... Is it correct? If not, > how should it be displayed? Oops, now attached. Werner
strange chord
I tried the following ``` \version "2.25.16" chord = \chordmode { c4:6-^1 } << \new ChordNames \chord \chordmode { \chord } >> ``` and got the attached result. The displayed chord name looks weird to me, but I'm no expert for Jazz chords... Is it correct? If not, how should it be displayed? Werner
Re: Tie between staves of a PianoStaff
> Thanks for your contributions. They inspired me to an easy bypass: > ties may not work between staves, but slurs do, and the difference > is not really conspicuous. [...] By the way, the original problem is an ooold bug: https://gitlab.com/lilypond/lilypond/-/issues/555 Werner
Re: how difficult would it be to have “auto-correct spacing” (even for just a single measure)?
>> You are aware of https://lsr.di.unimi.it/LSR/Item?id=1154 ? > > Oh! I vaguely recall that. Thanks for the reminder. > > I believe I applied it to my score, but it didn‘t make a change in > m7. It might be because of the accidentals…? (See modified snippet > acting as MWE, below.) Unfortunately modifying the snippet to take > accidentals into account is WAY above my pay grade. Well, the lyrics don't make any difference in spacing, see attached image. This means that LilyPond itself does the wider spacing... Maybe you can play around with the spacing parameters of accidentals and note heads to reduce the horizontal space. Werner
Re: how difficult would it be to have “auto-correct spacing” (even for just a single measure)?
> If you look at the first measure of the third system, you can see > that the note spacing is distorted by various things (lyrics, > accidentals, etc.). But clearly there’s more than enough horizontal > room to make those eighth notes absolutely even — in fact, that kind > of thing is what the majority of my post-data-entry tweak time is > dedicated to. [Again: When I used Finale , it took hours or > even days to get from “the data is all in” to looking like this > already looks… so I’m not complaining!] You are aware of https://lsr.di.unimi.it/LSR/Item?id=1154 ? Werner
Re: Frescobaldi... panic alternatives?
>> Maybe one of you two can provide some text for >> >>https://lilypond.org/doc/v2.24/Documentation/web/easier-editing > > It happens that my first contribution to the Lilypond documentation > was a rewrite of the Easier Editing section, some 14 years ago or > so. Aaah :-) > If either or both care to send me their thoughts and comments, I'll > be glad to turn it into a patch. This would be great! Thanks for the offer. Werner
Re: Frescobaldi... panic alternatives?
> Yes, I also use that combo. It's fantastic, but you'd have to be > willing to invest some time to climb the admittedly steep learning > curve of (neo)vim. However, it's a time investment that pays off > massively, so I recommend it heartily! Maybe one of you two can provide some text for https://lilypond.org/doc/v2.24/Documentation/web/easier-editing ? Werner
Re: Frescobaldi ... panic alternatives?
> With not too much work, you could get emacs to do all of that I > think. Well, it would be great if someone could convert the LilyPond mode of Emacs so that it uses the new 'tree-sitter' interface: https://tree-sitter.github.io/tree-sitter/ (look at the 'Playground' link to get a feeling what this tool is good for). This would allow seamless support of both Scheme and LilyPond syntax simultaneously... While there already is tree-sitter syntax support for Scheme (https://github.com/6cdh/tree-sitter-scheme, including some Guile extensions), no such thing exists yet for LilyPond syntax, which makes the conversion a larger undertaking, unfortunately. Werner
Re: Transparent box around notes
> [...] the snippet is _very_ useful, and certainly much easier to use > than the lsr snippet. Please submit the example as a new LSR snippet. Note that we already have a (slightly different) issue for that: https://gitlab.com/lilypond/lilypond/-/issues/833 It would certainly help if you could add more information to the issue, for example, where to find the latest working example. > I strongly encourage the community to add it to the repository, > because the trial and error method is inaccurate and time consuming. Are you willing to work on that? It would need extensive tests (for example, to add other grobs like trill spanners to the box), documentation, and one or more regression tests. Werner
Re: PianoPedalBracket.to-barline doesn't always work as expected
> Might I suggest that “to-barline” is potentially > misleading/confusing…? > > On the other hand: > > end-at-barline, for a pedal coded for release on a note **just > after** a barline, might be more clearly descriptive of the > current behaviour; and > > extend-to-barline, for a pedal coded for release on a note > **just before** a barline, might be more suggestive of the > behaviour Maurits was expecting. > > Is there any technical reason both of these different-but-related > properties can’t/shouldn’t be made available? I suggest you file an issue. Werner
Re: Overriding default text of \f, \p, etc.
> However, trying to define f = #(make-dynamic-script ...) doesn't work > because Lilypond interprets f as a note-name. Try ``` "f" = #(make-dynamic-script ...) ``` Werner
Re: Installing 2.24.1
>> There is a web page that deals with command-line installation, if >> that's what you want: >> >> https://lilypond.org/doc/v2.24/Documentation/learning/command-line-setup >> > Thanks. So basically "yes", I guessed as much. > > I just need to re-associate the new version of lilypond with .ly > files... If you have a chance please check these instructions for correctness; I'm not a regular Windows user, and there might be errors and/or problems due to my clumsy testing. Werner
Re: tremoli under beam
Don't you want "\repeat tremolo 2" instead of 4? >> >> Thanks, yes, of course, but the result is still not correct, as >> you've found out. > > Very much not correct! This seems like a bug, no? Let's say it's not supported right now. Filed as https://gitlab.com/lilypond/lilypond/-/issues/6706 Werner
Re: tremoli under beam
>>> \repeat tremolo 4 { e32[ c! } >> >> >> Don't you want "\repeat tremolo 2" instead of 4? Thanks, yes, of course, but the result is still not correct, as you've found out. Werner
tremoli under beam
Please have a look at the attached image (from the full score of Stravinsky's Firebird, after rehearsal number 32). How do I correctly notate this in LilyPond? AFAICS, there is no real support for that – at least the 'most natural' way to notate it fails with warnings. I could only manage to write a work-around by not using tremoli. It seems that the `Chord_tremolo_engraver` is highjacking beams completely... Werner ``` \markup "doesn't work" \relative c''' { \repeat tremolo 4 { e32[ c! } \repeat tremolo 4 { es c } \repeat tremolo 4 { d b] } } \markup "work-around" \relative c''' { \set subdivideBeams = ##t \set minimumBeamSubdivisionInterval = \musicLength 8 \override Beam.gap-count = 2 e32*2[ c! es c d b] } ```
Re: a small correction in arithmetic expressions
> Here is a small correction in the documentation which does not affect > the use of Lilypond, just for the sake of correctness of the > formulas... [...] Thanks, this is now part of a merge request, see https://gitlab.com/lilypond/lilypond/-/merge_requests/2291 Werner
Re: nested \set ?
Dear Valentin and Aaron, > properties handle this by having internally not a single value, but > a list of values, and temporary overriding simply means adding to > that list. Context properties do currently not allow for this > mechanic, but we could simulate it ourselves: [...] Both of your code snippets look very nice, thanks a lot! However, for integration into the core of LilyPond I think Valentin's approach is more suitable. I've now created a MR; please have a look and comment! Werner
Re: nested \set ?
>> LilyPond provides `\temporary` and `\revert` to set a grob property >> temporarily, and afterwards the value of the grob property is the >> same as before. >> >> Is there a similar possiblity for `\set` (or something usable in >> Scheme)? I guess not, but I couldn't find this documented >> somewhere... > > No, this doesn't exist OOTB. It could be implemented with a Scheme > engraver, but that would probably be overkill, unless for some > reason it's really important for what you're trying to do? I was wondering whether there exists a solution to issue #4651 – the suggested code there doesn't work, unfortunately – removing the beam stencil might lead to missing flags if auto-beaming is active. Perhaps I could iterate over the music, emitting `\once \autoBeamOn` for every element? Werner
Re: nested \set ?
> > Yes, thanks, but this is not what I'm looking after: At the start > > of my function (created with `define-music-function`), > > `\autoBeamOff` gets called (i.e., the `autoBeaming` context > > variable is set to `##t`), and after the function returns the > > previous value of `autoBeaming` should be restored. > > > >> Not sure why \temporary wouldn’t/shouldn’t, although I must admit > >> I couldn’t find the right incantation… > > > > It doesn't work, I've tested it. Maybe I made a mistake, > > though... > > My Lilypond knowledge is small but have you tried the "\unset" > command ?? `\unset` restores the default value of a context property, it doesn't revert a set value. Example: ``` \relative c'' { \set autoBeaming = ##f c8 c c c \set autoBeaming = ##t c8 c c c \unset autoBeaming c8 c c c } ``` Werner
Re: nested \set ?
>> LilyPond provides `\temporary` and `\revert` to set a grob property >> temporarily, and afterwards the value of the grob property is the >> same as before. >> >> Is there a similar possiblity for `\set` (or something usable in >> Scheme)? I guess not, but I couldn't find this documented >> somewhere... > > \once certainly works: [...] Yes, thanks, but this is not what I'm looking after: At the start of my function (created with `define-music-function`), `\autoBeamOff` gets called (i.e., the `autoBeaming` context variable is set to `##t`), and after the function returns the previous value of `autoBeaming` should be restored. > Not sure why \temporary wouldn’t/shouldn’t, although I must admit I > couldn’t find the right incantation… It doesn't work, I've tested it. Maybe I made a mistake, though... Werner
nested \set ?
LilyPond provides `\temporary` and `\revert` to set a grob property temporarily, and afterwards the value of the grob property is the same as before. Is there a similar possiblity for `\set` (or something usable in Scheme)? I guess not, but I couldn't find this documented somewhere... Werner
Re: Compress Long Rest in Jianpu.
[Please always reply to the list!] > Sure, it looks like this > [image: image.png] > and this > [image: image.png] > > seems like it just copies the staff style and removes staff lines. OK, thanks. The un-compression of MM rests is an intentional feature of `jianpu10a.ly`. You should contact the author to add a command that switches compression of MM rests on and off. Below is a trivial patch to enable MM compression. Note, however, that this also disables conversion of `R1` to '0 0 0 0', which is probably not wanted. In other words, I suspect that more tinkering is necessary to get a solution that really fits current jianpu usage. Werner == --- jianpu10a-old.ly2024-03-23 18:20:24.923336345 +0100 +++ jianpu10a.ly2024-03-24 07:18:42.382334806 +0100 @@ -84,8 +84,7 @@ )) ;; REST AND MULTI-MEASURE REST - ((or (music-is-of-type? m 'rest-event) - (music-is-of-type? m 'multi-measure-rest)) + ((music-is-of-type? m 'rest-event) (let ((dur (ly:moment-main (ly:music-duration-length m (if (>= dur 1/2) ;; split whole and half rests into quarter notes
Fw: Compress Long Rest in Jianpu.
[Forwarding private message to have the whole conversation in the archive.] --- Begin Message --- Sure, it looks like this [image: image.png] and this [image: image.png] seems like it just copies the staff style and removes staff lines. Windy Werner LEMBERG 于2024年3月24日周日 01:23写道: > > > I want to display both staff and jianpu, but if I enable > > \compressMMRests function, the long rests are not compressed when > > engraving with jianpu. > > > > Jianpu support for Lilypond is from file jiapu10a.ly on > > https://github.com/nybbs2003/lilypond-Jianpu . Is there any way to > > patch the file or something to make it support \compressMMRests? > > > > MWE is in the attachment. > > Do you have a real-world example how compressed rests look like in > Jianpu notation? I guess the author hasn't thought of that... > > > Werner > --- End Message ---
Re: Compress Long Rest in Jianpu.
> I want to display both staff and jianpu, but if I enable > \compressMMRests function, the long rests are not compressed when > engraving with jianpu. > > Jianpu support for Lilypond is from file jiapu10a.ly on > https://github.com/nybbs2003/lilypond-Jianpu . Is there any way to > patch the file or something to make it support \compressMMRests? > > MWE is in the attachment. Do you have a real-world example how compressed rests look like in Jianpu notation? I guess the author hasn't thought of that... Werner
Re: Control breaks in staff that I get from a variable?
>> The classic fix is >> >> << >> \new Devnull { s1*5 \break } >> \staffIGot > > This was exactly what I was after. It’s nice and simple and works > well. Thank you. > > I might wish for it being better documented. I see Devnull > documented well in the Internals Reference, but I didn’t readily see > it mentioned in the Notation Reference. Not that I know exactly > where it would fit well. I needed it in the context of > https://lilypond.org/doc/v2.24/Documentation/notation/different-editions-from-one-source. > It might not be the right place. Can you provide some additional sentence or sentences for the documentation so that we have something to start with? Werner
Re: Best way to center beam between upper/lower staff?
> I'm trying to have some notes cross from the lower staff to the > upper staff but want the beam to automatically center. In my > example this is accomplished in measure 3 with much manual work. Is > there a better way? No, there isn't – in general, how shall LilyPond know which note belongs to which staff? However, you can define shortcuts to reduce typing, for example ``` U = \change Staff = "up" D = \change Staff = "down" { ... r8 a \U c \D a \U d ... } ``` [Of course, our Scheme wizards may produce a solution to automatically split notes between the upper and lower staff depending on a pitch threshold; this might be nice for simple cases.] Werner
Re: Using old definition of bass figures for 6\\, 7\\, 9\\ ...
> adapted sample from > https://lilypond.org/doc/v2.24/Documentation/bd/lily-a6a3b6ba.ly: > > \paper{ > #(define fonts > (set-global-fonts > #:music "paganini" > )) > } > \figures { > \set figuredBassPlusDirection = #RIGHT > <7\\ 6 4 2\+> <4\+ _-> <3 5\+ 3 > <6\\ 4 3> <9\\> > } Please try the attached solution. Werner \version "2.24.0" \paper{ #(define fonts (set-global-fonts #:music "paganini")) #(add-text-replacements! `(("♭" . ,#{ \markup { \hspace #0.4 \raise #0.4 \smaller \smaller \flat } #}) ; add more entries here )) } \figures { \set figuredBassPlusDirection = #RIGHT <7\\ 6 4 2\+> <4\+ _-> <3 5\+ 3 > <6\\ 4 3> <9\\> } \layout { \context { \Score figuredBassPlusStrokedAlist = #'() } }
Re: Using old definition of bass figures for 6\\, 7\\, 9\\ ...
> The special font figures introduced with 2.24 breaks old typesets > using fonts provided by https://github.com/OpenLilyPondFonts > > Is there a way to switch to the old behaviour? Please provide a (small, working) example of the problem you encounter. Werner
Re: tied sharps after line break
> 2. LilyPond's default behaviour in this situation is (in my opinion) > sub-optimal. It's a bug known since 15 years... https://gitlab.com/lilypond/lilypond/-/issues/649 Werner
Re: Make D.S. and Coda objects RED
> I found how to color certain objects, such as with: > > \override Staff.TimeSignature.color = #(rgb-color 1 0 0) > > but I have yet to find the names of the objects I'm hoping to change. Have a look at https://lilypond.org/doc/v2.25/Documentation/ly-examples/visualindex.pdf Werner
Re: bookOutputName seems broken in 2.25.12
> I've tried both of the methods of naming an output file in the book > environment. \bookOutputSuffix works fine. Please give complete examples – I can't reproduce the issue (with current git). I've tried ``` \book { \bookOutputName "Comin-Home-Baby_Tenor-1" { c'4 } } ``` and ``` \book { \paper { output-filename = "Comin-Home-Baby_Tenor-1" } { c'4 } } ``` Both snippets produce file `Comin-Home-Baby_Tenor-1.pdf`, as expected. Werner
Re: slur to middle of triplet causes warning
> I am trying to slur to the middle of a triplet, which engraves > correclty , but gives a warning. I'd like to get rid of the warning > for a clean build. > > Any solution? > >(e4 d e d | > \tuplet 3/2 {e8 d) b~} b4 r2 | Wrong syntax: Not `(e4` but `e4(`. Werner
Re: Incipit with default noteheads possible?
>> This works for the note heads, but if there happen to be >> accidentals around (in my project this is the case), they remain >> mensural style. Is there another override for this, too? > > How about this? Nice! David, what do you think about converting this code into a proper MR? Werner
Re: Footnote separator line
>> Simply removing \fill-line will shift the line to the left margin, >> leaving the length the same. > > To my eye that looks a lot better. It's really a matter of style. For example, https://tex.stackexchange.com/questions/214644/how-to-add-a-footnote-separator-rule shows a footnote rule exactly as formatted by LilyPond (see attached image) – this is for the scientific magazine 'IEEE transactions'. Werner
Re: { } not sounding right.
> I rather thought about Lilypond being able to "look ahead|behind" > like (I imagine is working) the "Melody_Engraver" to harmonise (no > pun intended) the pitch shift up or down decision. > > \language "english" > > In my use case : > - the gqs is the note g pitched upward. > - the bqf is the note b pitched downward. > > To homogenise the output, I think the MIDI output should transform : > → > or equivalently > → This is a nice idea and should be rather easy to implement! While not working in general for micro-tones, it seems to be a good solution for quarter tones. Please open an issue at https://gitlab.com/lilypond/lilypond/-/issues/ and tag it as an enhancement. Werner
Re: { } not sounding right.
> I have a branch (from a few years ago) where I changed LilyPond's MIDI > microtonality from using Pitch Bends (which is a bad idea when using > chords) to using MIDI 1.0 tuning information. This works fine IIRC as > long as you don't construct chords containing really close notes > (e.g. c and c+5 cents). Sounds great. Given that MIDI 2.0 is still rather new it probably makes sense to go this route. Werner
Re: { } not sounding right.
> Try this with and without the \new Voice commented. > > \version "2.25.12" > > \language "english" > > \score { > %\new Voice > << > {bf bqf bf} > {g gqs g} > >> > \layout {} > \midi {} > } > > Obviously you would need to listen to the MIDI output. This is a limitation of MIDI: You can only have a single pitch bend per time step per channel. LilyPond's rather primitive MIDI 1.0 output provides no means to circumvent this limitation. Looking into MIDI 2.0 I see that there exists a 'per-note pitch bend' feature, so maybe someone is going to implement that in LilyPond. Werner
Re: Setting the emoji font
> I want to use emoji within markup, and I can see in the output log > that Lilypond can't find a character in its default emoji font > (Symbola). I can't figure out how to override the default font. LilyPond does *not* have a default emoji font! It is Pango and FontConfig which choose the font. Emojis are an especially nasty thing to select. Or to be more precise, you actually can't select them at all within LilyPond, since any setting of a font for an Emoji character is completely ignored. This is due to a Pango problem: https://gitlab.gnome.org/GNOME/pango/-/issues/289 It is necessary to modify the FontConfig setup files (usually in `/etc/fonts/conf.d` or something similarly named) to enforce a certain Emoji font. BTW, I can reproduce your problem, and it is due to `Symbola.ttf` being buggy: (Almost) all of its glyph names are empty – this is technically valid[*] but doesn't work for us: Contrary to many applications, LilyPond selects a glyph by its name if such a name is available. Since this font effectively lies to the application, i.e., providing incorrect glyph names, it fails. Fortunately, it's easy to fix: https://gitlab.com/lilypond/lilypond/-/merge_requests/2235 Werner [*] For TrueType fonts it is normally expected to access glyphs by character code only; glyph names are considered a bonus information.
Re: Tempo marking doesn't avoid cross-staff slur
>> This issue belongs into the group of the many cross-staff problems. >> AFAICS, we don't have this particular case covered, so please file >> an issue in the LilyPond tracker. > > For reference, it's : https://gitlab.com/lilypond/lilypond/-/issues/6688 Thanks! Werner
Re: Tempo marking doesn't avoid cross-staff slur
> I found a weird behavior -- I don't know if it's worthy of an issue > or not, but here it is: > > The tempo marking will not avoid a slur that goes from staff to > staff. Here is a snippet that shows the problem, and I've attached > an image of it: [...] This issue belongs into the group of the many cross-staff problems. AFAICS, we don't have this particular case covered, so please file an issue in the LilyPond tracker. Werner
Re: Question about \include options
> It's true that special characters can cause inconsistent results in > almost anything but if you're searching Documentation for a command > that includes them, you expect the search to be 'complete'; i.e., > encompassing all possibities. The thing is that `#f` and `#t` are nothing special; they are part of Scheme, and you learn them in lesson one, so to say. However, the Notation Reference isn't an introduction to Scheme, thus it is not feasible to really document such fundamental elements. Anyway, I've added index entries to the Notation Reference and the Learning Manual for `#f` and `#t`. https://gitlab.com/lilypond/lilypond/-/merge_requests/2230 Werner
Re: Question about \include options
> See for example http://lilypond.org/notation.html, which you reach > by clicking on "details of Notation" at > http://lilypond.org/manuals.html. Could anyone please come up with > a better formulation than "details of ...", since it's far from > intuitive what such a link might contain. Perhaps simply replacing '(details of ...)' with '(more)'? Werner
Re: how to install lilypond version on linux (ubuntu 22.04)
> I managed to build a specific stable lilypond version for my linux > distro (Ubuntu 22.04). Because I can not find the wright > documentation on this subject, I like to know how can I install the > generated build files from my build directory on my linux distro. > When I try to install my build with “sudo make install” I get a > error about missing about a target rule. How can I install my build > manually? The complete compilation and installation instructions can be found at https://lilypond.org/doc/v2.24/Documentation/contributor/compiling Werner
Re: Collision between accidental and tuplet
> while typing down the score from an old scan, I discovered a > collision between an accidental and a tuplet spanner, or rather the > number in it: > > > \version "2.24" > \language "deutsch" > > \relative c' { > \tupletUp > \times 2/3 { g'=''8 b4 } des8 h~ h4 r4 > } > > > Perhaps this is worthy of an issue? Well, you can check that by yourself: Go to https://gitlab.com/lilypond/lilypond/-/issues/ and search for accidental tuplet and you will get https://gitlab.com/lilypond/lilypond/-/issues/3766 as an open issue. Werner
Re: Cascade Chords
> Is there a special notation for cascade chords (chords played by > adding successive notes )? I could do it by adding a new voice for > each note, but that seems unwieldly and cluttered. https://lsr.di.unimi.it/LSR/Item?id=408 Werner
Re: Forcing custodes to be always placed at the right-hand margin?
> I wanted a more natural text spacing for some chant in modern > notation I am typesetting, using the setting *ragged-right = ##t*. > However, the custodes also moves along with the line, and I would > like it to always be in the same place, at the right-hand margin. > That is, custodes is always placed at the end of the line-width. Such a mode between ragged-right and normal justification doesn't exist in LilyPond. Can you provide scans of some real-world examples that show how you would actually like to format stuff? Werner
Re: horizontal spacing issue with `keyCancellation`
Some days ago I wrote: > Consider this snippet. > > ```tex > cancellationFirst = > \override Score.BreakAlignment.break-align-orders = > #(grob-transformer 'break-align-orders > (lambda (grob orig) >(let ((vec (vector-copy orig)) > (middle '(key-cancellation >staff-bar >key-signature))) > (vector-set! vec 1 middle) > vec))) > > music = { \key ces \major ces'1 \bar "||" > \key cis \major cis'1 } > > { <>^\markup "default" > \music } > > { <>^\markup "cancellationFirst" > \cancellationFirst > \music } > ``` > > As can be seen in the image, flipping the order of the bar line and > the key cancellation changes the horizontal spacing between the > `NoteHead` and `NonMusicalPaperColumn` grobs in a bad way. Why does > this happen, and how can I avoid this? > > The third line shows the same without a bar line, where the spacing > is just fine. Any takers? If nobody knows the reason, how can I debug this most easily to find the culprit? Werner
Re: Automatically adding extender lines in lyrics
> Often, multiple voices in a score have the same lyrics, or the > lyrics have repeating components (such as lines from a poem). Is > there a way to automatically add extender lines to melismata in the > lyrics? Examples, please, both a scan from a real-world example, and ideally some LilyPond code that demonstrates how you want to do it. Have you already checked our issues database? Maybe the problem is already filed. https://gitlab.com/lilypond/lilypond/-/issues Werner
Re: clefs, time signatures, and key signatures
> does the new proposed spacing mean that the time signatures are not > aligned across staves any more but were before? No, they are aligned as before. Werner
Re: right indent once, horizontal space
> Thank you, yes this works if the measure is the last one. For > exemple in your exemple, I’d need the second staff to have a right > indent. Simply split your music into two scores. You can adjust the distance between the last line of a score and the first line of the next score with the paper variable `score-system-spacing`. Everything else gets quickly much more complicated – I'm not sure whether it is solvable at all in the general case, since there are not many possibilities to manipulate LilyPond's layout mechanism. Werner
Re: right indent once, horizontal space
> is it possible to add after a bar and before a break some horizontal > space only for a particular system ? Try the `ragged-last` paper variable. Example: ``` \score { { \repeat unfold 60 c'4 } \layout { ragged-last = ##t } } \score { { \repeat unfold 60 d'4 } \layout { ragged-last = ##t } } ``` Werner
horizontal spacing issue with `keyCancellation`
Consider this snippet. ```tex cancellationFirst = \override Score.BreakAlignment.break-align-orders = #(grob-transformer 'break-align-orders (lambda (grob orig) (let ((vec (vector-copy orig)) (middle '(key-cancellation staff-bar key-signature))) (vector-set! vec 1 middle) vec))) music = { \key ces \major ces'1 \bar "||" \key cis \major cis'1 } { <>^\markup "default" \music } { <>^\markup "cancellationFirst" \cancellationFirst \music } ``` As can be seen in the image, flipping the order of the bar line and the key cancellation changes the horizontal spacing between the `NoteHead` and `NonMusicalPaperColumn` grobs in a bad way. Why does this happen, and how can I avoid this? The third line shows the same without a bar line, where the spacing is just fine. Werner
Re: Why has `NonMusicalPaperColumn` a width?
>> Why does the `NonMusicalPaperColumn` grob have a width of 0.5 >> units? Where it is defined? > > Are you referring to the blue arrow from the second-to-last > non-musical column to the last rest? That's not a width, it's the > [ideal] distance to the last rest's musical column. Yes, it was sloppily formulated, sorry. > Also, why would non-musical columns have no width in general? Since > they're containers, is it not logical for them to have the same > width as the set of grobs they contain? I fully agree. However, what I don't understand is why a zero-width non-musical paper column has a non-zero ideal spring distance. Additionally, this 0.5 value is hard-coded and undocumented, apparently present in the code since the very beginning. Werner
Re: clefs, time signatures, and key signatures
>>> please have a look at Merge Request 2188 and comment there on how >>> to proceed with the new distances between clefs and time >>> signatures, together with the new distances between clefs and key >>> signatures. >>> >>> https://gitlab.com/lilypond/lilypond/-/merge_requests/2188 >>> >>> The question is whether the new distances should be based on the >>> widest standard clef glyph (which is the alto clef, and which is >>> done currently in the MR), or whether they should be based on the >>> most common one, the treble clef. > > A few people responded, and the opinions are exactly 50:50. It > would be great if more people could chime in! Thanks for all who commented. There was a slight preference for a wider setting. For this reason I now suggest a compromise as a final resolution, namely to make the bass clef invariant, which in turn minimizes the differences of the other main clefs (treble and alto); see attached image. Doing so, the probably most used scores with a violin and a bass clef (e.g., for piano music) stay unaffected. If there aren't any serious complaints, I'm going to commit this. Werner
Why has `NonMusicalPaperColumn` a width?
Consider this example ```tex \version "2.19.2" music = { r4 r r \mark III r } { \music } { \override Score.RehearsalMark.non-musical = #'() \music } \layout { \context { \Score \override NonMusicalPaperColumn.stencil = #ly:paper-column::print \override PaperColumn.stencil = #ly:paper-column::print } } ``` Why does the `NonMusicalPaperColumn` grob have a width of 0.5 units? Where it is defined? And where does the additional 0.25 units between the rest and the non-musical paper column come from? Werner
Re: displaying `script-priority`
>> > How can I make LilyPond display the actual values of >> > `script-priority` for a stack of grobs? [...] >> >> Any suggestions how to do that? Otherwise I'll file an issue. > > A few days ago I was looking for something, and stumbled across > https://lsr.di.unimi.it/LSR/Item?id=1017 And I thought that it might > help here. [...] Veery nice, thanks a lot! It was quite helpful, and it eventually lead to https://gitlab.com/lilypond/lilypond/-/merge_requests/2203 Werner
Re: displaying `script-priority`
Walking through some unanswered e-mails of mine I stumbled across this one, asked in October. https://lists.gnu.org/archive/html/lilypond-user/2023-10/msg00222.html > How can I make LilyPond display the actual values of > `script-priority` for a stack of grobs? [...] Any suggestions how to do that? Otherwise I'll file an issue. Werner
Re: lilypond "preprocessor"?
>> One thing occurred to me. If the original \score did not have a >> \midi block, would it be possible to ask lilypond to produce midi >> output without modifying the input file? > > No, this is not currently possible, although it would be a nice > addition. Stefano, please file an issue for this in our tracker! Werner
Re: clefs, time signatures, and key signatures
> I’ve just looked at the images and especially w/r to the Alto clef I > strongly prefer the new spacing. For the others there are spots > where I’m not sure it is too tight but overall the new spacing > appears to be more balanced. > > I thus think the new spacing is better overall. Thanks, but I would like to know whether you prefer the top (alto-based) or bottom (treble-based) image on https://gitlab.com/lilypond/lilypond/-/merge_requests/2188 Werner
Re: clefs, time signatures, and key signatures
>> please have a look at Merge Request 2188 and comment there on how >> to proceed with the new distances between clefs and time >> signatures, together with the new distances between clefs and key >> signatures. >> >> https://gitlab.com/lilypond/lilypond/-/merge_requests/2188 >> >> The question is whether the new distances should be based on the >> widest standard clef glyph (which is the alto clef, and which is >> done currently in the MR), or whether they should be based on the >> most common one, the treble clef. > > For better comparison, I've updated/added the screenshots in the MR > so that you can do a blink-comparison of the images. A few people responded, and the opinions are exactly 50:50. It would be great if more people could chime in! Werner
Re: accessing current file name in markup function
>> The name "sip" is a bit weird; looking in the commit that added the >> code 19 years ago, it looks like it was meant as "smob input" >> (where smob = Scheme object = LilyPond C++ object made available to >> Scheme). Quickly written documentation by an insider. It should be eventually replaced with better wording... > The technical glossary > (https://lilypond.org/doc/v2.24/Documentation/notation/technical-glossary) > does include smob but not sip. ... so that we don't have to explain it. > And I had misinterpreted *location* as either an attempt at emphasis > in email and/or short for insert-your-location-here rather than > literally executable scheme code. > > Is that construct (*location*) a general scheme syntax (so that some > *foo* could be also be meaningful), or perhaps is it a reserved > word? Yes, `*` is nothing special – in Scheme you can use almost all characters for function and variable names. You might try LilyPond's Scheme sandbox: ``` lilypond scheme-sandbox [...] scheme@(#{ g125}#)> *location* $1 = # scheme@(#{ g125}#)> (*location*) $2 = # scheme@(#{ g125}#)> (ly:input-file-line-char-column (*location*)) $3 = (".../scheme-sandbox.ly" 34 1 1) ``` And of course, documentation for `*location*` is missing, too. You might open an issue for this. Werner
Re: accessing current file name in markup function
>> Thanks! However, Jean's statement >> >> > markups don't store location info, unfortunately. >> >> is still true, which means that you can't access the current input >> location within `define-markup-command`. > > Yes, sure, but you could inject this during parsing. [...] I'm doing very similar, thanks for confirmation :-) Werner
Re: accessing current file name in markup function
>> Maybe a bit less esoteric: > > Or even less esoteric: Thanks! However, Jean's statement > markups don't store location info, unfortunately. is still true, which means that you can't access the current input location within `define-markup-command`. Werner
Re: accessing current file name in markup function
>> How can I access the current LilyPond input file name from within a >> markup command? Or do I have to use the (undocumented) >> `delay-stencil-evaluation` functionality? > > If you mean the name of the file from which the command is called > (vs. defined), you can't — markups don't store location info, > unfortunately. OK, thanks. But what about accessing the `input-file-name` variable? Shouldn't this work within `delay-stencil-evaluation`? Werner
accessing current file name in markup function
How can I access the current LilyPond input file name from within a markup command? Or do I have to use the (undocumented) `delay-stencil-evaluation` functionality? Werner
Re: clefs, time signatures, and key signatures
>> please have a look at Merge Request 2188 and comment there on how >> to proceed with the new distances between clefs and time >> signatures, [...] > > FWIW, I think the Petrucci clef distances are a big improvement and > make incipits closer to what they usually look like in sources. Yes, this was the starting point of the original bug report. https://gitlab.com/lilypond/lilypond/-/issues/3598 However, the distances are actually still too large IMHO; additionally, the clef should directly start at the left edge, without any leading space. I eventually plan to improve that in a follow-up commit by adjusting the spacing values within the `PetrucciStaff` (and/or `MensuralStaff`) context. Werner
Re: clefs, time signatures, and key signatures
> please have a look at Merge Request 2188 and comment there on how to > proceed with the new distances between clefs and time signatures, > together with the new distances between clefs and key signatures. > > https://gitlab.com/lilypond/lilypond/-/merge_requests/2188 > > The question is whether the new distances should be based on the > widest standard clef glyph (which is the alto clef, and which is > done currently in the MR), or whether they should be based on the > most common one, the treble clef. For better comparison, I've updated/added the screenshots in the MR so that you can do a blink-comparison of the images. Werner
clefs, time signatures, and key signatures
Folks, please have a look at Merge Request 2188 and comment there on how to proceed with the new distances between clefs and time signatures, together with the new distances between clefs and key signatures. https://gitlab.com/lilypond/lilypond/-/merge_requests/2188 The question is whether the new distances should be based on the widest standard clef glyph (which is the alto clef, and which is done currently in the MR), or whether they should be based on the most common one, the treble clef. Werner
strange `break-align-symbols` behaviour
Please consider this example. ```tex \version "2.25.11" music = { c'1 \tempo "T-note" c'1 } \markup { time-signature } { \override Score.MetronomeMark.break-align-symbols = #'(time-signature) \music } \markup { time-signature, key-signature } { \override Score.MetronomeMark.break-align-symbols = #'(time-signature key-signature) \music } \paper { ragged-right = ##f } ``` I don't understand why the addition of `key-signature` to the `break-align-symbols` list makes 'T-note' left-align to the bar line — there is no key signature at this point, right? IMHO, the correct behaviour would be that 'T-note' is still aligned to the note. What am I missing? Werner
Re: Lilypond 2.24.3 / iMac Sonoma / GS -dNODISPLAY fatal error
> Installed 2.24.3 -docs using Macports, No, you didn't. In the very first line of your log file I can see '2.24.2'. The problem vanishes if you *really* install version 2.24.3 – or if you fix up your system setup so that the correct LilyPond version gets found. Werner
Re: Articulate has trouble with grace note at time signature change
>> Please check the looong list of bugs related to `\articulate` >> whether it has already been reported. > > Seems to be #3696, reported - by you - in 2013. D'oh :-) Werner
Re: Articulate has trouble with grace note at time signature change
> This fails in 2.24.1 with messages about mid-measure time signature > change and failed barcheck: > > \include "articulate.ly" > \articulate > { > \time 4/4 > c'1 | > \time 3/2 > \grace d'8 c'1. | > } > > Succeeds if \articulate is not used. I can work around it by > tagging MIDI and non-MIDI versions of the music, with the time > signature change moved somewhere else in the MIDI version, but this > becomes complicated given that my actual score has eight parallel > variables at the point where it bites, all of which will need > alternate versions. Please check the looong list of bugs related to `\articulate` whether it has already been reported. https://gitlab.com/lilypond/lilypond/-/issues/?sort=created_asc=opened=articulate_page_size=100 Werner
Re: Mensural Lines in Choir Staff
Omit the 'Staff.' within '\context \Staff' Werner 20.11.2023 11:04:24 Johannes Roeßler : > Am 17.11.2023 um 20:11 schrieb Shane Brandes: >> \override Staff.BarLine.transparent = ##t > > Hi Shane, > > maybe I use the wrong place, but this doesn't work for me: > > \version "2.24.0" > > \layout { > \context { > \Staff > \override Staff.BarLine.transparent = ##t > } > } > > music = \fixed c'' { > c1 > d2 \section e2 > f1 \fine > } > > \new StaffGroup << > \new Staff \music > \new Staff \music >>> > > Best Johannes >
Re: top-level `\midi` doesn't work as expected
> Would it be possible to reformulate a bit to make it even more clear > that this is analogous to how \layout blocks behave (the only > difference being that a \score block that contains nor a layout > neither a midi block implicitly contains a layout block). For > example: [...] Sorry for the late reply. I've amended the wording, thanks. Werner
Re: top-level `\midi` doesn't work as expected
> MIDI settings can be changed globally (or in a book or bookpart), but > the generation of an actual MIDI file is only triggered when a \midi > block is encountered inside of a \score . Thanks for the idea and wording. https://gitlab.com/lilypond/lilypond/-/merge_requests/2171 Werner
Re: top-level `\midi` doesn't work as expected
> Thanks. I'll add this information to the NR. > > > Right now, the NR says the following > (https://lilypond.org/doc/v2.24/Documentation/notation/the-midi-block.html). > What > do you think needs to be clarified? > > To create a MIDI output file from a LilyPond input file, insert > a\midi block, which can be empty, within the \score block; > >\score { > … music … > \layout { } > \midi { } > } Since it is often not necessary to use `\score` for printed output explicitly I would like to add the patch below to make it clear that for MIDI output a `\score` block is mandatory. Werner == diff --git a/Documentation/en/notation/input.itely b/Documentation/en/notation/input.itely index 02621905aa..e6e26f8967 100644 --- a/Documentation/en/notation/input.itely +++ b/Documentation/en/notation/input.itely @@ -3830,7 +3830,10 @@ To create a MIDI output file from a LilyPond input file, insert a @warning{A @code{@bs{}score} block that, as well as the music, contains only a @code{@bs{}midi} block (i.e., @emph{without} the @code{@bs{}layout} block), will only produce MIDI output files. No -notation will be printed.} +notation will be printed. + +A @code{@bs{}midi} block outside of @code{@bs{}score} does +@emph{not} create a MIDI file.} The default output file extension (@code{.midi}) can be changed by using the @code{-dmidi-extension} option with the @code{lilypond} command:
Re: top-level `\midi` doesn't work as expected
>> I wonder whether it is expected that this simple input >> >> ``` >> { c' } >> \midi{} >> ``` >> >> doesn't create a MIDI file. > > > Yes. [...] Thanks. I'll add this information to the NR. Werner
top-level `\midi` doesn't work as expected
[2.24.2, 2.25.10] I wonder whether it is expected that this simple input ``` { c' } \midi{} ``` doesn't create a MIDI file. I have to explicitly put everything into a `\score` block to get that. For me, this looks odd, and I couldn't find a hint in the documentation for that behaviour. Werner
Re: Questions about LSR
> I have some questions about the LSR and I hope this is the place to ask > them. > > I have noticed that some snippets take up a lot of blank space under > them. This is because they have marked the snippet as stand-alone, > but haven't put a "tagline = ##f" in the paper or header block. I'm > happy to look through the LSR, find snippets like this and modify > them, but it doesn't look like I have the privileges to do this. I do exactly this, and Harm does the same: Adding `tagline = ##f` whenever I see such a snippet. > So, 1) do we want to modify some of the snippets to add tagline = > ##f, and if so 2) how would I go about modifying the LSR DB? Ad (1): Yes. Ideally, the framework of the LSR should be changed so that this gets automatically added. However, I'm not sure whether this is going to happen in the near future. Ad (2): You need to become an LSR editor. I suggest you contact Sebastiano, with CCing me, Harm, or Jean. Werner
Re: Switching between one staff and two
>> https://lilypond.org/doc/v2.24/Documentation/notation/modifying-single-staves#hiding-staves > > Thanks. I've been playing around with this, but I still am not sure > how to make it work -- I've tried a few things, and it's not > removing the empty staves. OK. Please construct an example how it should look like *optically* (the actual LilyPond code doesn't matter), together with some explanations why you want this and that. It's not clear to me what you really want to achieve. Werner
Re: zero horizontal space between note heads
> But the NoteColumn is slightly wider than the NoteHead. Ah, thanks. The question is: Why? Where does this additional 'padding' come from? I searched again the IR for an answer but couldn't find something relevant. > If you show the NoteColumn skylines, and set packed-spacing == ##t, > you get the NoteColumns (but not the NoteHeads) tightly adjacent to > each other. Well, if the yellow and green lines are not exactly at the same position there is still a gap between them... Werner
Re: zero horizontal space between note heads
>> If I set `packed_spacing`, it's getting a little bit tighter, but >> there is still horizontal whitespace between the note heads, and I >> still don't know where it comes from. > > What happens if you set the Beam X-extent to point-stencil (or > whatever)? Alas, this doesn't help. Replacing the notes with quarters, the result is the same. Note that I *can* make the note heads touch horizontally by setting ``` \override NoteHead.extra-spacing-width = #'(+inf.0 . -inf.0) ``` But this is not a solution; it just hides the added space (and there is still space between the time signature and the first note). Maybe the space is hard-coded and built-in, but I couldn't find the right spot by inspection of the source code – if so, I'm interested in the actual amount that is added. Werner
Re: zero horizontal space between note heads
> [...] However, there is still some horizontal space between the note > heads. What is it? I tried hard to find something in the IR but > wasn't successful... If I set `packed_spacing`, it's getting a little bit tighter, but there is still horizontal whitespace between the note heads, and I still don't know where it comes from. Werner == ```tex \version "2.25.9" #(set-global-staff-size 26) { \override Staff.Clef.show-horizontal-skylines = ##t \override Staff.KeySignature.show-horizontal-skylines = ##t \override Staff.TimeSignature.show-horizontal-skylines = ##t \override NoteHead.show-horizontal-skylines = ##t \override Score.SpacingSpanner.shortest-duration-space = 0 \override Score.SpacingSpanner.packed-spacing = ##t \override Staff.KeySignature.extra-spacing-width = #'(0 . 0) \override Staff.TimeSignature.extra-spacing-width = #'(0 . 0) \override Staff.LeftEdge.space-alist.clef = #'(extra-space . 0) \override Staff.Clef.space-alist.key-signature = #'(extra-space . 0) \override Staff.KeySignature.space-alist.time-signature = #'(extra-space . 0) \override Staff.KeySignature.space-alist.first-note = #'(fixed-space . 0) \override Staff.TimeSignature.space-alist.first-note = #'(fixed-space . 0) \key cis \major bis'8 bis' bis' bis' } ```
zero horizontal space between note heads
For testing purposes I try to eliminate spacing completely. I tried ``` \version "2.25.9" #(set-global-staff-size 26) { \override Staff.Clef.show-horizontal-skylines = ##t \override Staff.KeySignature.show-horizontal-skylines = ##t \override Staff.TimeSignature.show-horizontal-skylines = ##t \override NoteHead.show-horizontal-skylines = ##t \override Score.SpacingSpanner.spacing-increment = 0 \override Staff.KeySignature.extra-spacing-width = #'(0 . 0) \override Staff.TimeSignature.extra-spacing-width = #'(0 . 0) \override Staff.LeftEdge.space-alist.clef = #'(extra-space . 0) \override Staff.Clef.space-alist.key-signature = #'(extra-space . 0) \override Staff.KeySignature.space-alist.time-signature = #'(extra-space . 0) \override Staff.KeySignature.space-alist.first-note = #'(fixed-space . 0) \override Staff.TimeSignature.space-alist.first-note = #'(fixed-space . 0) \key cis \major bis'16 bis' bis' bis' } ``` and get the attached output. However, there is still some horizontal space between the note heads. What is it? I tried hard to find something in the IR but wasn't successful... Werner
Re: Switching between one staff and two
> I've pasted some example code after my signature I'm having trouble with. > Can anyone help me solve these problems: [...] Look up the documentation of `Keep_alive_together_engraver`, which explains how to make LilyPond split such divisi parts automatically. https://lilypond.org/doc/v2.24/Documentation/notation/modifying-single-staves#hiding-staves Werner
Re: Formatting for a tie
> How can I format this tie in Lilypond? I'm writing a Lilypond file > for an existing song; this image is from a scan of a hymnal. ``` { << { a'8[( g']) } \\ { e'4 } >> } ``` Werner
Re: Clipping of ornamentation glyphs
> I just noticed something with both that version of the documentation > as well as 2.25 [1]. The curl of the "up" or "down" is getting > clipped at the top and bottom of the ornamentation snippets. > However, "line" seems to be intact. Are the bounds of these curl > glyphs not being calculated correctly in the underlying font? Or is > something else causing the snippets to clip too tightly? As can be seen in the attached image, the box information in the Metafont source code used internally by LilyPond to place objects doesn't always encompass the whole glyph shape. This is intentional, mostly due to the historical development of LilyPond – in the beginning, there weren't skylines. I'm not sure whether LilyPond will ever be able to avoid cropping completely. It's not a trivial task, AFAIK, and it would mean a lot of work to fix it. To get properly cropped images you can use the `pdfcrop` tool (from TeXLive or CTAN), for example. It internally uses Ghostscript to render a high-resolution image, which in turn is used to derive a proper bounding box. I've attached such a PDF using this code ```prallup.ly { \omit Staff.TimeSignature f''^\prallup e'_\prallup b'\prallup } \paper { tagline = ##f } ``` and created with ``` lilypond prallup.ly pdfcrop --hires prallup.pdf prallup.cropped.pdf ``` Werner prallup.cropped.pdf Description: Adobe PDF document
displaying `script-priority`
How can I make LilyPond display the actual values of `script-priority` for a stack of grobs? Let's assume I have ``` { \set strokeFingerOrientations = #'(up) \set fingeringOrientations = #'(up) } ``` and I want to position the fingerings for the upper note above the fingerings of the lower note. Since the actual `script-priority` value of a grob depends on both the vertical position of the grob and its pre-defined `script-priority` value (in `define-grobs.scm` and `script.scm`), it's not fun to manually test possible values for each and every chord... To continue the above example, the default `script-priority` values for `Fingering` grobs (i.e., left-hand fingering) is 100, and for `StrokeFinger` grobs (i.e., right-hand fingering) it is 125, and to get the desired effect I have to say ``` { \override Fingering.script-priority = #118 } ``` Any value between 118 and 125 (inclusive) will do. Or maybe there is a more efficient, less error-prone method to handle such situations? Werner
Re: Tuplet brackets too short?
> Shouldn't both tuplet brackets span every notecolumn within the > purview of the last note's duration? Yes, at least according to Gould. Using `tupletFullLength` helps, but now tuplet brackets are too long: ``` \new Staff { \set Staff.tupletFullLength = ##t \time 2/4 << \tuplet 3/2 { c''4 d'' c'' } \\ \tuplet 3/2 { g'4 a'2 } >> } ``` It looks like a tricky problem, and it seems not to be covered in the tracker, so please file an issue. Werner